Меню Закрыть

Факториал программа на паскале

Содержание

Факториал — произведение натуральных чисел от единицы до заданного числа. Имеет условное обозначение в виде восклицательного знака. n!=1*2*3*. *n (Например: 3!=1*2*3=6).

В Turbo Pascal факториал находится, как правило, двумя способами: с помощью цикла или с помощью рекурсии.

Вычисление факториала в pascal с помощью цикла

Данный способ нахождения факториала исключительно прост. В цикле от 1 до n умножается число само на себя. При этом необходимо учитывать условие, что 0!=1. Ниже представлена реализация программы с помощью цикла for. Аналогично используются repeat и while.

if (n=0) then writeln(‘0!=1’) else

if x=0 then fact:=1

Факториал числа — Вычисление с помощью цикла (1 способ)

Факториал — Нахождение факториала в паскале с помощью рекурсии (2 способ)

Задача

Факториал числа представляет собой произведение всех натуральных чисел от 1 до этого числа включительно. Например, факториал числа 7 выглядит так:
1 * 2 * 3 * 4 * 5 * 6 * 7

Факториал числа обозначается как само число после которого следует восклицательный знак. Например, 7!. Таким образом:
7! = 1 * 2 * 3 * 4 * 5 * 6 * 7 = 5040

С увеличением числа его факториал быстро возрастает. Так если 3! = 6, то уже 10! = 3628800. Поэтому для натуральных чисел больше 12-ти в языке программирования Паскаль просто так факториал вычислить нельзя.

Допустим, требуется определить факториал числа, которое ввел пользователь.

Решение

Переменной factorial сначала присваивается значение 1.
0! = 1 и 1! = 1.

Если пользователь ввел число больше единицы, то выполняется цикл, в теле которого на каждой итерации значение переменной factorial умножается на следующее натуральное число (переменную i ).

Обучение программированию идёт по пути от простого к сложному. Освоив типы данных и операторы языка, переходят к циклическим конструкциям. Задач на циклы существует бесчисленное количество: начиная от вывода цифр в столбик до подсчёта сумм по сложным формулам. Тем не менее у начинающих программистов остаётся вопрос: "Как вычислить факториал в "Паскале"?"

Читайте также:  Алгоритм эратосфена анимация шагов до 50

Реализовать задачу можно как минимум тремя способами. Отличаются они используемыми операторами.

Математические сведения

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

Понять определение поможет пример. Пусть требуется выполнить нахождение факториала для числа 3. Решение: 3! = 3 * 2 * 1 = 6.

Обозначается действие восклицательным знаком, который ставится после числа. Важное замечание: факториал определён только для целых положительных чисел. Вместе с тем, введено понятия для нуля: 0! = 1.

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

Первый способ

Код ниже показывает вариант программы.

В примере используют составную конструкцию с условием, которое записывается перед телом цикла. Синтаксис записи:

Выполняется код следующим образом: программа проверяет истинность выражения , в случае положительной проверки переходит на .

Возвращаясь к программе, нужно обратить внимание на следующие строки:

  • 2 – задаётся число n, для которого будет выполнен расчёт;
  • 6 – заголовок цикла;
  • 7 – начало цикла;
  • 8 – вычисление переменной fact, которая хранит значение факториала числа n;
  • 9 – увеличение переменной-счётчика на единицу;
  • 10 – конец цикла.

Второй способ

Следующий предлагает вычислить факториал в "Паскале" с помощью оператора repeat.

Конструкция цикла: repeat until <условие>;

Чтобы понять, как работает программа, рассмотрим её построчно:

  • 2 – константе n назначается число, для которого выполняется вычисление;
  • 7 – начало цикла;
  • 8, 9 – расчёт факториала и увеличения счётчика i;
  • 10 – конец тела цикла;
  • 11 – проверка условия, поскольку условие располагается после последовательности операторов, повтор действий будет выполнен как минимум один раз.
Читайте также:  Как восстановить все данные на айфоне

Третий способ

Последняя программа также дает возможность вычислить факториал в "Паскале" и является самой компактной по размеру. Причина – используемый оператор for, для которого увеличение счётчика i задаётся в параметрах цикла.

Работает код следующим образом (цифрами указаны строки листинга):

  • 2 – константе n присваивают значение числа, для которого вычисляется факториал;
  • 6 – задаются параметры цикла – начальное и конечное значения;
  • 7 – начало цикла;
  • 8 – вычисление переменной fact;
  • 9 – конец цикла.

Замечание

Даже для чисел из первой десятки факториал имеет значение больше, чем допускает тип данных integer. Поэтому программа в "Паскале" покажет сообщение об ошибке. Исправить её просто – нужно заменить тип данных для переменной-результата на longint или использовать типы для хранения вещественных значений.

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.