Вычислить двойной факториал, используя процедуру - 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.

Объяснение кода листинга программы

  1. Объявлена процедура с именем f
  2. В процедуре объявлены две переменные i и k типа Integer
  3. Значение переменной k инициализируется единицей
  4. Значение переменной i инициализируется значением 2*n-1, где n — параметр процедуры
  5. Если i не равно 1, то выполняется следующий блок кода
  6. Значение переменной k умножается на значение переменной i
  7. Значение переменной i уменьшается на 2
  8. Проверка на равенство i единице, выполняется до тех пор, пока i не станет равным 1
  9. Значение переменной y инициализируется значением переменной k
  10. В основной части программы объявлены две переменные n и y типа Integer
  11. Выводится сообщение n>0,n= и происходит чтение значения переменной n с помощью функции Readln
  12. Вызывается процедура f, передавая ей в качестве параметров n и y
  13. Выводится сообщение y= и происходит вывод значения переменной y с помощью функции Writeln

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы