Написать функцию возведения действительного числа в целую степень - Turbo Pascal

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

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

Описать функцию Power2(A, N) вещественного типа, находящую величину AN (A — вещественный, N — целый параметр) по следующим формулам: A0 = 1; AN = A·A·…·A (N сомножителей), если N > 0; AN = 1/(A·A·…·A) (|N| сомножителей), если N < 0. С помощью этой функции найти AK, AL, AM, если даны числа A, K, L, M. Напишите пожалуйста всю задачу!!!

Решение задачи: «Написать функцию возведения действительного числа в целую степень»

textual
Листинг программы
  1. function Power2(a: Real; n: Integer): Real;
  2. var r: Real;
  3. begin
  4.   r:=1;
  5.   if n<0 then r:=1/Power2(a,-n)
  6.   else
  7.     while n>0 do begin
  8.       if Odd(n) then r:=r*a;
  9.       a:=Sqr(a); n:=n shr 1; {n:=n div 2}
  10.     end;
  11.   Power2:=r;
  12. end;
  13. var
  14.   a: Real;
  15.   k, l, m: Integer;
  16. begin
  17.   Write('Введите число и 3 целых показателя степени: '); ReadLn(a,k,l,m);
  18.   WriteLn(Power2(a,k),' ',Power2(a,l),' ',Power2(a,m));
  19. end.

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

  1. Функция Power2 принимает два аргумента: a (действительное число), которое возводится в степень, и n (целое число), на которое возводится степень.
  2. Переменная r инициализируется единицей. Это будет результат функции.
  3. Если n меньше нуля, то r устанавливается равным обратному значению функции Power2 для отрицательного n. То есть, r будет равно 1/Power2(a,-n).
  4. Иначе, если n больше нуля, то выполняется цикл:
    • Если n является нечетным числом, то r умножается на a.
    • a возводится в квадрат (a := Sqr(a)).
    • n уменьшается на 1 (n := n shr 1; или n := n div 2).
    • Цикл повторяется до тех пор, пока n больше нуля.
  5. Значение Power2 сохраняется в переменной r.
  6. Пользователю предлагается ввести число и три целых показателя степени.
  7. Вызывается функция Power2 с аргументами a, k, l, m.
  8. Выводятся результаты вычислений функции Power2: Power2(a,k), Power2(a,l), Power2(a,m).

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


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

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

9   голосов , оценка 4 из 5

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

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

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