Читайте также: |
|
Умовні оператори реалізують розгалуження процесу виконання програми та дають змогу вибрати один з можливих варіантів продовження програми. В С++ є два два вида умовних операторів – іf i switch.
Оператор іf має дві форми – скорочену та повну. Синтаксис скороченої форми умовного оператора такий:
if (вираз) оператор;
Вираз, записаний в дужках, визначає, чи буде виконаний оператор. Якщо значення виразу істина (ненульове), то оператор буде виконаний. Якщо значення виразу хибне (нульове), то оператор буде пропущений, управління передається до оператора, наступного за іf.
Оператором іf може бути довільний оператор мови С++: оператор – вираз, умовний оператор, оператор циклу, оператор переходу. Якщо від значення виразу в операторі іf має залежити група операторів, то їх оформляють як оператор – блок.
Синтаксис повної форми оператора іf такий:
if (вираз)
оператор1;
else
оператор2;
Оператор 1 виконується, якщо значення виразу істинне (ненульове), а оператор 2 – якщо хибне (нульове). Внутрішні оператори 1 і 2 можуть бути довільними операторами мови, в тому числі порожніми операторами, блоками, що об’єднують групу операторів, або іншим оператором іf. В останньому випадку за замовчуванням else – частина умовного оператора пов’язується з найближчим попереднім оператором іf.
Приклад програми. Знайти модуль числа.
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "");
double a = -7, t;
if (a >= 0)
t = a;
if (a < 0)
t = -a;
if (a >= 0)
t = a;
else
t = -a;
t = a > 0? a: -a;
}
Приклад програми. Знайти рішення рівняння виду .
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "");
double a=1, b=4, c=3;
double d, x1, x2;
d = b * b - 4 * a * c;
if (d > 0) {
x1 = (-b + sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a);
cout << "2 решения" << endl;
cout << "x1 = " << x1 << endl;
cout << "x2 = " << x2 << endl;
} else if (d == 0) {
x1 = (-b + sqrt(d)) / (2 * a);
cout << "1 решение" << endl;
cout << "x = " << x1 << endl;
} else
cout << "Решений нет" << endl;
}
Приклад програми. Робота світлофора запрограмована таким чином: на початку кожного часу протягом трьох хвилин горить зелене світло, потім протягом двох хвилин – червоне, і так далі. Дано дійсне число – час в хвилинах з початку чергового часу. Визначити, сигнал якого кольору горить на світлофорі.
#include <iostream>
using namespace std;
int main(){
int green = 3, red = 2, temp;
double t = 24;
temp = (int) t % (green + red);
if (temp < green)
cout << "Green" << endl;
else
cout << "Red" << endl;
}
Приклад програми. Знайти значення функції
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "");
double x = 2.34, y;
if (x < 0)
y = pow(x, 2);
else if (0 <= x && x < 5)
y = sin(x) + cos(x);
else if (5 <= x && x < 10)
y = exp(x);
else
y = -x;
cout << y << endl;
}
Завдання на лабораторну роботу
Побудувати математичну модель, алгоритм та написати програму з використанням операторів вибору та варіанта (варіант за № в журналі).
Варіанти завдань л_р №3
№ | Функція | Умова | Значення змінних |
a > b a = b a < b | a = -0.5 b = 2 | ||
2. | a > b a = b a < b | a = -2.5 b = -1 | |
3. | a > sinb a = sinb a < sinb | a = -2.5 b = -3 | |
4. | 1<=t<=2 t<1 t>2 | a = -0.5 b = 2 t = 1 | |
5. | a>0 a>=ln(b) a<ln(b) | a = -1.5 b = 0.5 | |
6. | a>e a<=tg(b) a>tg(b) | a = 3.5 b = -0.5 | |
7. | a>b lg(a) <= tg(b) lg(a)>tg(b) | a = 0.5 b = -2.5 | |
8. | a = 1 lg(a)<b lg(a)>=b | a = 10.5 b = 0.5 | |
9. | lg(a)<b lg(a)>b lg(a)=b | a = -3.5 b = 2.5 | |
10. | a>0або b>0 a=0, 0<b<2 в інших випадках | a = -1.5 b = 12.5 | |
11. | x>y або y=0 x=y, y>0 y>0 | x=-2 y= 2 | |
12. | cos(a)<b cos(a)=b cos(a) > b | a = -1.5 b = 0.5 | |
13. | (x+y)>5та y>0 y<0 в інших випадках | x = -1.5 y = 7.5 | |
14. | a= b a=1, та b>0 в інших випадках | a = -1.5 b = 12.5 | |
15. | cos(x)>0та y>0 sin(y)<>0 та x>0 в інших випадках | x = -1.5 y = -2.5 | |
16. | x<1.2 x=1.2 x>1.2 | x = -1.5 x = 1.2 x = 1.5 | |
17. | a=0 a=1 або 2 або 3 в інших випадках | a = 0; 3; 5 b = -1.5 | |
18. | x>0 або y>x x>y та y>0 в інших випадках | x = 1.9 y = -2.5 | |
19. | x=0 та y=1 x<0 та y<1 в інших випадках | x = -1.5 y = 0.9 | |
20. | x2>1 та y3>1 x=0 або y=0 в інших випадках | x = -1.5 y = 1.5 |
Дата добавления: 2015-07-11; просмотров: 315 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Тема: Побудування алгоритму, С-програми та її реалізація для процесів з розгалуженням | | | Розглянути приклади використання перемикача та реалізувати їх в середовищі програмування. |