101.65K
Категория: ПрограммированиеПрограммирование

Алгоритмы обработки массивов

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
English     Русский Правила