Одномерные массивы
Описание типа линейного массива выглядит так:
Type <Имя типа>=Array [<Диапазон индексов>] Of <Тип элементов>;
В качестве индексов могут выступать переменные любых порядковых типов. При указании диапазона начальный индекс не должен превышать
конечный.
Описать массив можно и сразу (без предварительного описания типа) в разделе описания переменных:
Var <имя массива> : Array [<Диапазон индексов>] Of <Тип элементов>;
Примеры описания массивов:
Var
A, B : Array [1..20] Of Integer;
N : Array [1..40] Of Real;
Теперь переменные A, B представляют собой массивы из 20 целочисленных чисел; массив N – из 40 вещественных элементов.
Единственным действием, которое возможно произвести с массивом целиком – присваивание. Для данного примера описания впоследствии допустима следующая запись:
B:=A;
Однако присваивать можно только массивы одинаковых типов.
Никаких других операций с массивами целиком произвести невозможно, но с элементами массивов можно работать точно так же, как с простыми переменными соответствующего типа. Обращение к отдельному элементу массива производится при помощи указания имени всего массива и в квадратных скобках – индекса конкретного элемента. Например: N[10] – элемент массива N с индексом 10.
Рассмотрим несколько способов заполнения массивов и вывода их содержимого на экран. В основном мы будем пользоваться числовыми типами компонент, но приведенные примеры будут справедливы и для других типов (если они допускают указанные действия).
Ввод массива:
а)С клавиатуры
For I:=1 To 20 Do
Read (a[i]);
б)Автоматическое формирование массива
For I:=1 To 20 Do
a[i] := random (50)-25;
Здесь был использован генератор случайных чисел random. Рассмотрим его подробнее.
Для формирования значения целого типа используется random с параметром, например random (50), который будет формировать случайным образом число из диапазона от 0 до числа, указанного в скобках минус единица, т. е. до 49. Для формирования не только положительных, но и отрицательных значений из полученного результата достаточно вычесть какое-либо число. Например, random (50) - 25 – будет формировать целое число в диапазоне от -25 до 24.
Для формирования значения вещественного типа используется random без параметра. В этом случае формируется число в диапазоне от 0 до 1. Для увеличения значения числа можно домножить полученное на 10, 100 и т. д. Для получения отрицательных значений используется тот же прием, что и для целых чисел. Пример, random*100-50; .
Вывод массива:
а)В строку
For I:=1 to 20 Do
Write(A[I] :5)
Формат вывода (:5) необходим в данном случае для того, чтобы элементы массива не соединились в одно число и между ними были пробелы;
б)В столбец
For I:=1 to 20 Do
Writeln(A[I])
Указание формата вывода здесь не обязательно. При его указании столбец будет сдвигаться вправо по экрану.
Пример: сформировать массив случайным образом из 20 элементов в диапазоне от -10 до 10 и вывести его в строку.
Program M1;
Var
A : Array [1..20] Of Integer;
I : Integer;
Begin
Randomize;
For I:=1 To 20 Do
a[i] := random (11)-10;
writeln(¢Массив А¢);
For I:=1 to 20 Do
Write(A[I] :5)
End.
Дата добавления: 2015-08-08; просмотров: 764;