1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Босова
Задание 3 Параграф 4.5 ГДЗ Босова 8 класс 2023 (Информатика)
Босова, Босова
8 класс
Автор
Босова, Босова

Задание 3 Параграф 4.5 ГДЗ Босова 8 класс 2023 (Информатика)

Задача

k := 1;
f := 0;
while k < n do f := f * k; k:= k + 1 Обсудите этот фрагмент программы в группе. Найдите ошибки. Внесите необходимые исправления, допишите программу и выполните её на компьютере. Для проверки правильности программы используйте тест: Входные данные Введите n > > 5
Введите n > > 6
Выходные данные
5!=120
6!=720
В программе нет операторных скобок, неправильно определено f и условие цикла.
var
k, f, n: integer;
begin
write(‘n > > ‘);
readln(n);
k := 1; f := 1;
while k < = n do begin f := f * k; inc(k) end; writeln(n,'!=', f) end. Окно вывода n > > 5
5!=120
n > > 6
6!=720

Подробный ответ

В фрагменте программы допущены три ошибки:

  • переменная $$f$$ должна начинаться с $$1$$, а не с $$0$$, иначе произведение всегда будет равно нулю;
  • в цикле нужно использовать операторные скобки begin … end, чтобы в него входили оба оператора;
  • условие цикла должно быть $$k \le n$$, чтобы в произведение вошло и число $$n$$.

Исправленная программа:

var
  k, f, n: integer;
begin
  write(‘n>>’);
  readln(n);
  k := 1;
  f := 1;
  while k <= n do
  begin
    f := f * k;
    inc(k)
  end;
  writeln(n, ‘!=’, f)
end.

Проверка:

  • при $$n=5$$ получаем $$5! = 1 \cdot 2 \cdot 3 \cdot 4 \cdot 5 = 120$$;
  • при $$n=6$$ получаем $$6! = 1 \cdot 2 \cdot 3 \cdot 4 \cdot 5 \cdot 6 = 720$$.

Ответ

Ошибки: $$f := 0$$, отсутствие операторных скобок, неверное условие цикла. Исправленная программа вычисляет факториал правильно.



Общая оценка
4.7 / 5
Другие учебники
Другие предметы