Haltчитается “хальт”, переводится с немецкого “стой”.
Exitчитается “ ‘экзит”, переводится с английского “выход”.
До сих пор мы составляли программы, которые заканчивали свою работу на END с точкой, не раньше. Процедура Halt заставляет Паскаль завершить работу программы, не доходя до конечного END с точкой. Пример: программа
BEGIN Write(1); Write(2); Halt; Write(3) END.
напечатает 12, а программа
PROCEDURE a; BEGIN Write(6); Halt; Write(7); END;
BEGIN Write(2); a; Write(3); Halt; Write(4) END.
напечатает 26.
Обращение к процедура Exit, если оно встречается в процедуре, заставляет Паскаль вернуться в процедуру, ее вызвавшую. Пример: заменим в предыдущей программе первый из двух Halt на Exit и посмотрим, что будет. А будет то, что программа
PROCEDURE a; BEGIN Write(6); Exit; Write(7); END;
BEGIN Write(2); a; Write(3); Halt; Write(4) END.
напечатает 263.
Если Exit встречается в разделе операторов программы, то он, подобно Halt, вызывает выход из программы.
Задание 66:
Вот вам программа с процедурами. Вам нужно, не запуская ее, записать на бумажке весь разговор, который ведут герои “Трех мушкетеров”.
PROCEDURE ATOS;
begin WriteLn ('Я - Атос') end;
PROCEDURE ARAMIS;
begin WriteLn ('Это так же верно,как то,что я -Арамис!') end;
PROCEDURE PORTOS;
begin WriteLn ('А я Портос! Я правильно говорю, Арамис?');
Aramis;
WriteLn ('Он не врет, ваше величество! Я Портос, а он Арамис.') end;
PROCEDURE DARTANIAN;
beginWriteLn ('А я все думаю, ваше величество - куда девались подвески королевы?');
Exit;
WriteLn ('Интересно, что ответит король?');
Portos end;