Заметили ошибку ?
Выделите это место и нажмите Ctrl + Q

ОГЭ по информатике. Вторая часть. Задачи на паскале - другое окончание ввода последовательности


Сегодня разберём нестандартные задачи из задания 20.2 (вторая часть) ОГЭ по информатике.


Определение КОЛИЧЕСТВО элементов, КРАТНЫХ 6 и ОКАНЧИВАЮЩИХСЯ на 2.

Задача 1

Напишите программу, которая в последовательности натуральных чисел определяет КОЛИЧЕСТВО всех чисел, КРАТНЫХ 6 и ОКАНЧИВАЮЩИХСЯ на 2. В последовательности всегда имеется число, кратное 6 и оканчивающееся на 2. Программа получает на вход натуральные числа, КОЛИЧЕСТВО ВВЕДЁННЫХ ЧИСЕЛ НЕИЗВЕСТНО, ПОСЛЕДОВАТЕЛЬНОСТЬ ЧИСЕЛ ОКАНЧИВАЕТСЯ ЧИСЛОМ 0. (0 – признак окончания последовательности, не входит в последовательность)

Количество чисел не превышает 1000. Введённые числа не превышают 
30 000.

Программа должна вывести одно число - КОЛИЧЕСТВО всех чисел, КРАТНЫХ 6 и ОКАНЧИВАЮЩИХСЯ на 2.

 

 

Решение:

Заводим две переменные: а – переменная для чисел, quantity – переменная для результата. Вначале Количество равно нулю, а само число -1 (главное, чтобы не (кратное 6 и оканчивающие на 2)) Далее, используем ЦИКЛ с предусловием (WHILE). Запрашиваем число, если оно кратно 6 (остаток от деления на 6 равен 0) И это число оканчивается на 2 (остаток от деления на 10 равно 2), то плюсуем 1 к тому, что было в переменной Количество. Как только, мы получили в последовательности 0 – программа выходит из ЦИКЛА (WHILE), и распечатывает ответ.


var a, quantity: integer;

begin

quantity:=0;

a:=-1;

while a <> 0 do

begin

   Readln(a);

if (a mod 6 = 0) and (a mod 10 = 2)

      then quantity := quantity + 1;

end;

Writeln('quantity=', quantity);

End.

 

Найти сумму элементов, КРАТНЫХ 10 и БОЛЬШИХ 100.

 

Задача 2

Напишите программу, которая в последовательности натуральных чисел определяет СУММУ всех чисел, КРАТНЫХ 10 и БОЛЬШИХ 100. В последовательности всегда имеется число, кратное 10 и большее 100. Программа получает на вход натуральные числа, КОЛИЧЕСТВО ВВЕДЁННЫХ ЧИСЕЛ НЕИЗВЕСТНО, ПОСЛЕДОВАТЕЛЬНОСТЬ ЧИСЕЛ ОКАНЧИВАЕТСЯ ЧИСЛОМ 0. (0 – признак окончания последовательности, не входит в последовательность)

Количество чисел не превышает 1000. Введённые числа не превышают 
30 000.

Программа должна вывести одно число - СУММУ всех чисел, кратных 10 и БОЛЬШИХ 100.

 

Решение:

Заводим две переменные: а – переменная для чисел, sum – переменная для суммы. Вначале сумма равна нулю, а само число -1 (главное, чтобы не (КРАТНОЕ 10 и БОЛЬШЕЕ 100)).  Далее, используем ЦИКЛ с предусловием (WHILE). Запрашиваем число, если оно кратно 10 (остаток от деления на 10 равен 0) И это число БОЛЬШЕ 100 (>100), то СУММИРУЕМ: к тому, что было, в переменной суммы, плюсуем наш элемент. Как только мы получили в последовательности 0 – программа выходит из ЦИКЛА (WHILE) и распечатывает ответ.


Var a, sum: integer;

Begin

sum:=0;

a:=-1;

while a <> 0 do

begin

   Readln(a);

if (a mod 10 = 0) and (a>100)

      then sum := sum + 1;

end;

Writeln('sum=', sum);

End.

 

Нахождение минимального нечётного числа, большего 50.

Задача 3

Напишите программу, которая в последовательности натуральных чисел определяет МИНИМАЛЬНОЕ нечётное число БОЛЬШЕЕ 50. В последовательности всегда имеется нечётное число большее 50. Программа получает на вход натуральные числа, КОЛИЧЕСТВО ВВЕДЁННЫХ ЧИСЕЛ НЕИЗВЕСТНО, ПОСЛЕДОВАТЕЛЬНОСТЬ ЧИСЕЛ ОКАНЧИВАЕТСЯ ЧИСЛОМ 0. (0 – признак окончания последовательности, не входит в последовательность)

Количество чисел не превышает 1000. Введённые числа не превышают 
30 000.

Программа должна вывести одно число - МИНИМАЛЬНОЕ нечётное число БОЛЬШЕЕ 50.

 

Решение:

Заводим две переменные: а – переменная для чисел, min – переменная для результата. Вначале минимальное число равно самому большому значению из всех возможных: 30000, а само число -1 (главное, чтобы не (нечётное число БОЛЬШЕЕ 50)). Далее, используем ЦИКЛ с предусловием (WHILE). Запрашиваем число, если оно нечётное (остаток от деления на 2 равен 1) И число больше 50 (>50), И это число меньше, чем переменная min (минимальное число, считающееся в данный момент), то это число заносится в переменную min (Т.е. «получаем нового победителя – обновляем минимальное число»).Как только мы получили в последовательности 0 – программа выходит из ЦИКЛА (WHILE), и распечатывает ответ.


Var a, min: integer;

Begin

min:=30000;

a:=-1;

while a <> 0 do

begin

   Readln(a);

if (a mod 2 = 1) and (a>50)

 and (a < min) then min := a;

end;

Writeln('min=', min);

End.

 


Успехов на экзамене по информатике!


05-10-2018 в 15:45:46





Похожая статья:

ОГЭ по информатике. Задание 4 (Знания внутри Вас)

Вышел видеоурок с разбором четвёртой задачи ОГЭ по информатике. В урок...

Категория: ОГЭ  Подкатегория: -
Дата: 15-01-2018 в 16:47:34 2



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота. Расположите картинки горизонтально:


Последние
видео:



Шейкер-сортировка (С#)
ОГЭ по информатике. Задание 18


Подготовка к
ОГЭ


Подготовка к ОГЭ по информатике


Давайте
дружить!


Группа Вконтакте Code-Enjoy

Твиттер Александра Калужского

YouTube канал Code-Enjoy


Препод напал на тебя как вампир? Не бойся! Студланс защитит этот мир!