Название: Основные процедуры и функции модуля CRT
Вид работы: реферат
Рубрика: Информатика
Размер файла: 22.53 Kb
Скачать файл: referat.me-132607.docx
Краткое описание работы: Содержание Рекурсия . . . . . . . . . . . . . . . . . . . . . . . . . . Пример 1 . . . . . . . . . . . . . . . . . . . . . . . . . . Пример 2 . . . . . . . . . . . . . . . . . . . . . . . . . . Пример 3 . . . . . . . . . . . . . . . . . . . . . . . . . .
Основные процедуры и функции модуля 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 могут воочию увидеть разницу, запустив по очереди две программы.
Пример:
{ Программа использует стандартный вывод }
PROGRAM Standart Output;
VAR i : Byte; { счетчик цикла }
for i : = 1 to 100 do Write (‘* Турбо Паскаль* ’);
WriteLn
END.
{ Программа использует средства модуля CRT}
PROGRAM CRT_Output;
USES CRT;
VAR i : Byte;
BEGIN
for i : = 1 to 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 |
Похожие работы
-
Программирование Рascal
Вариант 2 Задания Дано c, d. Вычислить . Если , то вычислить и отпечатать . Если , напечатать «y=0», иначе вычислить Дано a. Вычислить значение функции изменяется в интервале от 0,8 до 2 с шагом 0,1. Вывести на печать значения функции
-
Создание приложения вещественного деления в среде Delphi
Кафедра: автоматика и инф. технологии Лабораторная работа На тему: " Создание приложения вещественного деления в среде Delphi". Екатеринбург, 2008
-
ASP.NET пример построения круговой диаграммы
Христофоров Юрий Ниже будет показано, как можно в ASP.NET приложении, используя графические методы GDI+, нарисовать круговую диаграмму. Это может быть полезно, например, для наглядного представления данных.
-
Использование рекурсивных алгоритмов для решения экономических задач
Содержание Содержание 1 Введение 2 1. Теория рекурсивных алгоритмов 3 1.1. Понятие рекурсии и её виды 3 1.2. Общие принципы программной реализации рекурсии. 9
-
Паскаль для начинающих
Паскаль для начинающих Основы грамматики в таблицах и примерах Pascal (Паскаль) - язык программирования общего назначения. Создан в 1970 году специалистами Технического Университета в Цюрихе (ETH, Zurich) под руководством профессора Никлауса Вирта (Niklaus Wirth). После появления языка Pascal были созданы новые промышленные версии языка, а также языки-потомки, которые сохраняют основные синтаксические и семантические свойства языка Вирта: Modula, Turbo Pascal, Object Pascal (Delphi), Component Pascal (Oberon-2), TMT Pascal, Free Pascal, Zonnon, Ada.
-
Обработка файлов в среде Delphi
Лабораторная работа На тему: «Обработка файлов в среде Delphi» Задание 1: Создайте приложение, которое создает текстовый файл text1.txt и записывает в него текст, введенный пользователем в окно Edit, после чего закрывает файл.
-
Программирование на языках высокого уровня 3
Программирование на языках высокого уровня ч2 Лабораторная №1 Задача 1 Составить программу на языке С/С++, содержащую: - объявления и инициализацию указателей на различные типы объектов:
-
Создание и обработка линейного массива
Лабораторная работа На тему: «Создание и обработка линейного массива. Использование компонента StringGrid для представления двумерных массивов в среде Delphi»
-
Знакомство с компонентами RadioGroup и CheckBox обработка строк типа String в среде Delphi
Лабораторная работа На тему: «Знакомство с компонентами RadioGroup и CheckBox, обработка строк типа String в среде Delphi» Задание 1. (Калькулятор). Создайте приложение, обеспечивающее ввод двух целых чисел и выполнение над ними арифметических операций сложения, умножения и вещественного деления.
-
Пример использования MFC в Visual C
В этой статье будет показано как включить потдержку MFC в Visual C++ на примере двух типов приложений: 1. Консольное приложение 2. Приложение типа Windows Application