Что я сделал не так в решении с использованием рекурсивных функций - Free Pascal
Формулировка задачи:
Листинг программы
- program zerna;
- uses crt;
- function i(z,y:byte):integer;
- var n,k:integer;
- begin
- z:=10;
- y:=22;
- i:=z*y;
- end;
- begin
- writeln('Vvedite kol-vo let:');
- readln(n);
- k:=n*i;
- writeln(k);
- end.
Решение задачи: «Что я сделал не так в решении с использованием рекурсивных функций»
textual
Листинг программы
- Const
- kk = 10;
- ur = 22;
- Var n : Byte;
- Function Zerno(n : Byte; k :Longint) : Longint;
- Begin
- If n>1 then Zerno:=Zerno(n-1,k*ur) else Zerno:=k*ur;
- end;
- Begin
- Readln(n);
- Writeln(Zerno(n,kk));
- end.
Объяснение кода листинга программы
- Константы и переменные:
- kk = 10
- ur = 22
- n (переменная, используемая в функции и в основном блоке)
- Функция Zerno:
- Принимает два аргумента: n (счетчик) и k (производное значение)
- Если n больше 1, то рекурсивно вызывает себя, уменьшая счетчик на 1 и умножая k на ur
- Если n равно 1, то возвращает k, умноженное на ur
- Основной блок:
- Считывает значение n с помощью функции Readln
- Вызывает функцию Zerno, передавая ей значение n и kk
- Выводит результат с помощью функции Writeln Таким образом, данный код реализует простую рекурсивную функцию, которая вычисляет факториал числа n (где n - это количество раз, которое kk умножается на ur). Факториал числа n выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д