Написать подпрограмму, вычисляющую натуральную степень числа. паскаль написать программу...

0 голосов
34 просмотров

Написать подпрограмму, вычисляющую натуральную степень
числа. паскаль
написать программу на компьютере и проверить правильность
работы Вашей процедуры/функции, в этом случае в основной программе
должны быть реализованы ввод исходных данных и вызов
процедуры/функции.


Информатика (68 баллов) | 34 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Используем достаточно хорошо известный "индийский алгоритм" возведения в степень. Я не буду здесь его приводить из-за достаточно большого объема сопровождающих рассуждений; все легко находится в Интернет по фразе "индийский алгоритм возведения в степень".

function Power(x: double; n: integer): double;
var
  p: double;
  flag: boolean;
begin
  p := 1; flag := true;
  while flag do
  begin
    if odd(n) then p := p * x;
    n := n div 2;
    if n > 0 then x := x * x else flag := false
  end;
  power := p
end;

var
  x: double;
  n: integer;

begin
  Writeln('Введите число и натуральную степень, в которую его надо возвести');
  Readln(x, n);
  Writeln('Результат: ', Power(x, n))
end.

Тестовое решение:
Введите число и натуральную степень, в которую его надо возвести
3.6 11
Результат: 1316217.03842267

Точный результат равен 1316217.03842267136.



(142k баллов)