· Shift- ¬ ® ¯ HOME END - быстро создать блок.
После набора текста программы не забудьте сохранить его на диске, нажав клавишу F2. В появившемся окне в поле задания имени файла введите имя файла, под которым ваша программа будет записана на диске.
Счет и отладка программы
После подготовки текста программы необходимо откомпилировать программу, при необходимости связать ее с библиотекой стандартных процедур и функций, загрузить ее в оперативную память и передать ей управление. Вся эта последовательность действий реализуется одновременным нажатием клавиш Ctrl-F9.
Если в программе нет ошибок, то все действия выполняются последовательно одно за другим, при этом на экране сообщается о количестве строк откомпилированной программы и объеме доступной оперативной памяти.
Перед передачей управления загруженной программе среда очищает экран и на него выводятся результаты выполнения программы, а после завершения работы программы вновь восстанавливается окно редактора.
Если на каком-нибудь этапе среда обнаружила ошибку, она прекращает дальнейшее действие, восстанавливает окно редактора и помещает курсор на ту строку программы, на которой обнаружена ошибка. При этом в верхней строке редактора появляется диагностическое сообщение о причине ошибки. Необходимо найти причину ошибки и отредактировать текст. В более сложных ситуациях прибегают к пошаговому исполнению программы, например, последовательным нажатием F7. В случае необходимости можно просмотреть значения проверяемых переменных. Для этого поместите курсор в строку, содержащую переменную, и нажмите Ctrl-F4. В появившемся диалоговом окне в верхнем поле будет имя переменной, нажав на ENTER, в среднем поле получим ее значение. В верхнее поле можно с клавиатуры вводить имена переменных или выражение.
Справочная система
В затруднительной ситуации нажмите на клавишу F1 или CTRL-F1 (для объяснения конкретной ситуации) и на экране высветится необходимая справка. Во многих случаях справка содержит пример небольшой программы, которую можно скопировать в окно редактирования, запустить на выполнение и посмотреть результат.
Обозначения основных символов, используемых при составлении
блок-схем алгоритмов (ГОСТ 19.003-80)
В Турбо-Паскале можно использовать директивы компилятора , которые в виде особым образом оформленных комментариев вставляются в текст программы и изменяют те или иные возможности компилятора в процессе компиляции. Директивы обрамляются в фигурные скобки. За открывающейся скобкой должен следовать знак доллара $. Знак плюс означает установку опции в активное состояние, а знак минус - в пассивное. В одной директиве можно указать несколько опций через запятую: {$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 в заголовке процедуры.
Модуль CRT содержит подпрограммы управления текстовым выводом на экран дисплея, звуковым генератором и чтения с клавиатуры.
В режиме текстового вывода координаты экрана следующие: верхний левый угол <1,1>, нижний правый <WindMax>, причем горизонтальная координата возрастает слева направо, а вертикальная - сверху вниз. Если на экране активизировано окно, то все координаты определяются относительно границ окна, за исключением процедуры Window (здесь координаты всегда задаются относительно границ экрана).
Для чтения с клавиатуры используются две функции: KeyPressed и ReadKey. Функция KeyPressed определяет факт нажатия на любую клавишу и не приостанавливает дальнейшее исполнение программы. Функция ReadKey читает расширенный код нажатой клавиши и ожидает действий пользователя.
Управление звуковым генератором строится по схеме Sound - Delay - NoSound. Первая процедура включает генератор и генерирует звук нужного тона. Вторая - приостанавливает работу программы на заданное число миллисекунд реального времени. Третья - отключает звуковой генератор.
КОНСТАНТЫ
BW40 = 0; { 40x25, черно-белый }
CO40 = 1; { 40x25, цветной }
BW80 = 2; { 80x25, черно-белый }
CO80 = 3; { 80x25, цветной }
Mono = 7; { 80x25, монохромный }
Font8x8 = 256; { добавка для EGA (80x43) или VGA (80x50) }
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;
выключает звуковой генератор.