Условие задачи : Найти факториал числа. Число вводит пользователь.
Сложность : легкая .
До того как мы начнем делать эту задачу надо сказать как вообще ищется факториал числа. Делается это легко …
Допустим мы хотим найти факториал 4-х. Для этого :
4! = 1 * 2 * 3 * 4
Если 5-ти :
5! = 1 * 2 * 3 * 4 * 5

Думаю что смысл понятен. Теперь как это сделать на языке Pascal?
Делается это очень просто с помощью цикла for.
Для решения задачи нам понадобиться три переменные :
1. Под число
2. Под результат
3. Переменная которая будет служить нам счетчиком в цикле for
Создаём каркас :
uses crt ;
var
num , i : integer ;
res : longint;
begin
end.
Переменной res я дал тип longint, затем чтобы можно было сосчитать факториал числа больше 7. Т.е. если переменная res была бы у нас типа integer , то максимальное число которое мы могли бы ввести было бы 7.
Теперь просим пользователя ввести число и присвоим нашей переменной res число 1, если будет 0, то считаться значение не будет , а будет постоянно 0.
write('Введите число больше 1 : '); readln(num);
res := 1 ;
Ну а дальше делаем цикл, работать у нас он будет следующим образом :
Мы берем первое число и умножаем его на результат, и так до тех пор пока не достигнем границы цикла .
Первая граница будет у нас 2 , так как при умножение на единицу, единица и получиться. А вторая граница будет у нас числом которое мы вводим.
Допустим факториал 4-х :
for i:=2 to 4 do
сначала подставляем 2 :
res := 1 * 2 = 2;
дальше 3 :
res := 2 * 3 = 6;
И теперь 4 :
res := 6 * 4 = 24;
Вот примерчик работы цикла. Сам цикл смотрите в готовом коде.
Ну в принципе и всё. Осталось только вывести.
Весь код программы:
uses crt ;
var
num , res , i : integer ;
begin
clrscr; {очищаем экран}
write('Введите число больше 1 : '); readln(num);
res := 1 ;
for i:=2 to num do {вот}
res := res * i ; {цикл}
writeln('Факториал числа ', num , ' равен ', res);
readln; {чтобы программы не закрывалась}
end.
Вот результат :
