Написать рекурсивную функцию, которая определяет степень числа - 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)
и выводится на экран с двумя знаками после запятой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д