• Предмет: Информатика
  • Автор: cyfrodo23
  • Вопрос задан 5 месяцев назад

Задача 1 - Описать функцию Power1 (A, B) действительного типа, которая находит величину AB по формуле AB = exp(B·ln(A)) (параметры A и B – действительны). В случае нулевого или отрицательного параметра A функция возвращает 0. С помощью этой функции можно найти степени AP, BP, CP, если даны числа P, A, B, C.


Задача 2 -Описать функцию 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.

---------------------------------------------------------------------------------------------------

!Задача 3 - Используя функции Power1 и Power2 из задач 1 и 2, описать функцию Power3 (A, B) действительного типа с действительными параметрами, что находит AB следующим образом: если B имеет нулевую дробную часть, то вызывается Power2 (A, N), где N - переменная целого типа, равная числу B; иначе вызывается Power1(A, B). С помощью Power3 найти AP, BP, CP, если даны числа P, A, B, C. (Ответ нужен на 3-тий вопрос C++).

Ответы

Ответ дал: wherethefux
1

// Задача 1

#include <iostream>

#include <cmath>

using namespace std;

double Power1(double A, double B)

{

   if (A <= 0)

       return 0;

   else

       return exp(B * log(A));

}

// Задача 2

double Power2(double A, int N)

{

   double result = 1;

   if (N > 0)

   {

       for (int i = 0; i < N; i++)

           result *= A;

   }

   else if (N < 0)

   {

       for (int i = 0; i < abs(N); i++)

           result *= A;

       result = 1 / result;

   }

   return result;

}

// Задача 3

double Power3(double A, double B)

{

   if (B - int(B) == 0)

       return Power2(A, int(B));

   else

       return Power1(A, B);

}

// С помощью Power3 найти AP, BP, CP, если даны числа P, A, B, C.

int main()

{

   double A, B, C;

   int P;

   cout << "Введите P, A, B, C: ";

   cin >> P >> A >> B >> C;

   cout << "AP = " << Power3(A, P) << endl;

   cout << "BP = " << Power3(B, P) << endl;

   cout << "CP = " << Power3(C, P) << endl;

   return 0;

}

Вас заинтересует