Номер §4.5 ПМ 4

ГДЗ по информатике 8 класс, Босова 2023, страница 184

§. ПМ Цикл обработки последовательности

Пример 4. Дана последовательность натуральных чисел, оканчивающаяся нулём; нуль не входит в последовательность. Программа подсчитывает количество её членов, оканчивающихся на 3:

var a, k: integer;
begin
  writeln('Обработка последовательности');
  k := 0;
  writeln('Первый член последовательности>>');
  readln(a);
  while a <> 0 do
  begin
    if a mod 10 = 3 then k := k + 1;
    writeln('Очередной член последовательности или 0>>');
    readln(a)
  end;
  writeln('k=', k)
end.

Самостоятельно разработайте тест для проверки работоспособности программы. Модифицируйте программу так, чтобы в ней подсчитывалось количество членов последовательности, кратных 3.

Решение

Для проверки возьмём последовательность , , , после которой введём . У чисел , и последняя цифра равна : остатки , , . Поэтому исходная программа должна выдать . Нуль лишь завершает ввод и не проверяется внутри цикла. Дополнительный граничный тест — сразу : тело цикла не выполнится и выйдет .

Для подсчёта чисел, кратных , нужно заменить проверку последней цифры проверкой делимости. Число кратно тогда и только тогда, когда остаток от деления на равен нулю.

var a, k: integer;
begin
  k := ;
  writeln('Первый член последовательности>>');
  readln(a);
  while a <>  do
  begin
    if a mod  =  then k := k + ;
    writeln('Очередной член последовательности или >>');
    readln(a)
  end;
  writeln('k=', k)
end.

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

Ответ

Тест , , , : исходная программа выводит k = , изменённая — k = .

Помогло?

Нет твоего задания?Сфоткай, и ДЗмэн решит за пару секунд.

Решить по фото