Практическое
занятие № 2
ТЕМА: Создание программ с операторами ветвления
на С++
ЦЕЛЬ РАБОТЫ: получить практические навыки по применению условных операторов и записи логических выражений
Ход
работы
1. Выдать на экран меню пользователя со
следующими пунктами:
1
- расчет функции
2
- нахождение максимального из трех чисел
3
- решение задачи
2.
При выборе определенного пункта меню пользователь должен ввести с клавиатуры
нужные исходные данные и получить ответ. Если выбран недопустимый режим работы
программы, то выдать сообщение об ошибке
3.
В качестве функции для первого пункта меню предлагается следующая:

На экран с вывести значение x, с и y с
точностью до 3 знаков после запятой. Проверить работоспособность
программы при всех возможных значениях а (при а=10 x=11.389, c=13.71, y=-0,466;
при a=5 x=0.006, c=12.506, y=2.
4.
Нахождение минимального из трех чисел выполнить с помощью оператора IF...ELSE и оператора ? :
Выдать на экран оба результат для сравнения
5.
В качестве задачи для третьего пункта меню предлагается следующая. К финалу
конкурса лучшего по профессии «Специалист электронного офиса» были допущены
двое: Иванов и Петров,. Соревнования проходили в три тура. Иванов в первом туре
набрал M1 баллов, во втором – N1, в третьем – P1. Петров – соответственно M2,
N2, P2. Составьте программу, определяющую фамилию и общую сумму баллов
победителя.
//подключаем заголовочные файлы
#include <iostream.h>
#include
<math.h>
int main()
{
//подключаем
отображение русских символов
system("chcp 1251>nul");
//описываем
переменную для запоминания выбора из меню
int k;
//выдаем меню на экран и ждем выбора от пользователя
cout<<"1 - расчет функции\n";
cout<<"2 - нахождение минимального из трех чисел\n";
cout<<"3 - решение задачи\n";
cout<<"Сделайте выбор: ";
cin>>k;
//начинаем анализировать выбор пользователя
switch (k)
{
//если выбран первый пункт меню
case 1: {
//описываем переменные
float a,x,c,y;
//вводим исходные данные
cout<<"Введите значение переменной а: ";
cin>>a;
//считаем функцию Х
if (a>=8)
x=4+exp(2);
else
x=pow(cos(a),4);
//считаем функцию С
c=pow(5*sin(4*x),1/3.0)+12;
//считаем функцию Y
if (c>0)
y=4*cos(x)-2;
else
if (c==0)
y=sqrt(x)+4;
else
y=pow(x,3)/2;
//выводим результат
cout.precision(3);
cout<<"При a="<<a<<"
x="<<x<<", c="<<c<<",
y="<<y<<"\n";
//выходим из оператора switch
break;
}
//если выбран второй пункт меню
case 2: {
//описываем переменные
float a,b,c,d;
//вводим исходные данные
cout<<"Введите три числа: ";
cin>>a>>b>>c;
//находим максимальное из 3 чисел
//с помощью оператора IF...ELSE
if (a>b && a>c)
d=a;
else
if (b>a && b>c)
d=b;
else
d=c;
//выводим результат
cout<<"Максимальное число равно (1 способ): "<<d<<"\n";
//находим максимальное из 3 чисел
//с помощью оператора ?:
d=(a>b
&& a>c ? a : (b>a && b>c ? b : c));
//выводи результат
cout<<"Максимальное число равно (2 способ): "<<d<<"\n";
//выходим из оператора switch
break;
}
//если выбран третий пункт меню
case 3:
{
//описываем переменные
float m1,n1,p1,m2,n2,p2;
//вводим исходные данные
cout<<"Введите баллы, набранные Ивановым в трех турах: ";
cin>>m1>>n1>>p1;
cout<<"Введите баллы, набранные Петровым в трех турах: ";
cin>>m2>>n2>>p2;
//определяем победителя и выводим результат
if (m1+n1+p1 > m2+n2+p2)
cout<<"Победил Иванов, набрав "<<m1+n1+p1<<" баллов\n";
else
if (m1+n1+p1 < m2+n2+p2)
cout<<"Победил Петров, набрав "<<m2+n2+p2<<" баллов\n";
else
cout<<"В соревнованиях зафиксирована ничья\n";
//выходим из оператора switch
break;
}
//если выбран недопустимый пункт меню
default :
//выдаем сообщение об ошибке
cout<<"Выбран недопустимый режим работы программы\n";
}
//делаем паузу для просмотра результата
system("pause");
//завершаем
работу главной программы
return 0;
}
Решить самостоятельно:
1.
Составить алгоритм вычисления
стоимости покупки с учетом скидки: при покупке товара на сумму больше 500 руб.
предоставляется скидка 10 %. Входные данные: a (цена единицы товара), b (количество
единиц товара). Выходные данные: s (сумма покупки).
2.
Составить алгоритм решения задачи
для определения большей скорости: одно значение указано в километрах в час, а
другое в метрах в секунду. (1 м/с = 3,6 км/ч).
3.
Составить алгоритм вывода названия
дня недели по его порядковому номеру (1 – понедельник, 2 – вторник, 3 – среда,
4 – четверг, 5 – пятница, 6 – суббота, 7 – воскресенье).
4.
Составить алгоритм решения задачи
для вычисления значения функции

5.
Составить алгоритм для нахождения
произведения двух наименьших чисел из трех заданных.
Указание: задачу можно свести к
нахождению максимального из трех чисел x, y, z. Если x – максимальное,
найдите произведение чисел y, z. Если y – максимальное, найдите
произведение чисел x, z. И т.д.
6.
Составить алгоритм расчета премии:
если оклад сотрудника > 5000 процент премии составляет 10 %; если оклад <
5000, то процент премии равен 12 %.
7.
Составить алгоритм вычисления Z =
min (A – B, max (C3, A + B + С)).