Главная Посты Курсы Связь О сайте

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



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


Определение КОЛИЧЕСТВО элементов, КРАТНЫХ 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 = 10 = 2) then
      quantity := quantity + 1;
  end;
  Writeln(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 + a;
  end;
  writeln(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);
end.

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



05-10-2018 в 15:45:46





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

ОГЭ по информатике 2020 - Задание 2 (Простое задание!)

Привет! Сегодня разберём задание 2 из ОГЭ по информатике 2020...

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