Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Создание пользовательского типа данных

В следующем примере массив описывается в новом разделе — разделе описания типов пользователя (type). Вы можете по-прежнему пользоваться описанием массива в разделе описания переменных (как в примере 8.1).

Вариант описания массива, приведенный в этом примере, в большей степени соответствует грамотному стилю оформления программы.

Пример 8.2.
Ввод с клавиатуры одномерного массива целых чисел и вывод его элементов на экран с противоположным знаком

Program Massiv2;
const
N=10;
type { Раздел описания типов переменных. Эти типы определяет сам пользователь, то есть мы определяем тип одномерного массива из n целых чисел }
Mas=array [1..N] of integer; { 1...N - тип индекса; для индекса выбран интервальный тип, то есть интервал целых чисел от 1 до N, где N определено в разделе const }
var
Line:Mas; { Line - одномерный массив, его тип определен нами как Mas }
i:integer; { Переменная, хранящая индекс элемента массива, к которому идет обращение ,}
begin
{IV. Ввод массива с клавиатуры }
for i:=l to N do { Обращение к элементам массива происходит в цикле, по очереди }
begin { Начало цикла ввода элементов массива }
write ( 'Введите элемент с индексом ' ,i ,':');
readln(Line[i]) { Обращаемся к i-му элементу массива (Line[l],Line[2] и т. д.) }
end; { Конец цикла ввода элементов массива}
{ Вывод элементов происходит также в цикле;}
for i:=l to N do { Перебираем все N элементов массива }
write(-Line[i]:5); { 10 элементов выводятся в строку. Выводим все элементы массива с противоположным знаком }
writeln; { После вывода массива элементов - переход на новую строку }
readln
end.

 

Заметьте, в задании не требовалось, чтобы знак всех элементов массива менялся на противоположный. Требовалось лишь вывести их в таком виде на экран. Если бы требовалось изменить сам массив, обязательно нужно было бы сделать примерно следующее:

For i:=1 to N do
Line[i]:=-Line[i];

Очень важно понимать: то, что мы видим на экране, не всегда есть то, что действительно хранится в памяти. Программист может играть здесь роль фокусника. Важно лишь, чтобы задание было точно выполнено.

То есть если в задании требуется изменить каким-либо образом данные и вывести результат на экран, а программист просто вывел данные на экран в нужном виде, то такое задание не может считаться выполненным.

Например, в задании требуется поставить все элементы массива в обратном порядке и вывести результат на экран. Программист решил, что проще всего будет просто вывести на экран все элементы, начиная с последнего. Такое решение не засчитывается!

 

Задание 8.3.
Выполнить следующие действия:

1) создать одномерный массив А из 10 целых чисел (с помощью датчика случайных чисел);
2) вывести массив на экран в виде строки чисел;
3) подсчитать сумму элементов массива (блок-схема алгоритма показана на рис. 8.3);
4) вывести сумму на экран.

 

Рис. 8.3. Блок-схема алгоритма вычисления суммы элементов одномерного массива

 

Задание 8.4.
Выполнить следующие действия:

1) создать одномерный массив А из 10 целых чисел;
2) вывести массив на экран в виде строки чисел;
3) поменять местами элементы массива (блок-схема алгоритма показана на рис. 8.4) следующим образом: 1-й элемент — со 2-м, 3-й — с 4-м, 5-й — с 6-м, 7-й — с 8-м, 9-й — с 10-м; (надо вспомнить, как идет обмен значениями двух переменных (рис. 2.4));
4) вывести измененный массив на экран.

Рис. 8.4. Блок-схема алгоритма обмена соседних элементов одномерного массива




 

Комментарии:

2013-10-10 ответил Кака

Как нах делатҗ? Решение где блятҗ



2013-11-17 ответил Александр

"{IV. Ввод массива с клавиатуры }" А как его вводить?



2013-12-29 ответил Володя

Спасибо за полезную статью



2017-05-15 ответил Саша

Спасибо большое!



2018-07-13 ответил



2018-07-13 ответил




Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru