Пять уроков Великого Магистра, или повесть о том, как Петя Бочкин изучал программирование | страница 14



— А как? — спросил Петя. — Я ведь не знаю, как составлять программы с проверками.

— Ты ей скажи по-человечески, чего ты хочешь, а на машинный язык твой приказ она переведет сама. Кстати, изложение программы «по-человечески» у программистов называется «спецификация».

— Ну, если по-человечески, то значит, так…

— Подожди, — перебил Казимир. — Представь себе, что в данный момент ты сам не знаешь, заряжено орудие или нет. Представил?

— Представил.

— Тогда командуй. И Петя начал:

— Кристина, ты должна подойти к орудию. Потом ты должна проверить, заряжено оно или нет. Допустим, что оно не заряжено. Тогда тебе нужно его зарядить и после этого выстрелить. А если оно уже заряжено, то во второй раз заряжать не нужно. Тогда ты должна просто выстрелить.

Петя сказал это, а Кристина тут же отстучала на машинке такой текст:


РАЗВЕТВЛЕНИЕ. УСЛОВНЫЙ ОПЕРАТОР

— Тебе здесь все понятно? — спросил Казимир.

— По правде говоря, не все.

— Тогда давай разберемся. В первой строчке программы — твоя первая команда. С ней, надеюсь, все ясно?

— Да. «Подойти к орудию». Стандартная команда.

— Дальше идет слово «если». В нем-то как раз и содержится команда для проверки. Если условие подтвердится, то Исполнитель должен выполнить команды, идущие после слова «то». В противном случае он выполняет команды, следующие после слова «иначе». Все команды, находящиеся между словами «если» и «конец условия», называются в программировании конструкцией разветвления. Может, догадаешься, почему она так называется?

— Наверное, все зависит от проверки — по какому пути пойдет выполнение команд, да?

— Совершенно верно. Действия Исполнителя имеют два варианта. А по какому варианту они пойдут, — это зависит от «если». И последнее. Слова «если… то… иначе…» в алгоритмических языках называются «условным оператором». Условный оператор — это единая конструкция, состоящая из трех этих слов. Очень часто программисты обозначают условный оператор по-английски: «if» «then»… «else».

— А мне еще одно не понятно. Для чего в программе рядом стоят слова «конец условия» и «конец»? Разве не хватило бы одного «конца»?

— Этого требуют правила грамматики алгоритмического языка. «Конец условия» говорит Исполнителю том, что в программе на этом месте заканчивается действие одного условного оператора и можно переходить к выполнению новых команд, если они есть. Ну, а слово «конец» в конце программы как бы говорит Исполнителю: «Молодчина! Ты хорошо поработал, дружище. Программа выполнена. Можешь отключиться и отдохнуть». Слово «конец в программах может быть написано и по-английски «end».