1 семестр / лр 5
.docxУчреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра информационных систем и технологий
ОТЧЕТ
по лабораторной работе №5
Разветвляющиеся программы
Выполнила: студентка ФИТ группы № 9 Каленик Алина
Проверила: Пустовалова Наталья Николаевна
Минск 2020
Задание №1
3 |
Даны действительные числа x, y, z. Вычислить max(x + y + z, xyz) * 3. |
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_CTYPE, "Russian");
double x, y, z, max, t;
cout << "Введите число x"<< endl;
cin >> x;
cout << "Введите число y"<< endl;
cin >> y;
cout << "Введите число z"<< endl;
cin >> z;
max = x + y + z;
if (max < x * y * z)
max = x * y * z;
else
max = x + y + z;
t = max * 3;
cout << "t = " << t << endl;
}
Задание №2
3 |
Даны три числа a, b и c. Найти среднее геометрическое этих чисел, если все они отличны от нуля, и среднее арифметическое в противном случае. |
Через оператор if:
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "Russian");
double a, b, c, m, n, t;
cout << "Введите число a" << endl;
cin >> a;
cout << "Введите число b" << endl;
cin >> b;
cout << "Введите число c" << endl;
cin >> c;
t = a * b * c;
if (t == 0)
{
m = (a + b + c) / 3;
cout << "Среднее арифметическое введенных чисел = " << m << endl;
}
else
{
n = sqrt(a * b * c);
cout << "Среднее геометрическое введенных чисел = " << n << endl;
}
}
Через тернарный оператор:
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "Russian");
double a, b, c, m, n, t;
cout << "Введите число a" << endl;
cin >> a;
cout << "Введите число b" << endl;
cin >> b;
cout << "Введите число c" << endl;
cin >> c;
t = a * b * c;
(t == 0) ? (m = (a + b + c) / 3, cout << "Среднее арифметическое введенных чисел = " << m << endl) : (n = sqrt(a * b * c), cout << "Среднее геометрическое введенных чисел = " << n << endl);
}
Задание №3
Написать программу, реализующую диалог на любую тему с использованием оператора switch.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "ru");
int a;
cout << "Не могли бы вы посоветовать книгу? (1-Да, с удовольствием; 2-Нет, извините) " << endl;
cin >> a;
switch (a)
{
case 1:
{
cout << "Какой жанр вы предпочитаете? (1-Романы; 2-Детективы; 3-Не знаю )" << endl;
cin >> a;
switch (a)
{
case 1:
cout << "Тогда вам подойдет произведение М.Миттчел 'Унесенные ветром'" << endl;
break;
case 2:
cout << "Тогда вам подойдет произведение Б.Акунина 'Азазель'" << endl;
break;
case 3:
cout << "Тогда вам подойдет произведение Р.Бредбери '451 градус по Фаренгейту'" << endl;
break;
}
break;
}
case 2:
cout << "Жаль" << endl;
break;
default:
cout << "Некорректный вариант" << endl;
break;
}
}
Дополнительное задание
2. На шахматном поле в клетке (k, l) расположен конь. Угрожает ли он фигуре стоящей в клетке (m, n)? Предусмотреть обработку ошибочного ввода пользователя (выдавать диагностическое сообщение).
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
char k, m; int n;
cout << "Программа расчитывает угрожает ли конь, стоящий в клетке (k,1) другой фигуре стоящей в клетке (m,n)\n";
cout << "Задайте буквенную координату для коня ( от 'A' до 'H') \n";
cin >> k;
cout << "Задайте буквенную координату для фигуры (от 'A' до 'H') \n";
cin >> m;
cout << "Задайте числовую координату для фигуры (от 1 до 8)\n";
cin >> n;
if (((k >= 'A') && (k <= 'H')) && ((m >= 'A') && (m <= 'H')) && ((n >= 1) && (n <= 8)))
{
if ((n >= 4)&&(n !=1))
cout << "Вашей фигуре ничего не угражает";
else
{
if (((m - k <= 2) || (k - m <= 2)) && ((m - k != 0) || (k - m != 0)))
{
if ((((m - k == 1) || (k - m == 1)) && (n == 3)) || (((m - k == 2) || (k - m == 2)) && (n == 2)))
cout << "Ваша фигура будет сбита";
else
cout << "Вашей фигуре ничего не угражает";
}
else
cout << "Вашей фигуре ничего не угражает";
}
}
else cout << "Вы ввели неккорктные данные, попробуте еще раз =)\n";
}
Дополнительное задание
2. На шахматном поле в клетке (k, l) расположен слон. Угрожает ли он фигуре стоящей в клетке (m, n)? Предусмотреть обработку ошибочного ввода пользователя (выдавать диагностическое сообщение).
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
char k, m; int n;
cout << "Программа расчитывает угрожает ли слон, стоящий в клетке (k,1) другой фигуре стоящей в клетке (m,n)\n";
cout << "Задайте буквенную координату для слона ( от 'A' до 'H') \n";
cin >> k;
cout << "Задайте буквенную координату для фигуры (от 'A' до 'H') \n";
cin >> m;
cout << "Задайте числовую координату для фигуры (от 1 до 8)\n";
cin >> n;
if (((k >= 'A') && (k <= 'H')) && ((m >= 'A') && (m <= 'H')) && ((n >= 1) && (n <= 8)))
{
if ((k = m) && (n == 1))
cout << "Вашей фигуре ничего не угражает";
else
{
if ((k - m == n) || (m - k == n))
cout << "Вашей фигуре ничего не угражает";
else
cout << "Ваша фигура будет сбита";
}
}
else cout << "Вы ввели неккорктные данные, попробуте еще раз =)\n";
}