Написать программу, которая возводит число в степень. Учесть отрицательные степени.
// Программа на паскале var base, pow: real; begin write('Введите число: '); read(base); write('Введите степень: '); read(pow); writeln(exp(ln(base)*pow)); end.
Догадываетесь, какой результат даст программа при возведении -5 в квадрат?
Да, забыл взять основание по модулю
writeln(exp(ln(abs(base))*pow));
Это если степень целая и четная. А если целая и нечетная? Тогда минус сохраняется.
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.
Можно просто умножить возведенный в степень модуль на sign() от основания.
Тогда для примера -5 2 будет -25
Логично))) ПризнаЮ - неправ, поспешил.