Управленски структури

Условен оператор: пример

Нека да усъвършенстваме последния си цикъл. Представете си, че искаме да показваме жълта мигаща точка вместо червена точка на обменните станции за по-дълго време. Класът ТУРИЗЪМ е подготвил за тази цел метода show_blinking_spot, който допълва използвания по-рано метод show_stop.

За да постигнем желания резултат в нашата програма, ще трябва да направим следната промяна:

В условния оператор изразът Line8.item се използва три пъти - заявка за повикване. По-елегантно е да се изчисли такъв резултат веднъж, да му се даде име и след това да се използва това име. Ще ви покажем как да направите това скоро.

Време за програмиране!

Модифицирайте предишния пример - метода на траверса в класа ROUTES - с горния условен оператор. Стартирайте системата и вземете резултата.

За да напишем условния израз, имаме нужда от четири нови ключови думи: if, then и else, както и elseif, които ще се появят малко по-късно. Основната структура на оператора е пред вас:

Където условието е булев израз, а Compound_1 и Compound_2 са съставни изрази, последователности от нула или повече изрази.

Структурата на условния оператор и неговите вариации

Като последователности от нула или повече оператори, както Compound_1, така и Compound_2 могат да бъдат празни оператори, така че можете да пишете (въпреки че този стил не се препоръчва):

В този вариант else -part, макар и да присъства, но нищо в него. Това съответства на честия случай, когато трябва да извършите някакво действие, когато е изпълнено определено условие; в противен случай не трябва да се прави нищо. Вместо да пишете останалата част без оператори, можете просто да я пропуснете. Можете да напишете (препоръчителен стил):

Във всякаква форма - със или без присъствието на else - всички изявления, включени в съставен израз, сами по себе си могат да бъдат контролни структури, контури или съставни изявления .

Да предположим, че някои метростанции могат да бъдат свързани с железопътна линия и за такива станции трябва да извършите специални действия. Предложената схема може да се използва вместо предишния цикъл.

Стилът на този пример е остарял. Препоръчителният стил на запис ще се появи малко по-късно.

Включването на контролни структури в други структури се нарича влагане или влагане. Тук условният оператор е вложен в друг условен израз, от своя страна вложен в цикъла.

Почувствайте стила

На теория няма ограничение за дълбочината на гнездене. Ограниченията са продиктувани от практиката: добър вкус и желание да се запази четливостта на програмата, лекота на разбиране.

В последния пример дълбочината на влагане е четири и това е максимумът, който трябва да бъде разрешен при ежедневното програмиране. Това не е абсолютно правило: някои алгоритми изискват повече влагане. Но когато достигнете това ниво на гнездене, трябва да спрете и да анализирате дали това не може да бъде избегнато. Алтернативата обикновено е да се направи независима част от структурата. подпрограми, със замяната на прякото възникване на това предизвикателство. Следващата лекция ще говори подробно за подпрограмите.

В примери като Пример 7.3 дълбочината на влагане прави конструкцията по-сложна, отколкото е действително необходима. Може да се опрости, като не се извикват подпрограми. Това опростяване се прилага за условни изрази, вложени в останалата част на други условни изрази:

В такава структура влагането създава измамно впечатление за сложност, докато действителната структура на разтвора е последователна: