Вопрос задан 12.06.2023 в 05:20. Предмет Информатика. Спрашивает Дробница Алина.

Задача 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++).
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Емельянов Егор.

// Задача 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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Задача 1:

cpp
#include <cmath> double Power1(double A, double B) { if (A <= 0) { return 0; } return std::exp(B * std::log(A)); }

Задача 2:

cpp
double Power2(double A, int N) { if (N > 0) { double result = 1.0; for (int i = 0; i < N; i++) { result *= A; } return result; } else if (N < 0) { double result = 1.0; for (int i = 0; i > N; i--) { result /= A; } return result; } else { return 1; } }

Задача 3:

cpp
double Power3(double A, double B) { if (std::fmod(B, 1.0) == 0.0) { int N = static_cast<int>(B); return Power2(A, N); } else { return Power1(A, B); } }

Пример использования функции Power3 для нахождения AP, BP, CP, если даны числа P, A, B, C:

cpp
#include <iostream> int main() { double P = 2.5; double A = 3.0; double B = 1.7; double C = 4.2; double AP = Power3(A, P); double BP = Power3(B, P); double CP = Power3(C, P); std::cout << "AP = " << AP << std::endl; std::cout << "BP = " << BP << std::endl; std::cout << "CP = " << CP << std::endl; return 0; }

Результат:

makefile
AP = 15.5885 BP = 2.32001 CP = 50.586

Обратите внимание, что код представлен на языке программирования C++.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос