Professional Documents
Culture Documents
ЛАБОРАТОРНА РОБОТА 3
ЛАБОРАТОРНА РОБОТА 3
Мета роботи
Навчитись використовувати оператор вибору switch.
Оволодіти навичками щодо використання виразів цілого типу та символів у
ролі перемикача оператору вибору switch.
Дослідити роботу операторів керування: break.
ТЕОРЕТИЧНІ ВІДОМОСТІ
Синтаксис основних операторів
Структура вибору switch switch (<вираз цілого типу або змінна
символьного типу >)
{
case <значення_1>:
<послідовність_операторів_1>;
break;
... ... ... ... ... ... ...
case <значення_n>:
<послідовність_операторів_n>;
break;
[default:
<послідовність_операторів_n+1>;]
}
Оператор розриву break;
int main()
{
int year;
cout<<" Write year";
сіn >> year;
switch (year % 12)
{
case 0:cout<< "Year monkey"; break;
case 1: cout<< "Year chicken"; break;
case 2: cout<<"Year dog"; break;
case 3: cout<<"Year pig"; break;
case 4: cout<<"Year rat"; break;
…
default: cout << "Zapys ne virnyy"; break;
}
getch();
return 0;
}
Задача 2
Постановка задачі
1. Видати на екран меню користувача з наступними пунктами:
1 - розрахунок функції
2 - знаходження максимального з трьох чисел
3 - рішення задачі
2. При виборі певного пункту меню користувач повинен ввести з
клавіатури потрібні початкові дані і отримати відповідь. Якщо вибраний
неприпустимий режим роботи програми, то видати повідомлення про
помилку
3. Як функція для першого пункту меню пропонується наступна:
На екран вивести значення x, с і у з точністю до 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 >
#include <math.h>
#include <conio.h>
void main()
{
//описуємо змінну для запам'ятовування вибору з меню
int k;
//видаємо меню на екран і чекаємо вибору від користувача
cout<<"1 - розрахунок функції\n";
cout<<"2 - знаходження мінімального з трьох чисел\n";
cout<<"3 - рішення задачі 3\n";
cout<<"Зробіть вибір: ";
cin>>k;
//починаємо аналізувати вибір користувача
switch (k)
{
//якщо вибраний перший пункт меню
case 1: {
//описуємо змінні
float а,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;
//рахуємо функцію У
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 а,b,c,d;
//вводимо початкові дані
cout<<"Введите три числа: ";
cin>>a>>b>>c;
//знаходимо максимальне з 3 чисел
//с допомогою оператора IF...ELSE
if (a>b)d=a;
else d=b;
if (с>d) d=c;
//виводимо результат
cout<<"Максимальное число рівно (1 спосіб): "<<d<<"\n";
//знаходимо максимальне з 3 чисел
//с допомогою оператора ?:
d=(a>b && a>c ? а : (b>a && b>c ? b : c));
//вивiд результату
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";
}
//робимо паузу для проглядання результату
cout<<"Для продовження натискуйте будь-яку клавішу...";
getch();
}
4. Скласти програми згідно варіанту, записати код у звіт і
побудувати блок-схему для наступної задачі.
5.Оформити звіт з виконання роботи.
Зміст звіту:
- Тема роботи
- Мета роботи
- Постановка задачі згідно варіанту
- Програма
- Результати роботи
- Висновки.
Варіанти індивідуальних завдань
Задача 3.1. Використовуючи оператор вибору, розробити програму згідно з індивіду-
альним завданням.
1 Напишіть програму, яка запитує в користувача номер дня тижня, а
потім виводить назву дня тижня чи повідомлення про помилку, якщо
введені невірні дані (понеділок – 1, …, неділя – 7).
2 Напишіть програму, яка запитує у користувача число, а потім
підносить його до степеню 2, 3, 4 або 5.
3 Написати програму, що підраховує кількість різних цифр у рядку
символів, що вводиться з клавіатури.
4 Написати програму, що підраховує кількість різних символів «a, b, c, d,
e, f» у рядку символів, що вводиться з клавіатури.
5 Напишіть програму, що підраховує пробіли, символи табуляції та
нового рядка у вхідній послідовності символів, що вводяться з
клавіатури.
6 Напишіть програму, що видаляє символ, який визначається
користувачем, із вхідного потоку символів, що вводяться.
7 Напишіть програму, що перетворює літери, які вводяться з клавіатури,
із нижнього регістра у верхній.
8 Для змінних x і y обрахувати вирази, в залежності від операції (+, -,
*, /).
9 Написати програму, яка визначає, у якої фігури площа більша: коло,
задане радіусом, чи квадрат, заданий стороною.
10 Напишіть програму, яка запитує в користувача номер місяця року, а
потім виводить назву місяця або повідомлення про помилку, якщо
введено невірні дані (січень – 1, …, грудень – 12).
11 Напишіть програму, яка запитує в користувача час , а потім виводить
"АМ", якщо введено час до полудня, або "РМ", якшо час після полудня.
12 Напишіть програму, яка підраховує кількість голосних і приголосних
літер у введеному слові або словосполученні.
13 Напишіть програму, яка запитує в користувача номер навчального
урока, а у відповідь виводить час його початку і закінчення.
14 Напишіть програму, яка запитує в користувача цифру, а у відповідь
виводить цю цифру словами.
15 Для змінної x обрахувати вираз в залежності від операції (х++, ++х,
х--, --х).
3.2 Задача 2
Варіанти завдань:
1.а) площа трикутника S= √ p( p−a)( p−b)( p−c) ,
де p=1/2(a+b+c), a,b,c - довжина сторін трикутника;
б) площа круга
2
S=πr r-радіус, довжина кола L=2πr, площа сфери Scf=4πr2 , об’єм
сфери
V=4/3 πr3
в) площа трапеції
1
S= (a+b )h
2 , де a,b- основи трапеції, h- висота трапеції; периметр
трапеції.
г) площа паралелограма S=ah , де а- основа паралелограма, h - висота
д)площа прямокутника S=ab де a,b- сторони прямокутника, периметр
прямокутника Р.
a
α=arcsin ( sin γ)
в) кут α c
В останніх двох формулах довжину сторони с потрібно попередньо
знайти за формулою пункту б).
ν2
h=
11.a) висота підйому тіла, кинутого вертикально вгору: 2g
б) початкова швидкість тіла, кинутого вертикально вгору, висота
підйому якого дорівнює h: ν=√2 gh
e= √ a2 −b2
13.а) ексцентриситет еліпса a
2
в) фокальний параметр еліпса p=b /a
2
г) велика піввісь еліпса a=p /(1−e )
p
b=
д) мала піввісь еліпса √1−e .
14.а) сумарний опір при послідовному з’єднанні двох резисторів
R=R 1 + R2
б) сумарнийопір при паралельному з’єднанні двох резисторів
R 1 R2
R=
R1 + R 2
в) сумарний опір з’єднання трьох резисторів (R3 під’єднаний
послідовно до паралельно з’єднаних R1 i R2)
R1 R2 +R 2 R3 ++ R3 R1
R=
R1 + R2
г) сумарний опір з’єднання трьох резисторів (R3 під’єднаний
паралельно до послідовно з’єднаних R1 i R2)
R 1 R 3 + R 2 R3
R=
R 1 +R2 +R 3 .
2
b
p=
б) фокальний параметр гіперболи a
p
a= 2
в) дійсна піввісь гіперболи e −1
p
b= 2
г) уявна піввісь гіперболи √e −1 .
16.а) Тіло вільно падає. Визначити пройдений тілом шлях після першої
та другої секунди падіння.
б) Паралалельно з’єднано три задані опори. Який опір з’єднання і
струми у кожній гілці, якщо прикладено напругу U вольт.
в) вввести п’ятизначне ціле числоо. Обчислити суму його чисел.
г) Виконати облік трьох наіменувань товарів, які є на складі. Запитати
про кількість і ціни товарів. Виести інформацію про товари на складі.