Слайд 2
На что обратить внимание:
Числа не надо хранить в
программе, к тому же мы не знаем, сколько чисел
будет введено, поэтому отказываемся от массивов (в классическом Паскале нет динамических массивов - в описании необходимо указать число элементов массива).
Вводим количество чисел в последовательность и организуем цикл (возможны for и while). Если количество чисел не задано, а есть признак окончания ввода, используем repeat (сначала вводим число, затем его анализируем).
Необходимо знать операции mod – остаток от деления
(if a mod 10 = 8) и div – деление нацело (x := x div 10).
Знать, как считается количество (b:= b +1) и сумма (s:= s +a).
Уметь использовать сложные условия
(if (a mod 10 =2) and (a mod 6 =0))
или вложенные условные операторы.
Уметь сравнивать и находить в последовательности наибольшее или наименьшее число.
Избегаем подсказок и пояснений в операторах вывода.
Слайд 3
Задача 20.2 из демоверсии 2018 (2017)
Напишите программу, которая
в последовательности натуральных чисел определяет минимальное число, оканчивающееся на
4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – минимальное число, оканчивающееся на 4.
Пример работы программы:
Слайд 4
program pr2;
var n,i,a,min: integer;
Begin
readln(n);
min := 30001;
for i :=
1 to n do begin readln(a);
if (a mod 10 = 4) and (a < min) then
min := a;
end;
writeln (min)
end.
Вводим с клавиатуры количество чисел последовательности (read (n)), заносим в переменную min самое максимальное возможное значение + 1. Затем n раз повторяем одни и те же действия (цикл): вводим число, проверяем, оканчивается ли это число на 4 (a mod 10 = 4) и, одновременно, меньше ли введённое число переменной min. Если да, меняем значение min. Выводим результат. Обязательно тестируем программу.
Минимальное число,
оканчивающееся на 4.
Слайд 5
Напишите программу, которая в последовательности натуральных чисел определяет
количество чисел, оканчивающихся на 8. Программа получает на вход количество
чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 8.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чисел, оканчивающихся на 8.
Пример работы программы:
Слайд 6
program pr1;
var n,a,b,i: integer;
begin
read (n);
b :=0;
for i:=1 to
n do begin
read (a);
if a mod 10 =8 then
b:=
b +1;
end;
writeln (b);
end.
Вводим с клавиатуры количество чисел последовательности (read (n)), затем n раз повторяем одни и те же действия (цикл): вводим число, проверяем, оканчивается ли это число на 8 (a mod 10 = 8) и, если да, то увеличиваем счетчик на 1 (b:= b + 1). Выводим результат. Обязательно тестируем программу.
Количество чисел, оканчивающихся на 8.
Слайд 7
Напишите программу, которая в последовательности натуральных чисел определяет
максимальное число, оканчивающееся на 9. Программа получает на вход
количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 9.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: максимальное число, оканчивающееся на 9.
Пример работы программы:
Слайд 8
program pr2;
var n,a,max,i: integer;
begin
read (n);
max :=-30001;
for i:=1 to
n do begin
read (a);
if (a mod 10 =9) and
(a > max) then
max:= a;
end;
writeln (max);
end.
Вводим с клавиатуры количество чисел последовательности (read (n)), заносим в переменную max самое минимальное возможное значение. Затем n раз повторяем одни и те же действия (цикл): вводим число, проверяем, оканчивается ли это число на 9 (a mod 10 = 9) и, одновременно, больше ли введённое число переменной max. Если да, меняем значение max. Выводим результат. Обязательно тестируем программу.
Максимальное число,
оканчивающееся на 9.
Слайд 9
Напишите программу, которая в последовательности натуральных чисел определяет
сумму чисел, оканчивающихся на 8. Программа получает на вход
количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 8.
Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.
Программа должна вывести одно число: сумму чисел, оканчивающихся на 8.
Пример работы программы:
Слайд 10
program pr3;
var n,a,s,i: integer;
begin
read (n);
s := 0;
for i:=1
to n do begin
read (a);
if a mod 10 =8
then
s:= s +a;
end;
writeln (s);
end.
Вводим с клавиатуры количество чисел последовательности (read (n)). В переменную s заносим 0 (сумма чисел). Затем n раз повторяем одни и те же действия (цикл): вводим число, проверяем, оканчивается ли это число на 8 (a mod 10 =8) и, если да, то прибавляем число к переменной s (s:= s + a). Выводим результат (s). Обязательно тестируем программу.
Сумма чисел,
оканчивающихся на 8.
Слайд 11
Напишите программу, которая в последовательности натуральных чисел определяет
количество чисел, кратных 6 и оканчивающихся на 2. Программа
получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чисел, кратных 6 и оканчивающихся на 2.
Пример работы программы:
Слайд 12
program pr4;
var n,a,b,i: integer;
begin
read (n);
b := 0;
for i:=1
to n do begin
read (a);
if (a mod 10 =
2) and (a mod 6 = 0) then
b:= b +1;
end;
writeln (b);
end.
Вводим с клавиатуры количество чисел последовательности (read (n)), заносим в переменную b 0 (счетчик). Затем n раз повторяем одни и те же действия (цикл): вводим число, проверяем, оканчивается ли это число на 2 (a mod 10 =2) и, одновременно, кратно ли это число 6 (a mod 6 =0). Если да, то увеличиваем счетчик на 1 (b:= b +1). Выводим результат. Обязательно тестируем программу.
Количество чисел, кратных 6
и оканчивающихся на 2.
Слайд 13
Напишите программу, которая в последовательности натуральных чисел находит
среднее арифметическое трёхзначных чисел или сообщает, что таких чисел
нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести среднее арифметическое трёхзначных чисел или вывести «NO», если таких чисел нет.
Слайд 14
program pr5;
var a, b, k: integer;
m: real;
begin
b:=0; k:=0;
repeat
read
(a);
If (a>99) and (a
then begin
m:=b/k;
writeln (m); end
else writeln ('NO')
end.
До тех пор, пока не будет введён 0, повторяем в цикле (repeat, так как сначала вводим, потом проверяем): если это трёхзначное число ((a>99) and (a<1000)) , увеличиваем счетчик таких чисел на 1 и сумму на это число (k:=k+1; b:=b+a;)
Если такие числа есть (k<>0), находим среднее арифметическое и выводим результат, в противном случае выводим 'NO' Обязательно тестируем программу.
Среднее арифметическое
трёхзначных чисел или «NO»
Слайд 15
Напишите программу для решения следующей задачи.
На соревнованиях по
бегу на 5000 метров для выхода в финал необходимо
показать время не более 18 минут 30 секунд.
Сколько спортсменов по результатам соревнований вышли в финал?
Программа получает на вход количество спортсменов, принимавших участие в соревнованиях (1 ≤ N ≤ 100), затем для каждого спортсмена вводится два числа: минуты и секунды –время, показанное на дистанции.
Слайд 16
program pr6;
var n,a,b,i,k: integer;
begin
read (n);
k:=0;
for i:=1 to n
do begin
read (a);
read (b);
if (a
(b<=30) then
k:= k +1;
end;
writeln (k);
end.
Вводим с клавиатуры количество спортсменов (read (n)), заносим в переменную k 0 (счетчик). Затем n раз повторяем одни и те же действия (цикл): вводим число минут (a), вводим число секунд (b). Проверяем, если число минут меньше 18 или число минут равно 18 и одновременно число секунд не больше 30, то увеличиваем счетчик на 1
(k := k +1). Выводим результат. Обязательно тестируем программу.
Количество спортсменов,
время которых не более
18 минут 30 секунд
Слайд 17
Для самостоятельной работы:
Напишите программу, которая по двум данным
натуральным числам a и b, не превосходящим 30000, подсчитывает количество чётных натуральных чисел
на отрезке [a, b] (включая концы отрезка).
Программа получает на вход два натуральных числа a и b, при этом гарантируется, что 1 ≤ a ≤ b ≤ 30000. Проверять входные данные на корректность не нужно.
Программа должна вывести одно число: количество чётных чисел на отрезке [a, b].
Пример работы программы:
Слайд 18
Для самостоятельной работы:
Напишите программу, которая в последовательности натуральных
чисел находит среднее арифметическое чисел, кратных 4, или сообщает,
что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 - признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести среднее арифметическое чисел, кратных 4 или вывести «NO», если таких чисел нет.
Слайд 19
Для самостоятельной работы:
Напишите программу, которая в последовательности натуральных
чисел определяет количество чисел, кратных 3 и оканчивающихся на
4. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чисел, кратных 3 и оканчивающихся на 4.
Пример работы программы:
Слайд 20
Для самостоятельной работы:
Напишите программу, которая в последовательности натуральных
чисел определяет минимальное число, оканчивающееся на 2. Программа получает
на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 2.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: минимальное число, оканчивающееся на 2.
Пример работы программы:
Слайд 21
Для самостоятельной работы:
Напишите программу, которая в последовательности натуральных
чисел определяет сумму чисел, оканчивающихся на 5. Программа получает
на вход количество чисел в последовательности, а затем сами числа.
В последовательности всегда имеется число, оканчивающееся на 5.
Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.
Программа должна вывести одно число: сумму чисел, оканчивающихся на 5.
Пример работы программы: