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

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

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


Информатика (14 баллов)
Дан 1 ответ
0 голосов
Бакалавр (13.3k баллов)

// Программа на паскале
var
  base, pow: real;
begin
  write('Введите число: ');
  read(base);
  write('Введите степень: ');
  read(pow);
  writeln(exp(ln(base)*pow));
end.

оставил комментарий Архангел (142k баллов)

Догадываетесь, какой результат даст программа при возведении -5 в квадрат?

оставил комментарий Бакалавр (13.3k баллов)

Да, забыл взять основание по модулю

оставил комментарий Бакалавр (13.3k баллов)

writeln(exp(ln(abs(base))*pow));

оставил комментарий Архангел (142k баллов)

Это если степень целая и четная. А если целая и нечетная? Тогда минус сохраняется.

оставил комментарий Бакалавр (13.3k баллов)

var
base: real;
pow: integer;
begin
write('Введите число: ');
read(base);
write('Введите степень: ');
read(pow);
if (base < 0) and odd(pow) then writeln(-exp(ln(abs(base))*pow))
else writeln(exp(ln(abs(base))*pow))
end.

оставил комментарий Архангел (142k баллов)

Можно просто умножить возведенный в степень модуль на sign() от основания.

оставил комментарий Бакалавр (13.3k баллов)

Тогда для примера -5 2 будет -25

оставил комментарий Архангел (142k баллов)

Логично))) ПризнаЮ - неправ, поспешил.

...