Pascal в ОГЭ по информатике

обучение PascalABC

Задание 15.2 в ОГЭ по информатике на составление программы. Как правило, это программы содержащие и циклы и условия. В этой статье постараемся разобраться как решать такие задачи.
Условный оператор присутствует практически в каждой задаче. В решении задач используют два вида циклов: цикл с параметром и цикл с предусловием.

Паскаль ОГЭ как решать?

Чтобы определить какой цикл следует использовать, необходимо внимательно прочитать задание.

  • Если в задаче сказано: программа получает на вход количество чисел, то следует использовать цикл с параметром.
  • Если в задаче сказано: количество введённых чисел неизвестно, а последовательность чисел заканчивается 0 , то следует использовать цикл с предусловием.

Разберем несколько вариантов задач, с которыми придется столкнуться на экзамене по информатике в 9 классе.

Пример 1. Напишите программу, которая в последовательности натуральных чисел определяет количество всех чётных чисел, кратных 5. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество всех чётных чисел, кратных 5.

Решение:

Читая условие задачи, явно видим, что нам необходим цикл с предусловием. А также нам нужно будет отбирать четные числа, да еще и кратные 5. Следовательно, в программе будем записывать два условия:

  1. определение четности числа: a mod 2 =0
  2. определение кратности 5: a mod 5 =0

Причём эти условия должны выполняться одновременно. А значит, нужно составить из них одно сложное условие, используя логическую операцию — умножение. Вот так:

(a mod 2 =0) and (a mod 5 =0)

Поясним обозначения переменных:

  • k — количество чисел, удовлетворяющих условиям задачи,
  • a — число, которое получает программа на входе

Теперь, для большего понимания, сделаем блок-схему

паскаль огэ как решать

 

Как это работает?

  1. Программа получает на вход число а.
  2. Далее оно проходит через условие окончания цикла a<>0. Если условие не выполняется, то заходим внутрь цикла и проверяем число а по критериям задачи.
  3. Если критерии выполнены, то число заносится в счетчик (k+1).
  4. Далее вводится следующее значение числа а (новое число).
  5. Идем по стрелке на проверку условия цикла. Если оно  выполняется, то повторяем предыдущие шаги внутри цикла.
  6. При невыполнении (a=0) выводим полученное значение k и завершаем программу.

Текст программы на Паскале:

var a, k: integer;
begin 
  k:=0;
  readln(a);
   while a<>0 do
    begin
     if (a mod 5=0) and (a mod 2=0) then k:=k+1;
     readln(a);
    end;
  writeln(k)
end.

Пример 2. Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, оканчивающихся на 3.

Решение:

Читая условие задачи, явно видим, что нам необходим цикл с параметром. А также нам нужно будет сумму только тех чисел,  которые оканчиваются цифрой 3. Следовательно, в программе будем записывать одно условие: a mod 10 =3
Если все еще не понятно, почему такое условие, советую сначала почитать статью «Операции с целыми числами»

Поясним обозначения переменных:

  • n — количество вводимых чисел,
  • s — сумма чисел, удовлетворяющих условиям задачи,
  • a — число, которое получает программа на входе,
  • i — параметр цикла, счетчик выполнений цикла

Теперь, для большего понимания, сделаем блок-схему

паскаль огэ задания примеры

Как это работает?

  1. Программа получает на вход количество чисел n.
  2. Начинается цикл, который выполнится ровно столько раз сколько указано количество чисел. В качестве счетчика введенных чисел, используется переменная цикла i (параметр цикла).
  3. На первом шаге цикла программа получает первое число а. Проверяется условие. Если число оканчивается цифрой 3, то сумма s увеличивается на значение введенного числа а (s+a).
  4. Далее шаги внутри цикла повторяются с каждым новым числом.
  5. После обработки в цикле последнего числа выводится результат вычисленной суммы.

Текст программы на Паскале:

var a,i,s,n: integer;
begin 
  readln(n);
  s:=0;
   for i:=1 to n do
    begin
     readln(a);
     if a mod 10=3 then s:=s+a;
    end;
  writeln(s);
end.
Рейтинг
( 18 оценок, среднее 4.72 из 5 )
Понравилась статья? Поделиться с друзьями:
Инфоучка
Комментарии: 2
  1. Marina

    Программа в примере 2 не работает!!!

    1. Сергей Фомин (автор)

      Проверил, работает!!!

Добавить комментарий

− 3 = six

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: