Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемЕлена Гордеева
1 Занятие 2. Конструкции принятия решений
2 Конструкции принятия решений позволяют приложениям проверять условия и выбирать направление действий. Другим аспектом конструкций принятия решений в C++ являются циклы, которые выполняют повторяющиеся задачи. Они позволяют компьютеру повторять некоторые действия, не обременяя программиста необходимостью вновь и вновь вводить небольшие изменения в одни и те же места программы при каждом их повторном выполнении.
3 Одноальтернативный оператор if Общий синтаксис одно альтернативного оператора if имеет вид if (условие) оператор; для единственного исполняемого оператора, и if (условие) { } для последовательности исполняемых операторов.
4 Примеры if (numberOfLines < 0) numberOfLines = 0; if (numberOfLines < 0) numberOfLines = 0; if ((height - 54) < 3) { area = length * width; volume = area * height; } if ((height - 54) < 3) { area = length * width; volume = area * height;}
5 1: // Программа, демонстрирующая одно альтернативный 2: // оператор if 3: #include 4: using namespace std; 5: int main () 6: { 7: double x; 8: cout > x; 10: if ( x != 0) 11: cout
6 Двухальтернативный оператор if-else В двухальтернативной форме оператора if ключевое слово else отделяет друг от друга операторы, которые используются при выполнении каждой из альтернатив. Двухальтернативный оператор if-else обеспечивает два альтернативных направления действий в зависимости от значения проверяемого булева условия.
7 Общий синтаксис двухальтернативного оператора if-else имеет вид: if (условие) оператор 1; else оператор 2; для единственного исполняемого оператора в каждом из предложений, и if (условие) { } else { } для последовательности исполняемых операторов в обоих предложениях.
8 Пример if (moneyInAccount > withdraw) { moneyInAccount = withdraw; cout
9 1: // Программа, демонстрирующая двухальтернативный 2: // оператор if 3: #include 4: #include 5: using namespace std; 6: int main () 7: { 8: char c; 9: cout > c; 11: // преобразовать в прописную букву 12: с = toupper (c); 13: if (с >= 'А' && с
10 Многоальтернативный оператор if-else Многоальтернативный оператор if-else содержит вложенные операторы if-else. Многоальтернативный оператор if-else имеет следующий общий синтаксис if (проверяемое_условие 1) оператор 1; |{ }| else if (проверяемое_условие 2) оператор 2; |{ }| else if (проверяемое_условиеN) операторN; |{ } [else операторN+1;|{ последовательность операторов #N+1 >}]
11 Пример char op; int opOk = 1; double x, y, z; cout > x >> op >> y; if (op == '+') z = x + y; else if (op == '-') z = x - y; else if (op == '*') z = x * y; else if (op == '/' && у ! = 0) z = х / у; else opOk = 0;
12 Многоальтернативный оператор if-else выполняет ряд последовательных проверок до тех пор, пока не произойдет одно из следующих событий: 1. Одно из условий в предложении if или в предложении else if имеет значение true. В этом случае выполняются соответствующие операторы. 2. Ни одно из проверяемых условий не имеет значения true. Программа выполняет операторы во всеохватывающем предложении else (если оно существует).
13 1: // Программа, демонстрирующая многоальтернативный 2: // оператор if 3: #include 4: using namespace std; 5: int main () 6: { 7: char с; 8: cout > с; 10: if (с >= 'A' && с
14 Оператор switch Оператор switch предлагает специальную форму создания многоальтернативного решения. Это позволяет вам исследовать разнообразные значения выражения (тип которого совместим с целым) и выбирать соответствующее направление действий.
15 Общий синтаксис оператора switch имеет вид: switch (выражение) { case constant1_1: [case constantl_2:...] break; case constant2_1: [case constant2_2:...] break; case constantN_1: [case constantN_2:...] break; default: break; }
16 Пример ok = true; switch (op) { case '+': z = x + у; break; case '-': z = x - y; break; case '*': z = x * y; break; case '/': if (y ! = 0) z = x / y; else ok = false; break; default: ok = false; break; }
17 Правила использования оператора switch 1. Switch требует совместимого с целым значения. Это значение может быть константой, переменной, вызовом функции или выражением. Оператор switch не работает с типами данных с плавающей точкой. 2. Значение после каждой метки case должно быть константой. 3.C++ не поддерживает метки case с диапазоном значений. В этом случае каждое значение из диапазона должно появляться с отдельной меткой case.
18 Правила использования оператора switch 4. Окончание оператора case обычно отмечается словом break. Это вызывает переход к выполнению первого оператора, который следует после switch. Если вы не включаете break, то выполнение будет продолжаться со следующего оператора case. Как альтернативу вместо break можно использовать оператор return. Это вызовет завершение работы текущей функции, если текущая функция main, то программа завершится. 5. Предложение default всеохватывающее, но оно не обязательно, если вы хотите проверить только отдельный ряд случаев. 6. Ряд операторов в каждой метке case или в групповых метках case можно не заключать в фигурные скобки.
19 Вложенные конструкции принятия решений Конструкции внешнего уровня помогают вам проверять предварительные или более общие условия. Внутренние конструкции помогают вам иметь дело с более специфическими условиями.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.