Розгалуження
Умова записується у дужках, дії наслідків у фігурних дужках (якщо команда-наслідок лише одна, можна без дужок), при потребі пишеться else.
// умова
if (num < 0)
{ // дія ТАК
cout << "Число від\'ємне." << endl; // слеш перед символом дозволяє надрукувати його у текстовому рядку
}
else // дія НІ
{
cout << "Число додатнє." << endl;
}
Існує конструкція else if
// умова 1
if (num < 0)
{ // дія ТАК 1
cout << "Число від\'ємне." << endl;
} // дія НІ: умова 2
else if (num == 10)
{
cout << "Число нуль." << endl;
} //дія ТАК 2
else
{ // дія НІ 2
cout << "Число додатнє." << endl;
}
Зверніть увагу на відмінність від мови Паскаль: перед else ставиться ;
перевірка рівності це два знаки дорівнює ==
перевірка не-рівності: знак оклику та дорівнює !=
АБО (OR) позначається&&
І (AND) позначається ||
Задача Канаверал. Визначити поведінку космічного апарата, що стартує на екваторі, залежно від його початкової швидкості V. Як ви знаєте з уроків фізики, тут можливі чотири випадки:
• при V<7,8 км/с апарат впаде на поверхню Землі;
• при 7,8≤V<11,2 км/с апарат стане супутником Землі;
• при 11,2≤V<16,4 км/с апарат стане супутником Сонця;
• при V≥16,4 км/с апарат покине Сонячну систему.
Графічно цю задачу можна зобразити у вигляді блок-схеми:
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Ukrainian");
float v;
cout<<"Введіть швидкість (км/сек):";
cin>>v;
if(v < 7.8)
cout<<"Корабель впаде на Землю"<<endl;
elseif(v < 11.2)
cout<<"Корабель - супутник Землі"<<endl;
elseif(v < 16.4)
cout<<"Корабель - супутник Сонця"<<endl;
else
cout<<"Корабель покине Сонячну систему"<<endl;
system("pause");
return 0;
}
Іноді оператор розгалуження зручно замінити оператором вибору switch з переліком можливих значень у case.
switch (змінна)
{
case значення1:
дії;
break;
case значення2:
дії;
break;
}