10 класс — 2 часа. Урок 3-4.

Модель в деятельности человека. Основные этапы моделирования и разработки программ. Основные типы данных, структура программы, встроенные математические функции и алгоритмические конструкции языка программирования Pascal.

Массив в Паскале — это набор элементов одного типа, к которым можно обратиться по индексу. Элементы массива в Паскале расположены друг за другом в памяти компьютера. Рассмотрим сначала одномерные массивы в Паскале.
Одномерные массивы:
Пример:
var a: array [1..5] of Integer;
здесь задан массив с именем Massiv, состоящий из пяти элементов с индексами от 1-го до 5-ти, тип этих элементов — Integer.

Теперь, в теле программы мы можем присвоить значения элементам, например, так:
а[1] := 1;
а[2] := 2;
а[3] := 3;
а[4] := 4;
а[5] := 5;
А если бы их было 100… гораздо эффективнее работать с массивами в цикле.
for i := 1 to 5 do
begin
а[i] := i;
end;
Точно также, в цикле, можем заполнить случайными значениями, вычисляемыми или запросить вводи с клавиатуры.

Теперь о выводе на экран.
for inn := 1 to 5 do
begin
Writeln(‘а[‘ i ‘] = ‘ a[i]);
end;
Двумерные массивы:
Двумерные массивы на языке программирования Pascal описываются так:

var a2 [1..3, 1..5] of Integer;
Для обращения к элементу двумерного массива необходимо указать имя массива и в квадратных скобках через запятую – значения двух индексов (первый указывает номер строки, а второй – номер столбца), на пересечение которых стоит элемент (например, a[i,2]:=6). В языке программирования Pascal допустимо разделение индексов с помощью квадратных скобок (например, a[i][5]:= 7).

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

var
matrix: array[1..3,1..5] of integer;
i, j: integer;

begin
writeln (‘Введите 15 чисел: ‘);

for i := 1 to 3 do
for j := 1 to 5 do
read (matrix[i,j]);

for i := 1 to 3 do begin
for j := 1 to 5 do
write (matrix[i,j], ‘ ‘);
writeln
end;

readln
end.

Более универсальный вариант:
const
M = 3;
N = 5;

var
matrix: array[1..M,1..N] of integer;
i, j: integer;

begin
writeln (‘Введите 15 чисел: ‘);

for i := 1 to M do
for j := 1 to N do
read (matrix[i,j]);

for i := 1 to M do begin
for j := 1 to N do
write (matrix[i,j]:5);
writeln
end;

readln
end.

Задачи для решения в приложенном файле.

Домашнее задание (73-77):
1) В программе описан одномерный целочисленный массив с индексами от 0 до 12. Ниже представлен фрагмент программы, обрабатывающей данный массив:
s := 0;
n := 12;
for i:=0 to n do begin
if A[n–i]–A[i] = A[i] then
s:=s+3*A[i];
end;
В начале выполнения этого фрагмента в массиве находились числа 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24 т.е. A[0] = 0, A[1] = 2 и т. д. Чему будет равно значение переменной s после выполнения данной программы?
1) 12 2) 18 3) 24 4) 156
2) В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:
n := 10;
for i:=0 to n do begin
K := A[i];
A[K] := 0;
end;
В начале выполнения этого фрагмента в массиве находились числа 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, т. е. A[0] = 10, A[1] = 9 и т. д. Сколько элементов массива после выполнения программы будут иметь ненулевые значения?
1) 5 2) 2 3) 3 4) 4
3) В программе описан одномерный целочисленный массив A, в представленном фрагменте программы обрабатываются элементы массива с индексами от 1 до 21.
s:=0;
n:=21;
for i:= 2 to n do begin
s:=s+2*(A[i]-A[i-1]);
end;
В начале выполнения этого фрагмента в элементе массива с индексом i находилось число i (i = 1, …, 21), т. е. A[1] = 1, A[2] = 2 и т. д. Чему будет равно значение переменной s после выполнения данной программы?
1) 20 2) 21 3) 40 4) 42
4) В программе описан одномерный целочисленный массив A, в представленном фрагменте программы обрабатываются элементы массива с индексами от 1 до 24.
n:=24;
A[1]:=4;
for i:= 2 to n do begin
A[i] := 4*A[i–1] mod 10;
end;
Чему будет равен элемент массива A[24] после выполнения данной программы?
1) 2 2) 4 3) 6 4) 8
5) В программе описан одномерный целочисленный массив A, в представленном фрагменте программы обрабатываются элементы массива с индексами от 1 до 27.
n:=27;
A[1]:=3;
for i:= 2 to n do begin
A[i] := 3*A[i–1] mod 10;
end;
Чему будет равен элемент массива A[27] после выполнения данной программы?
1) 1 2) 3 3) 7 4) 9

 

 

 

Leave a Comment

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.