Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tp_8_6.rtf
Скачиваний:
1
Добавлен:
13.07.2019
Размер:
134.63 Кб
Скачать

Одномерные массивы

Допустим, у нас имеется сложный объект, у котрого много координат или по экрану должны двигаться много объектов, например, у вас пулемет, который стреляет очередями, да и врагов немало. Конечно, можно завести под каждый объект переменные, как мы это делали раньше. Но если объектов много, то и переменных будет очень много, как в них не запутаться? Кроме того, программа будет длинной, если по очереди рисовать все объекты. Эти действия похожи и хотелось бы использовать цикл. Но как это сделать, если координаты каждого объекта – различные перменные. Выход есть – массивы.

Массивы – это переменные Паскаля, которые используются для хранения таблиц. Например таблицу

1

2

3

4

5

Число

можно хранить в массиве, который описывается следующим образом

var a:array[1..5] of integer;

Таблица пока пуста, но в любую ячейку можно записать некоторое целое число. Каждая ячейка массива имеет свой номер - индекс. Например, номера ячеек массива a 1, 2, 3, 4, 5. Число, которое содержится в ячейке с номером i часто будем также называть элементом с номером i. В теле программы содержимое любой ячейки массива можно использовать, как обычную переменную, при этом нужно указывать имя массива и далее в квадратных скобках индекс ячейки в массиве. Например после выполнения операторов

a[2]:=11;

a[3]:=9;

a[4]:=a[2]+a[3];

В таблице будут записаны следующие числа

1

2

3

4

5

Число

11

9

20

Рассмотрим еще раз, как описывается массив

var a:array[1..20] of integer;

Ключевые слова в этой конструкции окрашены в синий цвет. Имя у массива может быть любое и записывается перед двоеточием, так же, как при описании любой переменной. Далее идет ключевое слово array – массив. Затем в квадратных скобках указываются два числа, между которыми лежат возможные значения индексов ячеек (в нашем случае ячейки имеют номера от 1 до 20). После слова of указывается тип данных, которые могут храниться в массиве. Запомните: во всех ячейках массива хрантяся однотипные переменные. Если массив of integer, то в его ячейках можно хранить целые числа. Большинство операций с массивом удобно проводить в цикле.

Пример 1. Прочитать с клавиатуры 10 целых чисел. Вывести их на экран в обратном порядке.

Решение. Сначала в цикле прочитаем все числа и запишем их в массив, а потом выведем элементы массива в обратном порядке.

Var i:integer;

A:array[1..10] of integer;

Begin

For i:=1 to 10 do

Begin

Write(‘input a[‘,i,’] ’);

Readln(a[i]);

End;

i:=10;

while i>0 do

begin

writeln(a[i]);

i:=i-1;

end;

End.

Пример 2. Заполнить массив в соответствии с закономерностью 1, 2, 1, 2, 1….

Решение. Как видно из представленной закономерности, в ячейки с нечетными номерами нужно записать число 1, а в ячейки с четными – 2. Значит нужен цикл с условием.

var

a:array[1..20] of integer;

i:integer;

begin

for i:=1 to 20 do

if i mod 2=1 then a[i]:=1

else a[i]:=2;

writeln;

for i:=1 to 20 do write(a[i]);

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]