Реферат: Основные процедуры и функции модуля CRT

Содержание

 

Рекурсия        . .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .   

Пример 1          .  .  .  .  .  .  .  .  .  .  .  .  .  .  . .  .  .  .  .  .  .  .  .  .  .

Пример 2           .  .  .  .  .  .  .  .  .  .  .  .  .  . .  .  .  .  .  .  .  .  .  .  .  .

Пример 3           .  .  .  .  .  .  .  .  .  .  .  .  .  . .  .  .  .  .  .  .  .  .  .  .  .

 

Пример 4           .  .  .  .  .  .  .  .  .  .  .  .  .  . .  .  .  .  .  .  .  .  .  .  .  .

 

Пример 5        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . .  .  .  .  .  .  .  .


Модуль CRT

 

  Аббревиатура CRT будет расшифровыватьсяпо-русски как «электронно-лучевая трубка». И действительно, в модуле CRTреализованы специальные процедуры и функции для работы с текстовой информациейна дисплее, позволяющие: управлять текстовыми режимами, организовывать окнавывода на экран, настраивать цвета символов на экране, управлять курсором.Кроме того, в модуль включены функции опроса клавиатуры и процедуры управлениявстроенным в ПЭВМ динамиком.

  Несмотря на то, что модуль CRT реализуетшестнадцать процедур и четыре функции, его размер составляет не более 3К. Егостандартное местонахождение – системная библиотека TURBO.TPL.

  Для подключения модулядостаточно включить его в директиву USES в самом начале программы:

  USES   CRT;

  Имеет смысл всегдаподключать модуль CRT, даже если его процедуры или функции не используютсяв программе. Дело в том, что обычно процесс вывода информации на дисплейсовершается по такой цепочке:

  Оператор Write — -> функция MS-DOC (выводастроки)  — ->

— -> подпрограмма BIOS(базовая система ввода-вывода) — ->

— ->видеопамять монитора. 

 

  При подключении модуля CRT из этойцепочки исключаются медленная функция MS-DOS и, как правило,подпрограмма БСВВ, вследствие чего значительно повышается скорость выводаинформации на дисплей. Понятно, что чем «медленнее» работает компьютер, темзаметнее будет эффект от подключения модуля CRT.Пользователи ПЭВМ класса PC/XT могут воочию увидеть разницу, запустив по очереди двепрограммы.

 

  Пример:

{Программаиспользует стандартный вывод}

PROGRAMStandart Output;

VAR  i : Byte;                                               {счетчик цикла                    }

  for  i: = 1to 100 do Write (‘* Турбо Паскаль*’);

  WriteLn

END.

 

{Программаиспользует средства модуля CRT}

PROGRAMCRT_Output;

USES  CRT;

VAR  i: Byte;

BEGIN

  for  i: = 1to 100 do Write (‘* Турбо Паскаль*’);

  WriteLn

END.


  Механизм подобного ускорения можно проиллюстрироватьследующим образом. Существуют стандартные текстовые файлы: Input – дляввода и Output – для вывода информации. До тех пор пока программистили компилятор не предпримут каких-либо действий по их переназначению, онисчитаются связанными:

Input – с клавиатурой, а Output – сдисплеем посредством функций MS-DOS. Все стандартные операторы ввода-ввывода остаютсясвязанными с этими файлами, т.е. оператор Write (‘привет’) эквивалентен оператору Write (Output,‘привет’),оператор ReadLn (SomeString) соответственно эквивалентен оператору ReadLn (Input, SomeString).

  При подключении модуля CRT передвыполнением основного блока программы происходит переназначение стандартныхфайлов, как если бы выполнились операторы:

AssingCRT (Input );            {Связываетсясистемный файл Input с  }

                                               {фиктивным устройством CRT.               }

Reset ( Input);                       {открытиеInput для ввода через CRT     }

AssignCRT (Output );         {Здесьсвязывается системный файл       }

                                                {Outputс фиктивным устройством CRT }

Rewrite (Output );                {Файл Output открывается для вывода. }

Assign (логический файл, физический файл или устройство ), но связывает логический файл с фиктивным устройствомCRT.

  Переназначениена CRT происходит автоматически, и нетнужды вставлять операторы в текст программы. Они выполняются при подключениимодуля CRT.

  Если же по каким-либо причинам пользователь хочетвосстановить стандартную связь файлов Input, т.е. отказаться от «услуг»подключенного модуля CRT, то в его программе должны быть следующие операторы:

Assign (Input,  ’’  );              {Файл Inputсвязывается со стандартным    }

                                                {устройствомввода (чтения).                           }

Reset ( Input);                       {Файл Inputоткрывается для чтения.           }

Assign (Output,  ’’  );           {Файл Output связывается со стандартным}

                                                {устройством вывода ( записи ).                      }

Rewrite ( Output);                {Файл Output открываетсядля записи.        }

 

  Пустая строка в операторе Assing означает стандартное предопределенное устройство, какправило устройство CON.

  Кроме ускорения выводаинформации на дисплей, подключение модуля CRT вносит ряддополнений и расширений в работу стандартных процедур Write, WriteLn, Read и ReadLn.

Вывод специальных символов.

 

  При подключенноммодуле CRT можно выводить на дисплейстроки и символы, содержащие в себе управляющие коды (коды 0…31). При этом онине будут оказывать управляющие воздействия, а будут изображаться на дисплее,согласно таблице изображений символов по их ASCII-коду.

  Исключение составляют лишьчетыре кода:


Код Управляющее воздействие Название кода

7

($07)

Вызывает один короткий звук динамика Bell

8

($08)

Сдвигает текущую позицию курсора влево на один символ, если есть куда сдвинуться в пределах строки; в противном случае не имеет эффекта

BackSpace

(BS)

10

($OA)

Переводит текущее положение курсора на строку ниже, не меняя текущего столбца

Line Feed

(LF)

13

($OD)

Переводит текущее положение курсора в начало строки

Carriage Return

(CR)


   

Системные переменные модуля CRT.

При подключении модуля CRT инициализируется ряд егосистемных констант и переменных. Константы используются как параметры впроцедурах модуля CRT. Системные же переменные играют роль переключателейрежимов работы механизмов ввода-вывода, реализованных в CRT.  И константы, и переменные становятся глобальными и доступными программе,использующей модуль CRT, и их не надо описывать средипрочих идентификаторов. Так, например, в модуле CRTопределена переменная DirectVideo типа Boolean, и ее стартовое значение равно True.Если надо сменить определяемый ею режим работы устройства CRT,то необходимо вставить в программу строку

USES  CRT;                                      {модуль CRTподключен }

       .  .  .                                              {раздел прочих описаний }

BEGIN

      DirectVideo: = False ;                { <- — смена режима CRT}

       .  .  .                                              {собственно программа  }

END.

 

  Но если определить в программе такую жепеременную, то доступ к оригиналу из CRTбудет заблокирован. Теперь, чтобы все-таки сменить значение системнойпеременной, надо указывать ее принадлежность в виде определяющего поля:

USES  CRT;                                      {МодульCRT подключен.            }

 VAR 

        DirectVideo: Boolean ;           { Переопледелениесистемной       }

                        {переменной.Тип может быть и любым другим          }

BEGIN

DirectVideo: =False ;                      {невлияет на работу СRT            }

CRT.DirectVideo: = False;                        { Режим работы CRTменяется.  }

        .  .  .

END.


Процедуры и функции модуля CRT.

 

  Реализованные в модулепроцедуры и функции сведены в таблице:

Процедуры и функции Назначение Работа с экраном в целом Window ( X1, Y1, X2, Y2,: Byte ) Задание текущего окна на экране ClrScr Очистка текущего окна на экране TextMode (M: Word) Установка текстового режима Позиционирование курсора GotoXY (X,Y :Byte) Установка курсора в столбец Х, строку Y WhereX: Byte Выдача номера текущего столбца WhereY: Byte Выдача номера текущей строки Работа со строками ClrEOL Стирание всех символов в строке, начиная от текущего и до конца строки InsLine Вставка пустой строки на место текущей DelLine Удаление текущей строки Настройка цвета TextColor(C: Byte) Выбор цвета символов на экране TextBackGround (C: Byte) Выбор цвета фона под символами HighVideo Включение яркости цвета символов LowVideo Выключение яркости цвета символов NormVideo Восстановление цветного режима Подача звукового сигнала Sound (Hz: Word) Включение звука с частотой тона Hz в герцах NoSound Выключение звука Использование встроенного таймера Delay ( ms: Word ) Задержка процесса (пауза) в ms миллисекунд Опрос клавиатуры KeyPressed: Boolean Логическая функция для анализа нажатия клавиши ReadKey: Char  Функция, возвращающая символ нажатой клавиши Переназначение стандартных файлов AssignCRT(VAR f: Text)  Связь текстового файла f с устройством CRT
еще рефераты
Еще работы по кибернетике