Смекни!
smekni.com

Методические рекомендации по выполнению контрольных и лабораторных работ (стр. 7 из 7)

· Shift- ¬ ­ ® ¯ HOME END - быстро создать блок.

После набора текста программы не забудьте сохранить его на диске, нажав клавишу F2. В появившемся окне в поле задания имени файла введите имя файла, под которым ваша программа будет записана на диске.

Счет и отладка программы

После подготовки текста программы необходимо откомпилировать программу, при необходимости связать ее с библиотекой стандартных процедур и функций, загрузить ее в оперативную память и передать ей управление. Вся эта последовательность действий реализуется одновременным нажатием клавиш 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;

выключает звуковой генератор.