
- •Лекция 5. Разветвляющиеся вычислительные процессы в
- •1.Исследование условного оператора if…else
- •2. Использование условного оператора if…else для 3-х интервалов значений переменой
- •5. Исследование вложенного условного оператора if…else
- •2. Оператор выбора switch
- •3. Безусловный оператор goto
- •Goto Метка;
- •Метка: оператор;
- •1. Структури потоку управління.
- •2. Умовний оператор if …else.
- •If (умова) оператор1; else оператор 2; .
- •If (умова)
- •If (умова) оператор1; else оператор 2;
- •If (умова) оператор 1;
- •3. Оператор вибору switch.
- •Vvedit zagolovnu bucvu alfavitu :
- •Voloshin
- •Vvedite zagolovnu bucvu alfavitu :
- •4. Безумовний оператор.
- •If (умова) оператор1; else оператор 2;
- •Питання для самоконтролю.
Vvedit zagolovnu bucvu alfavitu :
B
Bugaenko
Gogol
Voloshin
Zuev
Press any key to continue
Ми бачимо, що виконалися всі оператори, починаючи з мітки В.
У конструкції switch є одна особливість. Якщо знайдена мітка case, співпадаюча із значенням виразу, що перевіряється, то виконується група операторів даного case. Після чого управління передається наступному по порядку case. В результаті будуть виконані всі оператори в конструкції switch.
Якщо це небажано, то в кінці групи операторів case необхідно поставити оператор break. Він перериває виконання конструкції switch і передає управління наступному оператору програми.
Приклад.
char ch;
cout << "Vvedit zagolovnu bucvu alfavitu :"<<endl;
cin >> ch;
if( ch >='A' && ch<='Z')
switch (ch)
{
case 'A': cout<<"Avramenko"<<endl;break;
case 'B': cout<<"Bugaenko"<<endl;break;
case 'V': cout<<"Voloshin"<<endl;break;
case 'G': cout<<"Gogol"<<endl;break;
default: cout<<"Zuev"<<endl;
}
else
cout<<"Vvedite zagolovnu bucvu !"<<endl;
Після запуску програми і введення букви В на екран буде виведено тільки одне прізвище.
Vvedite zagolovnu bucvu alfavitu :
B
Bugaenko
Press any key to continue
4. Безумовний оператор.
Безумовний перехід до будь-якого оператора програми здійснюється за допомогою оператора безумовного переходу. Оператор має наступну структуру:
goto мітка;
Мітка є ідентифікатором з розташованим за ним символом двокрапки :
А:, label: .
Мітками позначають який-небудь оператор, на який повинен бути здійснений перехід.
Приклад фрагмента програми з використанням оператора goto.
if (x>=0)
{
// виконання якісь операторів програми
.................
goto A;
}
.................
A: cout <<"Sum = "<< S << endl;
}
Як тільки виконання програми досягне оператора goto А, управління буде передано оператору cout, оскільки він помічений міткою А.
Висновок. Умовний оператор реалізує структуру вибору. Форма запису оператора має вигляд:
If (умова) оператор1; else оператор 2;
Якщо умова виконується (приймає значення «істина» - true), то виконується оператор 1. Якщо умова не виконується (приймає значення «неправда» - false) – виконується оператор 2.
До сих пор рассматривались простые условия типа x<0. Вместе с тем
оператор if позволяет реализовывать более сложные условные переходы. В
языке С имеются три логические операции:
&& - логическое И
|| - логическое ИЛИ
! – логическое НЕТ
На основе этих трех логических операций можно сформировать более сложные
условия. Например, если имеются три переменные exp1, exp2 и exp3, то они
могут составлять логические конструкции, представленные в табл. 3.
Таблица 3. Пример составных логических выражений
if(exp1 > exp2 && exp2 < exp3 ) Истинно, если значение переменной
exp1 больше значения переменной
exp2 и значение переменной exp2
меньше значения переменной exp3.
if(exp1 <= exp2 || exp1 >= exp3 ) Истинно, если значение переменной
exp1 меньше либо равно значения
переменной exp2 или значение
переменной exp2 больше либо равно
значения переменной exp3.
if(exp1 && exp2 && !exp3) Истинно, если истинное значение exp1
и истинно значение exp2 и ложно
значение exp3.
if(!exp1 || !exp2 && exp3) Истинно, если ложно значение exp1
или ложно значение exp2 и истинно
значение exp3.
Подобно операциям умножения и сложения в математике, логические
операции И ИЛИ НЕТ, также имеют свои приоритеты. Самый высокий
приоритет имеет операция НЕТ, т.е. такая операция выполняется в первую
очередь. Более низкий приоритет у операции И, и наконец самый малый
приоритет у операции ИЛИ.
Условная операция if облегчает написание программ, в которых
необходимо производить выбор между небольшим числом возможных
вариантов. Однако иногда в программе необходимо осуществить выбор одного