Клон в програмата
Вложени условни изрази
Когато е необходимо да се провери последователно няколко взаимно изключващи се условия, отделен блок не се отваря за останалите части (следващият, ако е написан като обикновен израз, а не като съставен израз), за да се получи по-компактен запис. Такива конструкции в кода се наричат else ... if.
Нека първо разгледаме опцията за писане с вложени блокове. Например, помислете за следната задача.
Един мъж попълва въпросник във военната регистрация и програмата трябва, в зависимост от посочената от него възраст, да показва различни подкани, а именно:
- Ако възрастта е посочена от 18 до 27 години, съобщете, че пълнителят подлежи на набор или може да служи по договор.
- Ако възрастта е от 28 до 59 години, тогава докладвайте, че пълнителят може да служи по договор.
- Ако посочената възраст е под 18 или над 59 години, тогава докладвайте, че пълнителят е на възраст, която не е призована.
- Ако посочената възраст е неположителна или над 100 години, съобщете за грешка.
Да предположим, че възрастта се съхранява в променливата n, тогава е необходим следният код, за да се покаже подсказката:
Моля, обърнете внимание, че веднага щом едно от условията се окаже истина, всички последващи проверки няма да бъдат извършени (т.е. в най-добрия случай ще бъде извършена само първата проверка). Съответно, съобщение за грешка ще се покаже тогава и само ако всички проверени условия дават фалшив резултат.
Освен това, за отчитане на възрастта без набор, условието е избрано, като се вземе предвид фактът, че лицето, което попълва въпросника, не съответства на нито една от вариантите за проект на възраст. Разбира се, може да се използва следното условие:
Но би било излишно, тъй като по-рано (поради горните проверки) вече се уверихме, че променливата n не попада в интервала [18; 60). Ако променливата е попаднала в интервала, тогава се появява съобщението „Можете да преминете през задължителна или договорна услуга“ или „Можете да обслужвате само по договор“.
Оператор с множествен избор
Превключвателят с множествен избор ви позволява да изпълнявате различни части на програмата, в зависимост от това каква стойност ще има някаква целочислена променлива (тя се нарича „превключваща променлива“, а „превключвател“ се превежда от английски като „превключвател“).
Диаграмата с инструкции е както следва:
Нека разгледаме всички елементи на оператора:
- превключвателят е цяло число променлива или израз, даващ цяло число резултат;
- value1, value2, ... са целочислени литерали, с които стойността на превключвателя ще бъде сравнена. Ако превключвателят е равен на стойносттаN, тогава програмата ще бъде изпълнена от реда, следващ стойността на случаяN: до най-близкото прекъснато прекъсване, или до края на превключващия блок (ако не се открие прекъсване);
- по подразбиране: е етикетът на инструкцията, след която тя ще бъде изпълнена, ако нито една от N стойностите по-горе не съответства на превключвателя. Етикетът по подразбиране не е задължителен: можете да го пропуснете в блока за превключване на етикети или да не изпълнявате команди след него;
- инструкцияN е проста или сложна инструкция. Освен това, в случай на комбинирана команда, не е необходимо да комбинирате няколко команди в блок, можете просто да ги напишете една след друга, като ги разделите с помощта на ";" (и стартиране на нови редове за удобство).