Вычислить двойной факториал, используя процедуру - PascalABC.NET
Формулировка задачи:
Вычислить, используя процедуру
у = (2n - 1)!! = 1* 3*5 * ...* (2n - 1), n>0
Решение задачи: «Вычислить двойной факториал, используя процедуру»
textual
Листинг программы
procedure f(n:Integer;var y:Integer); var i,k:Integer; begin k:=1; i:=2*n-1; if i<>1 then repeat k:=k*i; i:=i-2; until i=1; y:=k; end; var n,y:Integer; begin Write('n>0,n='); Readln(n); f(n,y); Writeln('y=',y); end.
Объяснение кода листинга программы
- Объявлена процедура с именем f
- В процедуре объявлены две переменные i и k типа Integer
- Значение переменной k инициализируется единицей
- Значение переменной i инициализируется значением 2*n-1, где n — параметр процедуры
- Если i не равно 1, то выполняется следующий блок кода
- Значение переменной k умножается на значение переменной i
- Значение переменной i уменьшается на 2
- Проверка на равенство i единице, выполняется до тех пор, пока i не станет равным 1
- Значение переменной y инициализируется значением переменной k
- В основной части программы объявлены две переменные n и y типа Integer
- Выводится сообщение
n>0,n=
и происходит чтение значения переменной n с помощью функции Readln - Вызывается процедура f, передавая ей в качестве параметров n и y
- Выводится сообщение
y=
и происходит вывод значения переменной y с помощью функции Writeln
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д