Массивы в Паскале. Программа поиска четных чисел.

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

Массив в Паскале (как и, почти, во всем программировании) — это набор переменных(или констант) одного типа. Массиву присваивается имя, как и переменной или константе. Набор переменных (констант) в массиве является конечным, то есть Вы должны указать, сколько переменных включает в себя массив, если он состоит из переменных, или указать все константы в него входящие, если он состоит из констант. Для доступа к конкретной переменной (констант) в массиве необходимо написать имя массива и в квадратных скобках указать порядковый номер переменной.

Пример объявления массива целых чисел в разделе констант:

const
int_num = (1,5,8,2,44,7,3,66,4,7,34,7896,23463456,23,1,85456,44354,9);


Пример объявления массива целых чисел в разделе переменных:

var

int_number: array[1..1000] of integer;


Чтобы обратится (записать значение) к массиву, необходимо указать, к какому конкретно элементу массива Вы хотите обратится:

int_number[587]:= 24545;


Но если Вы хотите скопировать все значения массива number_1 в массив number_0, то можно записать так:

number_0:= number_1; {number_0[1]:=number_1[1], number_0[2]:=number_1[2], ...}


Естественно для такой операции элементы массивы в Паскале должны иметь одинаковый тип.

Чтобы обработать большое количество элементов массива, для удобства используют циклы.

Например, цикл «for»:

for i:= 1 to 1000 do
begin
int_number[i]:=random(9); {Записываем случайное число}
end;


Например, цикл «while»:

while i<=1000 do
begin
i:=i+1; {Увеличиваем счетчик на единицу}
int_nember[i]:=random(9); {Записываем случайное число}
end;


Массивы могут быть многомерными.
Пример двумерного массива (матрица):

var
mat_num: array[1..100, 1..100] of real;


Чтобы присвоить значения такому массиву необходимо уже два цикла, один будет вложен в другой:

for i1:=1 to 100 do
begin
for i2:=1 to 100 do
begin
mat_num[i1,i2]:=random(87)+sin(i1)*pi;
end;
end;


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

PROGRAM Chetnye_chisla; {Имя программы}
uses Crt; {Подключаем модуль Crt, необходимо для функции clrscr}
var {Раздел объявления переменных}
i,j: integer; {i- наши числа j- индекс массива}
ostatok: real; {Для проверки наличия остатка от деления}
ch_chisla: array[1..50] of integer; {Массив, в котором будут хранится четные числа}
BEGIN {Начало выполнения программы}
clrscr; {Для начала очищаем экран}
for i:=1 to 100 do {Начало цикла}
begin
ostatok:= i mod 2; {Определяем четность, делим число на 2}
if ostatok=0 then {Если нет остатка от деления, значить число четное}
begin
j:=j+1; {Увеличиваем индекс цикла на единицу}
ch_chisla[j]:=i; {Записываем четное число в массив}
write(i,' '); {Выводим на экран четное число и пробел}
end;
end;
readln; {Нужно чтобы увидеть результат - компьютер будет ждать нажатия "Enter"}
END. {Конец программы}

1 комментарий

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.