Similar presentations:
Алгоритмы обработки массивов
1.
Программирование(Паскаль)
§ 22. Алгоритмы
обработки массивов
1
2.
Программирование (Паскаль), 8 класс2
Сумма элементов массива
Задача. Найти сумму элементов массива.
const N = 10;
var A: array[1..N] of integer;
?
Какие переменные
нужны?
sum:= 0;
for i:=1 to N do
sum:= sum + A[i];
writeln( sum );
К.Ю. Поляков, Е.А. Ерёмин, 2018
5
2
8
3
i
sum
0
1
2
3
5
7
15
4
5
18
19
1
http://kpolyakov.spb.ru
3.
Программирование (Паскаль), 8 класс3
Сумма не всех элементов массива
Задача. Найти сумму чётных элементов массива.
?
Что делаем с нечётными?
sum:= 0;
for i:=1 to N do
if
A[i]
mod
= 0 then
sum:=
sum
+ 2
A[i];
sum:=sum
sum);
+ A[i];
writeln(
writeln( sum );
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
4.
Программирование (Паскаль), 8 класс4
Задачи
«A»: Напишите программу, которая заполняет массив из 10
элементов случайными числами на отрезке [–5; 5] и
находит сумму ненулевых элементов.
«B»: Напишите программу, которая заполняет массив из 10
элементов случайными числами на отрезке [–2; 2] и
находит произведение ненулевых элементов.
«C»: Напишите программу, которая заполняет массив из 20
элементов случайными числами на отрезке
[100; 1000] и находит отдельно сумму элементов в первой
и во второй половинах массива.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
5.
Программирование (Паскаль), 8 класс5
Подсчёт элементов по условию
Задача. Найти количество чётных элементов массива.
?
Какие переменные нужны?
переменнаяvar count: integer;
счётчик
count:= 0;
for i:=1 to N do
if A[i] mod 2 = 0 then
count:= count + 1;
Что тут делаем?
?
writeln( count );
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
6.
Программирование (Паскаль), 8 класс6
Среднее арифметическое
Задача. Найти среднее арифметическое элементов массива,
которые больше 180 (рост в см).
sum:= 0;
for i:=1 to N do
if A[i]>180 then
sum:= sum + A[i];
writeln( sum/N );
К.Ю. Поляков, Е.А. Ерёмин, 2018
?
Что плохо?
http://kpolyakov.spb.ru
7.
Программирование (Паскаль), 8 класс7
Среднее арифметическое
Задача. Найти среднее арифметическое элементов массива,
которые больше 180 (рост в см).
?
Какие переменные нужны?
sum:= 0;
count:= 0;
for i:=1 to N do
if A[i]>180 then begin
count:= count + 1;
sum:= sum + A[i]; ? Что тут делаем?
end;
writeln( sum/count )
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
8.
Программирование (Паскаль), 8 класс8
Задачи
«A»: Напишите программу, которая заполняет массив из 20
элементов случайными числами на отрезке [0; 200] и
считает число элементов, которые делятся на 10.
«B»: Напишите программу, которая заполняет массив из 20
элементов случайными числами на отрезке [0; 200] и
считает число двузначных чисел в массиве.
«C»: Напишите программу, которая заполняет массив из 20
элементов случайными числами на отрезке [10; 100] и
считает число пар соседних элементов, сумма которых
делится на 3.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru