Тема: Потрібна допомога із блок-схемою
Доброго вечора! Потрібна допомога із блок-схемою та словесним алгоритмом до цього коду
#include <iostream>
#include <math.h>
using namespace std;
double MyPow(double b, long s) {
// Використаний алгоритм піднесення до степені
double v = 1.0;
long e;
// Перевірка чи степінь від'ємний
// Ми будемо підности до додатнього
// в будь-якому випадку,
// а потім вирішимо питання діленням 1 на одержане симло
if (s < 0)
e = -s;
else
e = s;
// цикл піднесення до степені
while (e != 0) {
if ((e & 1) != 0) {
v *= b;
}
b *= b;
e >>= 1;
}
// якщо показник степені від'ємний,
// то ділимо 1 на результат обсчислення степеня числа
// якщо ні то просто повертаємо одержане число
if (s < 0)
return 1 / v;
else
return v;
}
int main() {
system("chcp 1251");
double a;
long b;
cout << "ПРОГРАМА ПІДНЕСЕННЯ ДОВІЛЬНОГО ЧИСЛА ДО ЦІЛОГО СТЕПЕНЯ" << endl << endl;
cout << "Введіть основу степені (будь-яке число, але тільки крапка розділяє цілу і дробну частини ):";
cin >> a;
cout << endl << "Введіть показник степені (тільки ціле число) :";
cin >> b;
cout << "Результат обчислення власною функцією MyPow()" << endl;
cout << MyPow(a, b) << endl << endl;
cout << "Результат обчислення стандартною функцією pow()" << endl;
cout << pow(a, b);
return 0;
}