Что я сделал не так в решении с использованием рекурсивных функций - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. program zerna;
  2. uses crt;
  3. function i(z,y:byte):integer;
  4. var n,k:integer;
  5. begin
  6. z:=10;
  7. y:=22;
  8. i:=z*y;
  9. end;
  10. begin
  11. writeln('Vvedite kol-vo let:');
  12. readln(n);
  13. k:=n*i;
  14. writeln(k);
  15. end.

Решение задачи: «Что я сделал не так в решении с использованием рекурсивных функций»

textual
Листинг программы
  1. Const
  2.   kk = 10;
  3.   ur = 22;
  4.  
  5. Var n : Byte;
  6.  
  7. Function Zerno(n : Byte; k :Longint) : Longint;
  8. Begin
  9.   If n>1 then Zerno:=Zerno(n-1,k*ur) else Zerno:=k*ur;
  10. end;
  11.  
  12. Begin
  13.   Readln(n);
  14.   Writeln(Zerno(n,kk));
  15. end.

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

  1. Константы и переменные:
    • kk = 10
    • ur = 22
    • n (переменная, используемая в функции и в основном блоке)
  2. Функция Zerno:
    • Принимает два аргумента: n (счетчик) и k (производное значение)
    • Если n больше 1, то рекурсивно вызывает себя, уменьшая счетчик на 1 и умножая k на ur
    • Если n равно 1, то возвращает k, умноженное на ur
  3. Основной блок:
    • Считывает значение n с помощью функции Readln
    • Вызывает функцию Zerno, передавая ей значение n и kk
    • Выводит результат с помощью функции Writeln Таким образом, данный код реализует простую рекурсивную функцию, которая вычисляет факториал числа n (где n - это количество раз, которое kk умножается на ur). Факториал числа n выводится на экран.

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


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

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

14   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы