1. Задание:
Заданное число N является степенью числа а (показатель степени может находиться в диапазоне от 0 до 4).
2. Описание алгоритма программы:
Если введенная степень числа n равна 1-це, то ответ true, иначе, если при возведении числа s в следующую степень(от 0 до 4) оно не будет равняться заданному числу n, то ответ false, иначе ответ true;
Рис. 2. Схема алгоритма
Описание переменных и структур данных, которые применяются в программе
Имя переменной или объекта программы | Тип данных | Назначение |
n | int | Хранит целую степень числа а |
flag | int | Хранит результат выполнения программы |
program_3() | void | Функция, содержащая логику программы |
Имя переменной или объекта программы | Тип данных | Назначение |
a | int | Хранит введенное число |
s | int | Хранит степень числа |
Текст программы с комментариями
// 1_2.cpp: Задание 2
#include <iostream>
#include <cmath>
using namespace std;
/*
* Запрашивает номер программы
* Возвращает номер программы
*/
int response()
{
int response;
|
|
cout << "Введите номер программы: ";
cin >> response;
cout << endl;
return response;
}
/*
* Решение индивидуальной задачи
* Ничего не возвращает
*/
void program_3()
{
int n;
int flag;
int a;
// вывод сообщения на экран
cout << endl << "Введите целую степень числа а: ";
cin >> n;
cout << endl << "Введите целое число а: ";
cin >> a;
int s = a;
flag = 0;
// логика программы
if (n == 1)
{
cout << "true" << endl << endl;
}
else
{
for (int i = 0; i < 4; i++)
{
if (s == n)
{
cout << "true" << endl << endl;
flag = 1;
break;
}
else
{
s *= a;
}
}
}
if (flag == 0)
{
cout << "false" << endl << endl;
}
}
void main()
{
setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали
int number;
do
{
number = response();
switch (number)
{
case 0:
{
break;
}
case 1:
|
|
{
break;
}
case 2:
{
break;
}
case 3:
{
program 3();
break;
}
default:
cout << "Такой программы не существует! Попробуйте ещё раз!" << endl << endl;
break;
}
} while (number!= 0);
}
Контрольный пример