| Тема. Структурированные типы данных
Неструктурированные типы данных имеют следующее отличие от структурированных: одно имя - одно значение.
Классифицируются структурированные типы данных по следующим признакам:
- однородность (элементы однотипны);
- упорядоченность (между элементами определен порядок следования);
- тип доступа (прямой или последовательный);
- статическая или динамическая.
1. Массивы
Массив - однородная упорядоченная статическая структура прямого доступа. Массив можно назвать aсовокупностью фиксированного числа одинаковых компонентов, каждая из которых снабжается индексом. Для того чтобы описать массив, необходимо задать тип компонента и тип индекса.
var <идентификатор>: array [тип индекса] of <тип компонент>;
Чаще всего в качестве типа индекса употребляется интервальный тип, может быть и перечисляемый тип, а также любым скалярным порядковым типом.
Пример объявления массива:
var mass: array[1..10] of real; {пример описания одномерного массива}
var a: array[1..15, 1..4] of integer; {пример описания двумерного массива}
Все задачи можно условно представить из нескольких основных блоков:
- блок ввода значений элементов массива (формирование элементов массива случайным образом);
- блок вывода исходного массива;
- блок обработки массива;
- блок вывода результатов обработки.
Наиболее часто используемые массивы при решении задач: одномерные, двумерные.
Пример 15. Задать одномерный целочисленный массив [1..5], а затем вывести его на экран.
|
program pr15;
var a:array[1..5] of integer; {объявление массива}
var i: integer; {объявление переменной, которая определяет индекс элемента}
BEGIN
for i:=1 to 5 do {формирование массива}
begin
write('? ',i,' ');
readln(a[i]);
end;
for i:=1 to 5 do write(a[i],' '); {вывод элементов массива}
readln; {задержка экрана}
END.
|
Пример 16. Составить программу, в которой элементы массива [1..100] формируется случайным образом. Вывести массив на экран.
|
program pr16;
const n=100;
var a:array[1..n] of integer; {объявление массива}
var i: integer; {объявление переменной, которая определяет индекс элемента}
BEGIN
randomize; {настройка генератора случайных чисел}
for i:=1 to n do {формирование массива и вывод на экран}
begin
a[i]:=random(100); {генерация случайных чисел}
write(a[i],' ');
end;
readln; {задержка экрана}
END.
|
Пример 17. Составить программу, в которой элементы двумерного массива [1..n, 1..m] формируется случайным образом. Вывести массив на экран.
|
program pr17;
const n=3;
m=4;
var a:array[1..n,1..m] of integer; {объявление массива}
var i,j: integer; {объявление переменных, которые определяет индекс(ы) элемента}
BEGIN
randomize; {настройка генератора случайных чисел}
for i:=1 to n do {формирование строк массива }
begin
for j:=1 to m do {формирование столбцов массива }
begin
a[i,j]:=-100+random(200); {генерация случайных чисел}
write(a[i,j],' ');{вывод на экран очередной строки массива}
end;
writeln;
end;
readln; {задержка экрана}
END.
|
| |