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

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

Задача
  1. Требовалось написать программу вычисления факториала числа $$n$$ (факториал числа $$n$$ есть произведение всех целых чисел от 1 до $$n$$). Программист торопился и написал программу неправильно. Ниже приведён фрагмент его программы, в котором содержится несколько ошибок:

    k := 1; f := 0; while k < n do f := f * k; k := k + 1

    Обсудите этот фрагмент программы в группе. Найдите ошибки. Внесите необходимые исправления, допишите программу и выполните её на компьютере.

    Для проверки правильности программы используйте тест:

    Входные данныеВыходные данные
    Введите n >> 5
    Введите n >> 6
    5!=120
    6!=720
Подробный ответ

В исходном фрагменте есть три ошибки:

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

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

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$$.

Ответ: исправленная программа вычисляет факториал правильно; для теста $$5$$ получается $$120$$, для $$6$$ — $$720$$.



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