Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Условный оператор if
Оператор if выбирает между двумя вариантами развития событий: if <условие> then <один_оператор> [else <один_оператор>];Обратите внимание, что перед словом else (когда оно присутствует, конечно же) символ ";" не ставится - ведь это разорвало бы оператор на две части. Условный оператор if работает следующим образом:
Что же произойдет, если написать несколько вложенных операторов if? В случае, когда каждый оператор if имеет собственную else-ветвь, все будет в порядке. А вот если некоторые из них этой ветви не имеют, может возникнуть ошибка. Компилятор языка Pascal всегда считает, что else относится к самому ближнему оператору if. Таким образом, если написать if i>0 then if s>2 then s:= 1 else s:= -1;подразумевая, что else-ветвь относится к внешнему оператору if, то компилятор все равно воспримет эту запись как if i>0 then if s>2 then s:= 1 else s:= -1 else;Ясно, что таким образом правильного результата получить не удастся. Для того чтобы избежать подобных ошибок, стоит всегда (или по крайней мере при наличии нескольких вложенных условных операторов) указывать оба ключевых слова, даже если одна из ветвей будет пустовать. Так вы застрахуетесь от одной из частых "ошибок по невнимательности", которые очень сложно найти в процессе отладки программы. Итак, исходный вариант нужно переписать следующим образом: if i>0 then if s>2 then s:=1 else else s:=-1;либо так: if i>0 then begin if s>2 then s:=1 end else s:=-1;Вообще же, если есть возможность переписать несколько вложенных условных операторов как один оператор выбора, это стоит сделать. Date: 2015-12-12; view: 434; Нарушение авторских прав |