вентилятор
Удачи на экзаменах!

ОГЭ по информатике - Задание 15 (Задачи на Паскале | последовательность оканчивается нулём)



Сегодня разберём нестандартные задачи из 15 задания ОГЭ по информатике. В этих задачках последовательность чисел будет заканчивается нулём.


Будем решать на языке Паскаль.





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

Задача 1

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

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


Решение:

Заводим две переменные: а – переменная для чисел, quantity – переменная для результата.


В начале количество равно нулю. Запрашиваем число a. Далее, используем ЦИКЛ с предусловием (WHILE). Цикл будет работать до тех пор, пока число a не равно нулю.





Внутри цикла число a проверяется на условие задачи. Чтобы число засчитать, оно должно быть кратно 6 (остаток от деления на 6 должен быть равен 0), И это число должно оканчивается на 2 (остаток от деления на 10 должен быть равен 2).

Если число подходит, к переменной quantity прибавляем 1.


Поле этого в цикле запрашиваем очередное число a из последовательности.


Как только, мы получили в последовательности 0 – программа выходит из ЦИКЛА (WHILE), и распечатывает ответ.


var a, quantity: integer;
begin
  quantity:=0;
  Readln(a);
  while a <> 0 do
  begin
    if (a mod 6 = 0 ) and (a mod 10 = 2) then
      quantity := quantity + 1;
    Readln(a);
  end;
  Writeln(quantity);
end.



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


Задача 2

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


Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число - СУММУ всех чисел, кратных 10 и БОЛЬШИХ 100.


Решение:


Заводим две переменные: а – переменная для чисел, sum – переменная для результата.


В начале сумма равна нулю. Запрашиваем число a. Далее, используем ЦИКЛ с предусловием (WHILE). Цикл будет работать до тех пор, пока число a не равно нулю.





Внутри цикла число a проверяется на условие задачи. Чтобы число просуммировать, оно должно быть кратно 10 (остаток от деления на 10 должен быть равен 0), И это число должно быть больше 100.


Если число подходит, к переменной sum суммируем элемент a.


Поле этого в цикле запрашиваем очередное число a из последовательности.


Как только, мы получили в последовательности 0 – программа выходит из ЦИКЛА (WHILE), и распечатывает ответ.


var a, sum: integer;
begin
  sum:=0;
  Readln(a);
  while a <> 0 do
  begin
    if (a mod 10 = 0) and (a>100) then
      sum := sum + a;
    Readln(a);
  end;
  writeln(sum);
end.




Минимальное нечётное число, больше 50.

Задача 3

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

Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число - МИНИМАЛЬНОЕ нечётное число БОЛЬШЕЕ 50.


Решение:

Заводим две переменные: а – переменная для чисел, min – переменная для результата.


В начале переменная min равна самому большому значению, чтобы его можно было легко победить. Запрашиваем число a. Далее, используем ЦИКЛ с предусловием (WHILE). Цикл будет работать до тех пор, пока число a не равно нулю.





Внутри цикла число a проверяется на условие задачи. Чтобы число могло претендовать на минимальность, оно должно быть нечётное (остаток от деления на 2 должен быть равен 1), И это число должно быть больше 50.


В условии так же дописываем: если очередной элемент a меньше, чем переменная min, то переменная a становится минимальным значением.


Поле этого в цикле запрашиваем очередное число a из последовательности.


Как только, мы получили в последовательности 0 – программа выходит из ЦИКЛА (WHILE), и распечатывает ответ.


var a, min: integer;
begin
  min:=30000;
  Readln(a);
  while a <> 0 do
  begin
    if (a mod 2 = 1) and (a > 50) and (a < min) then min := a;
    Readln(a);
  end;
  Writeln(min);
end.

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



05-10-2018 в 15:45:46






Поддержать сайт:


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

ОГЭ по информатике 2023 - Задание 15 (Составляем программу)

Всем привет! Сегодня мы будем решать 15 задание из ОГЭ по информатике....

Категория: Информатика  Подкатегория: ОГЭ
Дата: 15-02-2023 в 14:39:19 1



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



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


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




Нажимая кнопку Отправить, Вы соглашаетесь с политикой конфиденциальности сайта.