ИКТ 9 класс презентация для подготовки к ОГЭ Разбор типовых задач 15.2
- Рубрика: Презентации / Другие презентации
- Просмотров: 46
Презентация для классов "ИКТ 9 класс презентация для подготовки к ОГЭ Разбор типовых задач 15.2" онлайн бесплатно на сайте электронных школьных презентаций uchebniki.org.ua
Программирование
Задание №15_2 ОГЭ
Учитель информатики – Глебов Б.В.
МОБУ Чесменская СОШ им. Гаврилова М.В.
На что обратить внимание:
Числа не надо хранить в программе, к тому же мы не знаем, сколько чисел будет введено, поэтому отказываемся от массивов (в классическом Паскале нет динамических массивов - в описании необходимо указать число элементов массива).
Вводим количество чисел в последовательность и организуем цикл (возможны for, repeat и 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))
или вложенные условные операторы.
Уметь сравнивать и находить в последовательности наибольшее или наименьшее число.
Избегаем подсказок и пояснений в операторах вывода.
Задача 15.2 из демоверсии ФИПИ
2 Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, кратных 6.
Пример работы программы:
program ab1;
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);
end.
Вводим с клавиатуры количество чисел последовательности (read (n)), Присваиваем переменной s:=0 . Затем n раз повторяем одни и те же действия (цикл): вводим число, проверяем, оканчивается ли это число на 6 (g mod 6 = 0) .Если да, увеличиваем значение суммы на введенное число s:=s+g . Выводим результат. Обязательно тестируем программу.
Введите с клавиатуры 8 положительных целых чисел. Определите, сколько из них делятся на 3 и при этом заканчиваются на 4. Программа должна вывести одно число: количество чисел, кратных 3 и оканчивающихся на 4.
Пример работы программы:
program ab1;
var i, n, а : integer;
begin n : = 0;
for i : = 1 to 8 do
begin
readln(a);
if (a mod 3 = 0) and ( a mod 10 = 4) then
n : = n + 1 ; end;
writeln ( n );
end .
8 раз повторяем одни и те же действия (цикл)
for i : = 1 to 8 do
вводим число, проверяем, делится ли это число на 3 и оканчивается ли это число на 4 (a mod 3 = 0) and ( a mod 10 = 4) и, если да, то увеличиваем счетчик на 1 (n : = n + 1 ). Выводим результат.
Обязательно
тестируем программу.
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: максимальное число, оканчивающееся на 3.
Пример работы программы:
program ab1;
var n,a,max,i: integer;
begin
read (n);
max :=-1;
for i:=1 to n do begin
read (a);
if (a mod 10 =3) and (a > max) then
max:= a;
end;
writeln (max);
end.
Вводим с клавиатуры количество чисел последовательности (read (n)), заносим в переменную max самое минимальное возможное значение. Затем n раз повторяем одни и те же действия (цикл): вводим число, проверяем, оканчивается ли это число на 3 (a mod 10 = 3) и, одновременно, больше ли введённое число переменной max. Если да, меняем значение max. Выводим результат. Обязательно тестируем программу.
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 8.
Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.
Программа должна вывести одно число: сумму чисел, оканчивающихся на 8.
Пример работы программы:
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). Обязательно тестируем программу.
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чисел, кратных 6 и оканчивающихся на 2.
Пример работы программы:
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). Выводим результат. Обязательно тестируем программу.
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое трёхзначных чисел или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести среднее арифметическое трёхзначных чисел или вывести «NO», если таких чисел нет.
program pr5;
var a, b, k: integer;
m: real;
begin
b:=0; k:=0;
repeat
read (a);
If (a>99) and (a<1000) then begin
b:=b+a;
k:=k+1; end
until a=0;
if k<>0 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' Обязательно тестируем программу.
Напишите программу для решения следующей задачи.
На соревнованиях по бегу на 5000 метров для выхода в финал необходимо показать время не более 18 минут 30 секунд.
Сколько спортсменов по результатам соревнований вышли в финал?
Программа получает на вход количество спортсменов, принимавших участие в соревнованиях (1 ≤ N ≤ 100), затем для каждого спортсмена вводится два числа: минуты и секунды –время, показанное на дистанции.
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 <18) or (a=18) and (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 секунд
Напишите программу, которая в последовательности целых чисел определяет их сумму и подсчитывает разность количества положительных и отрицательных чисел последовательности. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести два числа: сумму чисел и разность количества положительных и отрицательных чисел.
program pr6;
var a, sum, npos, nneg: integer;
begin
sum := 0; npos := 0; nneg := 0; readln(a); while a <> 0 do begin
sum := sum + a;
if (a < 0) then nneg := nneg + 1 else npos := npos + 1; readln(a);
end;
writeln(sum); writeln (npos - nneg)
end.
Вводим с клавиатуры число(readln(a)), считаем сумму, затем если число отрицательное увеличиваем счетчик отрицательных чисел, иначе положительных if (a < 0) then nneg := nneg + 1 else npos := npos + 1 После ввода нуля выводим сумму чисел и разность количества положительных и отрицательных чисел. Обязательно тестируем программу.
Напишите программу для решения следующей задачи. Камера наблюдения регистрирует в автоматическом режиме скорость проезжающих мимо неё автомобилей, округляя значения скорости до целых чисел. Необходимо определить:
1) разность максимальной и минимальной скоростей автомобилей;
2) количество автомобилей, скорость которых не превышала 30 км/ч.
Программа получает на вход число проехавших автомобилей N (1 ≤ N ≤ 30), затем указываются их скорости. Значение скорости не может быть меньше 1 и больше 300. Программа должна сначала вывести разность максимальной и минимальной скоростей автомобилей, затем количество автомобилей, скорость которых не превышала 30 км/ч.
program pr6;
var N, a, i, max, num, min: integer; begin
max := 0; min := 301; num := 0;
readln(N);
for i := 1 to N do
begin
readln(a);
if a > max then max := a; if a < min then min := a; if a <= 30 then num := num + 1;
end;
writeln(max - min); writeln(num)
end.
Вводим с клавиатуры количество автомобилей(readln(N)), Затем повторяем п раз ввод скорости и сравнение ее с минимальной и максимальной и 30 км/ч readln(a);
if a > max then max := a; if a < min then min := a; if a <= 30 then num := num + 1;
Затем выводим разность скоростей и кол-во автомобилей скорость которых <= 30 км/ч.Обязательно тестируем программу.
Для самостоятельной работы:
Напишите программу, которая по двум данным натуральным числам a и b, не превосходящим 30000, подсчитывает количество чётных натуральных чисел на отрезке [a, b] (включая концы отрезка).
Программа получает на вход два натуральных числа a и b, при этом гарантируется, что 1 ≤ a ≤ b ≤ 30000. Проверять входные данные на корректность не нужно.
Программа должна вывести одно число: количество чётных чисел на отрезке [a, b].
Пример работы программы:
Для самостоятельной работы:
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 4, или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 - признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести среднее арифметическое чисел, кратных 4 или вывести «NO», если таких чисел нет.
Для самостоятельной работы:
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3 и оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чисел, кратных 3 и оканчивающихся на 4.
Пример работы программы:
Для самостоятельной работы:
Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 2.
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: минимальное число, оканчивающееся на 2.
Пример работы программы:
Для самостоятельной работы:
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 5. Программа получает на вход количество чисел в последовательности, а затем сами числа.
В последовательности всегда имеется число, оканчивающееся на 5.
Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.
Программа должна вывести одно число: сумму чисел, оканчивающихся на 5.
Пример работы программы: