Чтение онлайн

на главную

Жанры

Шрифт:

Writeln(’Проходите!’)

end else begin

Writeln(’Тревога!’);

Writeln(’Задержать его!’)

end;

Writeln(’Нажмите Enter’); Readln;

end.

Комментарии

Раз уж мы коснулись оформления, рассмотрим ещё одно средство Паскаля – комментарии, которые служат для пояснения программ. Комментарий – это произвольный текст, заключенный в фигурные скобки {…}, или в круглые

скобки со звездочкой (*…*). Вот примеры комментариев.

{ Комментарий в одной строке }

{ Многострочный

комментарий

}

(* Комментарий в скобках со звездочками *)

А как воспринимает их компилятор? Да никак. Найдя начало комментария, компилятор ищет его окончание, а все, что оказалось внутри ограничителей, «пропускает мимо ушей». Поэтому комментарии не оказывают влияния на программу. Есть только одно исключение, о котором я скажу в своё время, повествуя о директивах компилятора. Последующие программы я буду сопровождать комментариями.

Программисты нередко используют комментарии как «шапку-невидимку». О чем я? Иногда – при поиске ошибок – требуется временно исключить часть операторов из программы. Вместо того чтобы удалять, а затем печатать их заново, лучше закомментировать эту часть текста. То есть, заключить ненужные операторы в фигурные скобки, превратив в комментарий. Такой кусок программы легко восстановить, удалив фигурные скобки.

Примечание. В современных версиях Паскаля и в других языках применяют ещё и однострочный комментарий, который отделяется двумя косыми черточками только с левой стороны.

A:= B; // Копирование переменой – это однострочный комментарий

Итоги

• Операторные скобки BEGIN-END объединяют несколько операторов в один операторный блок. Операторный блок воспринимается как один оператор.

• Форматирование программы – это оформление её с помощью логических отступов. Форматирование не влияет на программу, но облегчает её чтение.

• Комментарии предназначены для включения в программу пояснений. Комментарии пропускаются компилятором и не влияют на программу.

• Комментарии удобны для временного исключения частей программы.

А слабо?

А) Сколько операторов можно поместить в операторном блоке?

Б) Найдите ошибку в этом кусочке программы, проверьте свое решение на компьютере.

Writeln(’Что дождь? Все ещё идет?’); Readln(S);

if S = ’ага’ then

begin

Writeln(’А зонтик ты так и не купил!’);

Writeln(’Сколько раз напоминать?’);

end;

else begin

Writeln(’На этот раз тебе повезло!’);

end;

Глава 12

Цикл с проверкой в конце

Подтянем

дисциплину

Продолжим воспитывать нашего часового, он ещё нуждается в этом. Проверяя каждого встречного-поперечного, мы принуждены вновь и вновь запускать свою программу. А все потому, что часовой покидает свой пост без команды, самовольно. Пусть программа проверяет посетителей одного за другим до тех пор, пока мы не скомандуем «отставить!».

Для этого заставим программу «бегать по кругу» так, чтобы она возвращалась к операторам, исполнявшимся ранее. Повторение одних и тех же действий называют циклом. Иногда цикл называют переходом назад. Блок-схема предстоящей программы показана на рис. 27.

Рис.27 – Блок-схема циклического часового

Схема содержит два условных перехода, причем второй из них должен, как говорят программисты, передать управление назад, к началу программы. Сейчас нам предстоит, во-первых, найти способ отдать часовому команду покинуть пост и, во-вторых, осуществить переход назад.

Для освобождения часового можно ввести специальную фразу. Например, вместо пароля напечатать фразу «отставить!» или «марш на кухню!». Ещё проще сделать это пустой строкой, которая попадет в переменную S, если в ответ на запрос пароля пользователь, ничего не печатая, нажмет клавишу Enter. Тогда условие завершения программы будет таким.

if S = ’’ then …

Здесь справа от знака равенства стоят два апострофа, – это пустая строка (между апострофами нет пробела!).

Мы ответили на первый вопрос, но как перейти к началу программы? Не надейтесь на условный оператор, он тут не поможет! Обе его ветви следуют после проверки условия IF, поэтому условный оператор передает управление только вперед.

Нанимаем репетитора

Итак, условный оператор тут не помощник, но Паскаль не оставит вас в беде. Для организации циклов в нём предусмотрены три оператора, с одним из которых мы ознакомимся немедля. Программистам он известен как цикл с проверкой в конце, и записывается двумя ключевыми словами: REPEAT – «повторять» и UNTIL – «вплоть до».

Отчасти «репетитор» похож на операторный блок BEGIN-END, рассмотренный нами в предыдущей главе. Вам надо повторять выполнение ряда операторов? Тогда поставьте слово REPEAT перед первым из них, а проверку условия UNTIL – за последним, и получите следующую конструкцию.

REPEAT

<Оператор 1>;

<Оператор 2>;

...

<Оператор N>

UNTIL условие

По-русски действие оператора можно изъяснить так: ПОВТОРЯТЬ следующие далее операторы, ПОКА условие НЕ соблюдается. На рис. 28 показана блок-схема такой циклической конструкции; здесь операторы 1 и 2 будут исполняться до тех пор, пока НЕ соблюдается условие в конце цикла. При соблюдении условия цикл прекратится, и выполнится оператор 3.

Поделиться:
Популярные книги

Покоритель Звездных врат

Карелин Сергей Витальевич
1. Повелитель звездных врат
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Покоритель Звездных врат

Темный Патриарх Светлого Рода 6

Лисицин Евгений
6. Темный Патриарх Светлого Рода
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 6

Восход. Солнцев. Книга IV

Скабер Артемий
4. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга IV

Адепт. Том второй. Каникулы

Бубела Олег Николаевич
7. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.05
рейтинг книги
Адепт. Том второй. Каникулы

Система Возвышения. (цикл 1-8) - Николай Раздоров

Раздоров Николай
Система Возвышения
Фантастика:
боевая фантастика
4.65
рейтинг книги
Система Возвышения. (цикл 1-8) - Николай Раздоров

Измена. Верну тебя, жена

Дали Мила
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Верну тебя, жена

Вечный Данж. Трилогия

Матисов Павел
Фантастика:
фэнтези
юмористическая фантастика
6.77
рейтинг книги
Вечный Данж. Трилогия

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2

Последний из рода Демидовых

Ветров Борис
Фантастика:
детективная фантастика
попаданцы
аниме
5.00
рейтинг книги
Последний из рода Демидовых

Хищный инстинкт

Суббота Светлана
4. Мир Двуликих
Фантастика:
фэнтези
7.50
рейтинг книги
Хищный инстинкт

Лорд Системы 13

Токсик Саша
13. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 13

Возрождение Феникса. Том 1

Володин Григорий Григорьевич
1. Возрождение Феникса
Фантастика:
фэнтези
попаданцы
альтернативная история
6.79
рейтинг книги
Возрождение Феникса. Том 1

Хозяйка лавандовой долины

Скор Элен
2. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Хозяйка лавандовой долины

В теле пацана 4

Павлов Игорь Васильевич
4. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана 4