Подготовка к ОГЭ. Задание 15.2


В заданиях, где встречается фраза "...Программа получает на вход количество чисел в последовательности..." 
для ввода самих чисел и проверки на соответствие условию удобно использовать оператор for ... to ... do begin ...end;

В заданиях, где встречается фраза "...последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность)..." 
для ввода самих чисел и проверки на соответствие условию удобно использовать оператор while ... do begin ...end;
В этом случае число вводят с клавиатуры два раза до цикла, потом в цикле идет проверка условий и снова ввод следующего числа
Задача 1
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – максимальное число, кратное 5.
Пример работы программы:
Входные данные
Выходные данные
3
10
25
12
25
Пояснение: в данной программе будем использовать переменные - переменная цикла, n - количество чисел в последовательности, a - вводимое число, max - для хранения найденного числа
Мы ищем максимальное число, поэтому начальное значение max:=0
Условия отбора: кратность 5  (a mod 5=0) и наибольшее (a>max)

Текст программы
var i, n, a, max: integer; /объявление переменных
begin
max:=0; /начальное значение max
readln(n); /ввод количества чисел в последовательности
for i:=1 to n do /цикл 
begin
readln(a); /ввод числа
if (a mod 5=0) and (a>max) then max:=a; /проверка условия и нахождение max
end;
writeln(max); /вывод найденного максимального кратного 5
end.

Задача 2
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число – сумму чисел, кратных 6.
Пример работы программы:
Входные данные
Выходные данные
3
12
25
6
18
Пояснение: в данной программе будем использовать переменные n - количество чисел в последовательности, s - для хранения найденной суммы, - переменная цикла, g - вводимое число. 
Мы ищем сумму, поэтому начальное значение s:=0
Условие отбора кратность 6  (g mod 6=0)

Текст программы
var n, s, k, g: integer; /объявление переменных
begin
s:=0; /начальное значение суммы чисел
readln(n); /ввод количества чисел в последовательности
for k:=1 to n do /цикл
begin
readln(g); /ввод числа
if (g mod 6=0) then s:=s+g/проверка условия и нахождение суммы
end;
writeln(s); /вывод суммы чисел кратных 6
end.

Задача 3
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – количество чисел, кратных 4.
Пример работы программы:
Входные данные
Выходные данные
3
16
26
24
2
Пояснение: в данной программе будем использовать переменные n - количество чисел в последовательности, s - для хранения количества чисел кратных 4, - переменная цикла, g - вводимое число. 
Мы ищем количество, поэтому начальное значение s:=0
Условие отбора кратность 4  (g mod 4=0)

Текст программы
var n, s, k, g: integer; /объявление переменных
begin
s:=0; /начальное значение количества чисел кратных 4
readln(n); /ввод количества чисел в последовательности
for k:=1 to n do /цикл
begin
readln(g); /ввод числа
if (g mod 4=0) then s:=s+1/проверка условия и нахождение количества
end;
writeln(s); /вывод количества чисел кратных 4
end.

Задача 4
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, оканчивающихся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – количество чисел, оканчивающихся на 3.
Пример работы программы:
Входные данные
Выходные данные
3
13
23
24
2
Пояснение: в данной программе будем использовать переменные n - количество чисел в последовательности, s - для хранения количества чисел оканчивающихся на 3, - переменная цикла, a - вводимое число. 
Мы ищем количество, поэтому начальное значение s:=0
Условие число оканчивается на 3  (a mod 10=3)

Текст программы
var n, s, k, a: integer; /объявление переменных
begin
s:=0; /начальное значение количества чисел оканчивающихся на 3
readln(n); /ввод количества чисел в последовательности
for k:=1 to n do /цикл
begin
readln(a); /ввод числа
if (a mod 10=3) then s:=s+1/проверка условия и нахождение количества
end;
writeln(s); /вывод количества чисел оканчивающихся на 3
end.

Задача 5
Напишите программу, которая в последовательности натуральных чисел определяет минимальное чётное число, оканчивающиеся на 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется чётное число оканчивающиеся на 8. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — минимальное чётное число, оканчивающиеся на 8.
Пример работы программы:

Входные данные
Выходные данные
4
3
20
6
8
8
Пояснение: в данной программе будем использовать переменные n - количество чисел в последовательности, i - переменная цикла, min - для хранения минимального четного числа оканчивающихся на 8,  a - вводимое число. 
Мы ищем минимальное, поэтому начальное значение min:=30001 (самое большое число)
Условия: четность (a mod 2=0), окончание на 8  (a mod 10=8), минимальное (a<min)

Текст программы
var n,i,a,min: integer; /объявление переменных
begin
readln(n);/ввод количества чисел в последовательности
min:=30001; /начальное значение минимального
for i:=1 to n do /цикл
begin
readln(a); /ввод числа
if (a mod 2=0) adn (a mod 10=8) and (a<min) then min:=a; /проверка условий
end;
writeln(min) /вывод минимального четного, оканчивающегося на 8
end.

Задача 6
Напишите программу, которая в последовательности натуральных чисел определяет определяет сумму всех чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 4.
Пример работы программы:
Входные данные
Выходные данные
14
24
144
22
12
0
168
Пояснение: в данной программе будем использовать переменные - вводимое числоs - для хранения суммы чисел кратных 6 и оканчивающихся на 4.
Мы ищем сумму, поэтому начальное значение s:=0
Условия: кратность 6 (a mod 6=0), число оканчивается на 4 (a mod 10=4)

Текст программы
var a, s: integer; /объявление переменных
begin
s:=0; /начальное значение суммы
readln(a); /ввод числа
while a<>0 do begin /оператор цикла пока а не равно 0
if (a mod 6=0) and (a mod 10=4) then s:=s+a/проверка условий
readln(a); /ввод числа
end;
writeln(s); /вывод суммы чисел кратных 6 и оканчивающихся на 4
end.

Задача 7
Напишите программу, которая в последовательности целых чисел определяет количество нечётных чисел, кратных 3. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести два числа: длину последовательности (завершающий 0 не учитывается) и количество нечётных чисел, кратных 3.
Пример работы программы:
Входные данные
Выходные данные
4
6
15
180
0
4
1
Пояснение: в данной программе будем использовать переменные - вводимое число, k - для хранения количества нечетных чисел кратных 3, n длина последовательности (количество чисел введенных с клавиатуры не считая последний 0).
Мы ищем количество, поэтому начальное значение k:=0 и n:=0.
Условия: нечетность (a mod 2 <>0), кратность 3 (a mod 3=0)

Текст программы
var k, a, n: integer; /объявление переменных
begin
n:=0; /начальное значение счетчика чисел в последовательности
k:=0; /начальное значение количества чисел удовлетворяющих условию отбора
readln(a); /ввод числа
while a<>0 do /оператор цикла пока а не равно 0
begin
n:=n+1; /подсчет количества чисел в последовательности
if (a mod 2<>0) and (a mod 3=0) then k:=k+1; /проверка условия
readln(a); /ввод числа
end;
writeln(n); /вывод количества чисел в последовательности
writeln(k); /вывод количества нечетных чисел кратных 3
end.

Задача 8
Напишите программу, которая в последовательности натуральных чисел определяет количество всех чётных чисел, кратных 5. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество всех чётных чисел, кратных 5.
Пример работы программы:
Входные данные
Выходные данные
10
14
50
25
17
0
2
Пояснение: в данной программе будем использовать переменные - вводимое числоs - для хранения количества четных чисел кратных 5.
Мы ищем количество, поэтому начальное значение s:=0
Условия: четное число, кратное 5 это число оканчивается на 0 (a mod 10=0)

Текст программы

var a, s: integer; /объявление переменных
begin 
s:=0; /начальное значение количества
readln(a); /ввод числа
while a<>0 do /оператор цикла пока а не равно 0
begin
if a mod 10=0 then s:=s+1/проверка условия
readln(a); /ввод числа
end;
writeln(s) /вывод количества четных чисел кратных 5
end.

Задача 9
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 7 и оканчивающихся на 2. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 2.
Пример работы программы:
Входные данные
Выходные данные
112
24
42
49
22
0
154
Текст программы
var a, s: integer;
begin
s:=0;
readln(a);
while a<>0 do
begin
if (a mod 7=0) and (a mod 10=2) then s:=s+a;
readln(a);
end;
writeln(s);
end.