Работа с массивами

advertisement
Работа с массивами.
Цель. Закрепить знания и умения работы с массивами, инструкциями повторения,
ветвления, развивать логическое мышление.
План :





Проверка домашнего задания
Разминка
Пример решения задачи
Решение задач
Домашнее задание
Ход урока.
1. Организационный момент.
2. Проверка домашнего задания .
Дан массив натуральных чисел. Найти произведение всех четных элементов данного
массива.
program proizv;
var a: array [1..6] of integer;
max, i: integer;
begin
for i:=1 to 6 do readln(a[i]);
p:=1;
i:=2;
while I<=6 do
begin
p:=p*a[i];
i:=i+1;
end;
writeln(p);
readln;
end.
3. Разминка
Даны : a: array [1..5] of integer, b: array [1..5] of integer, c: array [1..5] of integer. Какое
значение будет иметь c [4] после выполнения следующих операций:
1) c [4]:=10 /10/
2) c[2]:=3;
c[4]:=c[2]*2; /6/
3) a[1]:= -10;
b[2]:=10;
c[4]:=a[1]+b[2]; /0/
4) c[4]:=3;
c[4]:=c[4]+1; /4/
5) a[4]:=100;
b[4]:=0;
c[4]:=a[4]/b[4] / ошибка /
6) for i:=1 to 5 do c[i]:=50; /50/
7) for i:=1 to 5 do c[i]:=50;
for i:=1 to 5 do c[i]:=c[i]-10; /40/
4. Пример решения задачи
Задача. Дан массив натуральных чисел из пяти элементов. Найти наибольший элемент.
Решение.
program maxim;
var a: array [1..5] of integer;
max,i:integer;
begin
for i:=1 to 5 do readln(a[i]);
max:=a[1];
for i:=2 to 5 do if a[i]>max then max:=a[i];
writeln('максимальный элемент: ', max);
readln;
end.
Данная программа сохранена на компьютерах, а так же учитель объясняет на доске или с
использованием медиапроектора. Затем ученики загружают эту программу, прогоняют.
Потом учитель задает следующие задания, при решении которых переделывается данная
программа для экономии времени. Серым фоном выделены измененные строки.
5.Решение задач
Задание 1. Переделать данную программу так, чтобы определить минимальный элемент
таблицы.
Задание 2. Добавить в данную программу инструкции, чтобы определить номер
максимального (минимального) элемента таблицы.
program maxim;
var a: array [1..5] of integer;
max,i:integer;
n: integer;
begin
for i:=1 to 5 do readln(a[i]);
max:=a[1];
n:=1;
for i:=2 to 5 do
if a[i]>max then
begin
max:=a[i];
n:=i;
end;
writeln('максимальный элемент: ', max);
writeln ('номер максимального элемента: ', n );
readln;
end.
Задание 3. Переделать данную программу так, чтобы определить существует ли в данной
таблице отрицательное число (двухзначное число, число 0, и т. д.).
program maxim;
var a: array [1..5] of integer;
max,i:integer;
n: string[3];
begin
for i:=1 to 5 do readln(a[i]);
n:= ' нет ';
for i:= 1 to 5 do if a[i] <0 then n:=' да ' ;
writeln( n);
readln;
end.
Задание 4. Переделать данную программу так, чтобы определить сколько раз встречается
в данной таблице отрицательное число (двухзначное число, число 0, и т. д.).
program maxim;
var a: array [1..5] of integer;
max,i:integer;
n: integer;
begin
for i:=1 to 5 do readln(a[i]);
n:=0 ;
for i:=1 to 5 do if a[i]<0 then n:=n+1;
writeln( n);
readln;
end.
Задание 5. Переделать данную программу так, чтобы найти сумму всех отрицательных
чисел в данной таблице (двухзначных чисел).
program maxim;
var a: array [1..5] of integer;
max,i:integer;
n: integer;
begin
for i:=1 to 5 do readln(a[i]);
n:=0;
for i:=1 to 5 do if a[i]<0 then n:=n+ a[i];
writeln( n);
readln;
end.
6. Домашнее задание:
Одну любую из этих программ переписать с использованием инструкции « while » или «
repeat - until ».
Download