Условие задачи : Найти факториал числа. Число вводит пользователь.
Сложность : легкая .
До того как мы начнем делать эту задачу надо сказать как вообще ищется факториал числа. Делается это легко …
Допустим мы хотим найти факториал 4-х. Для этого :
4! = 1 * 2 * 3 * 4
Если 5-ти :
5! = 1 * 2 * 3 * 4 * 5
Думаю что смысл понятен. Теперь как это сделать на языке Pascal?
Делается это очень просто с помощью цикла for.
Для решения задачи нам понадобиться три переменные :
- Под число
- Под результат
- Переменная которая будет служить нам счетчиком в цикле 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.