Написать рекурсивную функцию, которая определяет степень числа - Pascal
Формулировка задачи:
Написать рекурсивную функцию, которая определяет степень числа
f(x,n)
x^n
n-будет натуральным.
Решение задачи: «Написать рекурсивную функцию, которая определяет степень числа»
textual
Листинг программы
function Step(x:real;n:integer):real; begin if n=0 then Step:=1 else Step:=Step(x,n-1)*x end; var a:real; b:integer; begin write('Введите основание, действительное число a='); readln(a); repeat write('Введите степень, натуральное число b='); readln(b); until b>=0; write('a^b=',Step(a,b):0:2); end.
Объяснение кода листинга программы
- Объявляется функция с именем
Step
и параметрамиx
(действительное число) иn
(целое число). - Внутри функции проверяется условие: если
n
равно нулю, тогда функция возвращает 1. - В противном случае, функция возвращает результат умножения
Step(x, n-1)
наx
, что является рекурсивным вызовом функцииStep
. - Объявляются переменные
a
(действительное число) иb
(целое число). - Пользователю предлагается ввести значение
a
с помощью сообщенияВведите основание, действительное число a=
. - Значение
a
вводится с клавиатуры. - Пользователю предлагается ввести значение
b
с помощью сообщенияВведите степень, натуральное число b=
. - Значение
b
вводится с клавиатуры и проверяется на условиеuntil b>=0
, в случае если оно выполняется, то программа переходит к следующему шагу. - Вычисляется значение выражения
a^b
с помощью вызова функцииStep(a,b)
и выводится на экран с двумя знаками после запятой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д