Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Дисциплины:
2017-11-17 | 740 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Структурированные данные представляют собой элементы, которые в свою очередь являются данными простых или структурированных типов. В языке Pascal различают следующие структурированные типы данных: массивы, строки, записи, множества, файлы.
Массив в Pascal представляет собой конечный набор однотипных объектов (чисел, символов, строк и т. п.), имеющих общее имя и хранящихся в последовательно размещенных ячейках памяти. Использование массивов позволяет хранить элементы векторов и матриц в памяти компьютера с теми же обозначениями, что и в математических записях; организовать циклические вычисления с различными исходными данными; уменьшить объем программ, сделать их более наглядными и надежными.
Размер массива − это количество элементов, содержащихся в нем. Каждый элемент массива занимает определенное местоположение, определяемое порядковым номером, который называется индексом. Количество индексов, необходимое для точного определения положения элемента, называется размерностью массива. В языке Pascal различают одно-, двух- и многомерные массивы. Наиболее широко используются одномерные массивы, соответствующие математическому представлению векторов, и двумерные, соответствующие прямоугольным таблицам − матрицам.
Описание массивов
При описании массива указывают его имя, размерность и диапазон изменения каждого индекса, а также тип входящих в массив элементов.
Формат описания массива:
< имя массива >: array [ диапазон индексов ] of < тип элементов >
Можно декларировать массив-константу, тип данных массив или переменную-массив, например:
Const mas_const = (2.3, 4, 6.4, −2, −3.7);
{массив из пяти вещественных элементов-констант}
|
Var
D: array [1..10] of integer; {одномерный массив-переменная из десяти целочисленных элементов}
B: array [0..50,0..20] of char;{двумерный массив-переменная, размером 51 ´ 21, из символьных элементов}
C: array [-3..4] of Boolean; {одномерный массив-переменная из восьми элементов логического типа}
Type norm_mas = array[1..10,1..10] of integer;
{описание типа данных пользователя – массив 10 ´ 10 из целых чисел}
Var D1, D2: norm_mas; {двумерные переменные-массивы типа norm_mas}
Над массивами целиком определена операция присваивания, например, оператор вида
D1:=D2
означает, что всем элементам массива D1 присвоены значения элементов массива D2.
Могут быть также использованы логические выражения вида
D1=D2
и
D1<>D2.
Все остальные операции с массивами осуществляются поэлементно.
Формат обращения в программе к конкретному элементу массива:
< имя массива > [< номер элемента >]
Например,
D[1] − обращение к первому элементу одномерного массива D,
D[i] − обращение к i -му элементу одномерного массива D;
D[2*i+1] − обращение к элементу одномерного массива D, номер которого является значением выражения 2*i+1.
W[i, j] − обращение к элементу, расположенному на пересечении i -й строки и j -го столбца в двумерном массиве W,
W[1, 5] − обращение к элементу, являющемуся пятым в первой строке двумерного массива W,
W[3, j] − обращение к элементу третьей строки и j -го столбца.
Ввод элементов массива
Для работы с массивами широко используют циклы и вложенные циклы.
Ввод элементов одномерного массива D размером n можно кодировать следующим образом:
for i:=1 to n do read(D[i]);
Выполняется указанный фрагмент кода в случае ввода значений-чисел следующим образом:
1) параметру цикла (целочисленной переменной i) присваивается начальное значение (единица);
2) выполнение программы приостанавливается в ожидании ввода пользователем значений элементов массива;
3) после ввода пользователем строки из n чисел, разделенных пробелом, и нажатия клавиши Enter выполнение программы возобновляется, и введенные числа заносятся в качестве значений в массив D.
|
Вариантом кода, реализующего ввод значений элементов массива, является конструкция
for i:=1 to n do readln(D[i]);
Она выполняется так:
1) параметру цикла (целочисленной переменной i) присваивается начальное значение (единица);
2) выполнение программы приостанавливается в ожидании ввода пользователем первого элемента массива (обращение к процедуре ввода readln(D[i]));
3) после ввода пользователем значения первого элемента массива, который может быть целым или вещественным числом, символом или строкой (в зависимости от того, как описан массив D в разделе описаний программы), необходимо нажать клавишу Enter, что возобновит выполнение программы – введенное пользователем значение станет значением первого элемента массива D;
4) параметру цикла iприсваивается следующее значение (два). Далее повторяются шаги 2−4 алгоритма.
Когда значение параметра цикла достигнет конечного (станет равным n), и пользователь введет значение последнего элемента массива и нажмет Enter, цикл for..to..do завершит свою работу и управление перейдет следующему оператору.
Ввод элементов массива − многошаговая процедура. Поэтому следует позаботиться о том, чтобы в процессе выполнения программы были введены корректные данные. Один из способов повышения надежности ввода − вывод на экран подсказки в виде строки текста, дающего представление о количестве и типе элементов массива, например:
n:=7; {количество элементов массива}
writeln('Введите ',n,' целочисленных элементов
массива D ');
for i:=1 to n do
Begin
write('D[',i,']=');
readln(D[i])
end;
Первый раз приостановка выполнения программы произойдет тогда, когда на экране монитора отобразится подсказка
D[1]=
Далее необходимо набрать значение первого элемента массива и нажать клавишу Enter. Подобная подсказка будет появляться каждый раз перед тем, как программа требует ввода очередных данных.
В языке Pascal, реализованном в Free Pascal, присвоение элементам массива заданных списком значений допустимо также и при описании массива. Например,
Var
D: array [1..10] of integer =
(3,5,8,12,7,4,6,34,3,43);
Для двумерного массива W, состоящего из n × m элементов, простейший фрагмент кода, реализующего ввод элементов массива, имеет вид:
for i:=1 to n do
for j:=1 to m do read(W[i,j]);
При выполнении этого кода сначала требуется ввести с клавиатуры значения элементов первой строки, затем второй и т. д. Завершается ввод нажатием клавиши Enter.
|
Вывод элементов массива
Вывод одномерного массива тоже производится поэлементно с помощью, например, цикла for..to..do:
for i:=1 to n do write(D[i],’ ’);
или
for i:=1 to n do writeln('D[',i,']=',D[i]);
Посредством первого оператора цикла значения элементов массива D, разделенные пробелами, выводятся в строку.
Например,
3 5 8 12 7 4 6 34 3 43
Второй оператор цикла выводит значения элементов массива D в виде 10 строк:
D[1]=3
D[2]=5
D[3]=8
D[4]=12
D[5]=7
D[6]=4
D[7]=6
D[8]=34
D[9]=3
D[10]=43
Вывести двумерный массив можно в строку и в столбец. Но наиболее информативным является представление в форме прямоугольной таблицы. Код, реализующий такой способ вывода, имеет вид:
for i:=1 to n do
Begin
for j:=1 to m do write(W[i,j]);
{вывод элементов i -й строки через пробел}
writeln {переход на новую строку}
end;
|
|
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!