Использование основных операторов языка С++. Дана последовательность из n целых чисел. Найти сумму минимального и максимального элементов в этой последовательности.
Предмет
Тип работы
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Саратовский государственный технический университет имени Гагарина Ю.А.»
Саратовский колледж машиностроения и энергетики
ОТЧЁТ
по лабораторной работе №2
Саратов
2020г
Цель задания
Постановка задачи
Решить указанные в варианте задачи, используя основные операторы языка С++. При решении задачи, использовать все типы циклов (for, while, do while).
Задача 1.
Дана последовательность из n целых чисел. Найти сумму минимального и максимального элементов в этой последовательности.
Блок-схема
Код программы
#include <iostream>
#include <locale>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "Введите n\n";
int n, a;
int max = INT_MIN;
int min = INT_MAX;
cin >> n;
if (n <= 0) cout << "n должно быть больше 0";
else
{
cout << "Заполните последовательность \n";
for (int i = 1; i <= n; i++)
{
cin >> a;
if (a > max) max = a;
if (a < min) min = a;
}
int sum = max + min;
cout << "Сумма максимального и минимального элемента = " << sum;
}
return 0;
}
Тестирование
Номер теста | Проверяемый случай | Коэффициенты | Результаты | |
n | a | |||
1 | n>0 | 5 | -5, -1, 5, 11, -8 | Сумма максимального и минимального элемента = 3 |
2 | n>0 | 1 | 5 | Сумма максимального и минимального элемента = 10 |
3 | n=0 | 0 | - | n должно быть больше 0 |
Тест 1.
Тест 2.
Тест 3.
Задача 2.
Дана последовательность целых чисел, за которой следует 0. Найти номер минимального элемента в этой последовательности.
Блок-схема
Код программы
#include <iostream>
#include <locale>
#include <cmath>
using namespace std;
int main()
{
int a, i, imin, amin;
setlocale(LC_ALL, "Russian");
cout << "Введите числа: ";
i = 0;
amin = INT_MAX;
imin = 0;
do {
i++;
cin >> a;
if (a < amin && a != 0) {
amin = a;
imin = i;
}
} while (a != 0);
if (i > 1)
cout << "\n№ минимального элемента = " << imin;
else
cout << "\nПоследовательность пустая";
return 0;
}
Тестирование
Номер теста | Проверяемый случай | Коэффициенты | Результаты | |
i | a | |||
1 | i>0 | 2 | -11, 5 | № минимального элемента =1 |
2 | i>0 | 3 | 3, -5, -5 | № минимального элемента =2 |
3 | i=0 | 0 | - | Последовательность пустая |
Тест 1.
Тест 2.
Тест 3.
Задача 3.
Определить является ли число k степенью 3.
Блок-схема
Код программы
#include <iostream>
#include <locale>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "Введите число\n";
int k;
int n = 0;
cin >> k;
if (k <= 0) cout << "k должно быть больше 0";
else
{
while (pow(3, n) <= k)
{
n++;
}
if (pow(3,n)==k) cout << k <<" является степенью 3";
else cout << k << " не является степенью 3";
}
return 0;
}
Тестирование
Номер теста | Проверяемый случай | Коэффициенты | Результаты |
k | |||
1 | k>0 | 1 | 1 является степенью 3 |
2 | k>0 | 81 | 81 является степенью 3 |
3 | k>0 | 15 | 15 не является степенью 3 |
4 | k=0 | 0 | k должно быть больше 0 |
Тест 1.
Тест 2.
Тест 3.
Тест 4.