Счет и отладка программы
После подготовки текста программы необходимо откомпилировать программу, при необходимости связать ее с библиотекой стандартных процедур и функций, загрузить ее в оперативную память и передать ей управление. Вся эта последовательность действий реализуется одновременным нажатием клавиш Ctrl-F9. Если в программе нет ошибок, то все действия выполняются последовательно одно за другим, при этом на экране сообщается о количестве строк откомпилированной программы и объеме доступной оперативной памяти. Перед передачей управления загруженной программе среда очищает экран и на него выводятся результаты выполнения программы, а после завершения работы программы вновь восстанавливается окно редактора. Если на каком-нибудь этапе среда обнаружила ошибку, она прекращает дальнейшее действие, восстанавливает окно редактора и помещает курсор на ту строку программы, на которой обнаружена ошибка. При этом в верхней строке редактора появляется диагностическое сообщение о причине ошибки. Необходимо найти причину ошибки и отредактировать текст. В более сложных ситуациях прибегают к пошаговому исполнению программы, например, последовательным нажатием F7. В случае необходимости можно просмотреть значения проверяемых переменных. Для этого поместите курсор в строку, содержащую переменную, и нажмите Ctrl-F4. В появившемся диалоговом окне в верхнем поле будет имя переменной, нажав на ENTER, в среднем поле получим ее значение. В верхнее поле можно с клавиатуры вводить имена переменных или выражение. Справочная система В затруднительной ситуации нажмите на клавишу F1 или CTRL-F1 (для объяснения конкретной ситуации) и на экране высветится необходимая справка. Во многих случаях справка содержит пример небольшой программы, которую можно скопировать в окно редактирования, запустить на выполнение и посмотреть результат. ПРИЛОЖЕНИЕ 7 Обозначения основных символов, используемых при составлении Блок-схем алгоритмов (ГОСТ 19.003-80)
ПРИЛОЖЕНИЕ 8 Директивы компилятора
В Турбо-Паскале можно использовать директивы компилятора , которые в виде особым образом оформленных комментариев вставляются в текст программы и изменяют те или иные возможности компилятора в процессе компиляции. Директивы обрамляются в фигурные скобки. За открывающейся скобкой должен следовать знак доллара $. Знак плюс означает установку опции в активное состояние, а знак минус - в пассивное. В одной директиве можно указать несколько опций через запятую: {$N+,E+} Список основных директив компилятора · {$A-} разрешает для переменных и типизованных констант выравнивание на границу слова. Для процессоров 80х86 это приводит к более быстрому доступу к памяти. По умолчанию эта опция установлена {$A+}. · {$B-} устанавливает вычисление булевских выражений по короткой схеме. В зависимости от установленного режима вычисления булевских выражений можно получить код, который выполняется быстрее. · {$E-} устанавливает режим эмуляции сопроцессора при работе с вещественными данными типа SINGLE, DOUBLE, EXTENDED. По умолчанию директива имеет значение {$E+}. · {$I-} выключает стандартную проверку ошибок ввода/вывода. Вызвав встроенную функцию IOResult, программист может сам обрабатывать ошибки ввода/вывода. · {$N-} устанавливает режим подключения сопроцессора при работе с вещественными данными типа SINGLE, DOUBLE, EXTENDED. Система проверяет наличие сопроцессора и при его отсутствии команды сопроцессора эмулируются. Поэтому при работе с указанными вещественными данными необходимо включить две директивы {$N+,E+}. · {$R-} выключает проверку диапазона. При генерации кода не осуществляется проверка ошибок в индексировании массивов и в присвоении значений. · {$S-} выключает проверку стека. При генерации кода не осуществляется проверка наличия достаточного пространства в стеке для каждого вызова процедуры или функции. · {$V-} отменяет проверку параметров var для строк. Это позволяет передавать в качестве фактических параметров строки, длина которых отлична от длины, установленной для формального параметра var в заголовке процедуры. ПРИЛОЖЕНИЕ 9 Модуль CRT Модуль CRT содержит подпрограммы управления текстовым выводом на экран дисплея, звуковым генератором и чтения с клавиатуры. В режиме текстового вывода координаты экрана следующие: верхний левый угол <1,1>, нижний правый <WindMax>, причем горизонтальная координата возрастает слева направо, а вертикальная - сверху вниз. Если на экране активизировано окно, то все координаты определяются относительно границ окна, за исключением процедуры Window (здесь координаты всегда задаются относительно границ экрана). Для чтения с клавиатуры используются две функции: KeyPressed и ReadKey. Функция KeyPressed определяет факт нажатия на любую клавишу и не приостанавливает дальнейшее исполнение программы. Функция ReadKey читает расширенный код нажатой клавиши и ожидает действий пользователя. Управление звуковым генератором строится по схеме Sound - Delay - NoSound. Первая процедура включает генератор и генерирует звук нужного тона. Вторая - приостанавливает работу программы на заданное число миллисекунд реального времени. Третья - отключает звуковой генератор. КОНСТАНТЫ CRT - режимы: BW40 = 0; { 40x25, черно-белый } CO40 = 1; { 40x25, цветной } BW80 = 2; { 80x25, черно-белый } CO80 = 3; { 80x25, цветной } Mono = 7; { 80x25, монохромный } Font8x8 = 256; { добавка для EGA (80x43) или VGA (80x50) } Константы CRT- режимов для совместимости с версией 3.0: C40 = CO40; C80 = CO80; Константы цвета фона и символов: Black = 0; {черный} Blue = 1; {голубой} Green = 2; {зеленый} Cyan = 3; {бирюзовый} Red = 4; {красный} Magenta = 5; {малиновый} Brown = 6; {коричневый} LightGray = 7; {светло-серый} Константы цвета символов: DarkGray = 8; {темно-серый} LightBlue = 9; {светло-голубой} LightGreen = 10; {светло-зеленый} LightCyan = 11; {светло-бирюзовый} LightRed = 12; {светло-красный} LightMagenta = 13; {светло-малиновый} Yellow = 14; {желтый} White = 15; {белый} Blink = 128; {бит мерцания} ПЕРЕМЕННЫЕ CheckBreak: Boolean; { Реакция на Ctrl-Break } CheckEOF: Boolean; { Реакция на Ctrl-Z - end of file} DirectVideo: Boolean; { Разрешение/запрещение прямой работы с видеопамятью } CheckSnow: Boolean; { Реакция на "снег" монитора } LastMode: Word; { Хранение последнего текстового режима} TextAttr: Byte; { Текущий текстовый атрибут} WindMin: Word; { Координаты <X,Y> верхнего левого угла текущего окна } WindMax: Word; { Координаты <X,Y> нижнего правого угла текущего окна } ПРОЦЕДУРЫ И ФУНКЦИИ · procedure AssignCrt(var F: Text); связывает с файловой переменной устройство ввода/вывода CRT. · function KeyPressed: Boolean; возвращает значение True, если на клавиатуре была нажата любая клавиша. · function ReadKey: Char; читает символ с клавиатуры без эхо повтора и приостанавливает исполнение программы до нажатия на любую клавишу, кроме Shift, Ctrl, Alt, CapsLock, NumLock, ScrollLock. · procedure TextMode(Mode: Integer); устанавливает нужный текстовый режим. · procedure Window(X1,Y1,X2,Y2: Byte); открывает текстовое окно на экране с абсолютными координатами <X1,Y2>, <X2,Y2>. · procedure GotoXY(X,Y: Byte); перемещает курсор в нужное место <X,Y> активного окна. · function WhereX: Byte; возвращает горизонтальную координату X текущего положения курсора в активном окне. · function WhereY: Byte; то же для вертикальной координаты Y. · procedure ClrScr; очищает окно и помещает курсор в левый верхний угол <1,1>. · procedure ClrEol; удаляет все символы от текущей позиции курсора до конца строки без перемещения курсора. · procedure InsLine; вставляет пустую строку в позицию курсора. · procedure DelLine; удаляет строку, на которой находится курсор, и перемещает все строки, расположенные ниже нее, на строку вверх. · procedure TextColor(Color: Byte); устанавливает цвет символов. · procedure TextBackground(Color: Byte); устанавливает цвет фона. · procedure LowVideo; устанавливает низкую яркость символов. · procedure HighVideo; устанавливает высокую яркость символов. · procedure NormVideo; устанавливает нормальную яркость символов. · procedure Delay(MS: Word); приостанавливает работу программы на указанное число миллисекунд MS. · procedure Sound(Hz: Word); включает звуковой генератор с указанной звуковой частотой Hz. · procedure NoSound; выключает звуковой генератор.
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Почему стероиды повышают давление?: Основных причин три... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (239)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |