ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Стандартные процедуры Halt и ExitHaltчитается “хальт”, переводится с немецкого “стой”. 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; begin WriteLn ('А я все думаю, ваше величество - куда девались подвески королевы?'); Exit; WriteLn ('Интересно, что ответит король?'); Portos end; BEGIN WriteLn ('Я, король Франции, спрашиваю вас - кто вы такие? Вот ты - кто такой?'); Atos; WriteLn ('А ты, толстяк, кто такой?'); Portos; WriteLn ('А ты что отмалчиваешься, усатый?'); dArtanian; WriteLn ('Анна! Иди-ка сюда!!!'); Halt; WriteLn ('Аудиенция закончена, прощайте!'); END. Выполнив задание, скопируйте программу в редактор Паскаля и запустите ее. Если ответ не сходится, запустите ее в отладочном пошаговом режиме. Теперь вы достаточно знаете о процедурах, чтобы они стали для вас удобными кирпичиками для постройки программ. Более мощным средством являются процедуры с параметрами, о которых вы узнаете в Глава 13.
Глава 9. Графика Если в предыдущих главах на экране изображались только буквы, цифры и прочие символы, то эта глава научит вас рисовать. Стандартные модули В 2.5 я говорил, что при работе с языком программированиямы реально работаем с комплексом программ, позволяющим программисту создавать собственные программы, пользуясь при этом значительным количеством готовых процедур (а сейчас мы уточним - стандартных процедур[8]). На данный момент мы знаем следующие стандартные процедурыязыка Паскаль: Write, WriteLn, Read, ReadLn, Sound, Delay, NoSound, Exit, Halt. Вспомним теперь, что для того, чтобы вообще быть выполненной, программа должна находиться в оперативной памяти компьютера. Паскаль – это программа. Значит, для того, чтобы мы могли работать с Паскалем, все стандартные процедуры Паскаля тоже должны находиться в памяти? Однако, память - вещь дефицитная и ее нужно экономить. Хорошо бы в память загружались не все процедуры, а только те, которые нужны данному программисту. Действительно, во многих приведенных в этой книге программах мы не использовали звук, зачем же нам было иметь в памяти процедуры Sound и NoSound? Реально так и сделано. В Паскале определен целый ряд необязательных его кусков, которые называются стандартными модулями. Упрощенно говоря, стандартный модуль является сборником процедур и других элементов, которые загружаются с диска в память только тогда, когда программист специально попросит. Один из этих модулей называется CRT и кроме всего прочего занимается звуком. Другой называется Graph и дает возможность программисту работать с изображениями на экране. С некоторыми другими стандартными модулями мы познакомимся позже. Если программист специально не попросил, то в памяти оказывается только минимальная часть Паскаля, которая нужна более-менее всем. А как же попросить? Очень просто. Если вам нужно работать со звуком, вы пишете первой строкой своей программы - USES CRT, а если вы собираетесь работать с изображениями, то - USES Graph. USES читается “’юзез”, переводится “использует”. Значит, строка USES CRT является приказом компьютеру “использовать стандартный модуль CRT”, для чего загрузить в память те его процедуры и другие элементы, которые требует программа. Вот так, довольно грубо я обрисовал идею использования стандартных модулей. Если же программист видит, что их возможностей ему не хватает, он может написать несколько процедур и создать из них свой собственный модуль, придумать ему имя и пользоваться затем точно так же, как стандартными. Об этом написано в 15.3. Не нашли, что искали? Воспользуйтесь поиском:
|