Объектно-ориентированное программирование. Модуль CRT. Вывод на экран. Системные переменные модуля CRT

Страницы работы

25 страниц (Word-файл)

Содержание работы

Балтийский Государственный Технический Университет им. Д.Ф. Устинова

«Военмех»

Курсовая работа по программированию.

Тема: 

“Объектно – ориентированное рограммирование”.

Выполнил: студент группы И-451

Свирин Д. С.

Проверил: Козлов В. Р.

Санкт-Петербург

2006 г.

Задание:

·  Массив: из массива удалить второй и предпоследний элементы.

·  Матрица: в матрице поменять местами элементы двух диагоналей.

·  Связанный список: организовать ввод и вывод элементов связанного списка, а также поиск элемента по заданному полю записи.

·  Графика: создать графическую заставку с движущимся объектом.

·  Создать меню для выбора нужного действия.

Модуль CRT. Вывод на экран.

Во многих случаях стандартные для Паскаля возможности ввода / вывода данных с помощью процедур Read, ReadLn, Write, WriteLn оказываются явно недостаточными для разработки удобных в использовании диалоговых программ. Например, процедуры Read / ReadLn вводят только типизированные данные, причём с обязательным эхо-повтором набираемых символов на экране. С их помощью нельзя определить факт нажатия какой-либо специальной клавиши (функциональной клавиши, клавиши управления курсором и т. п.). Процедуры Write / WriteLn выводят сообщения, начиная с того места на экране, где в данный момент находится курсор, причём по мере вывода курсор автоматически сдвигается на экране, а если очередной символ выводится в самом нижнем правом углу экрана, осуществляется “прокрутка” экрана: его содержимое сдвигается вверх на одну строку. Всё это сильно затрудняет создание и обновление различного рода окон, меню и других атрибутов современных диалоговых программ.

Разработчики Турбо Паскаля предусмотрели несколько подпрограмм, существенно увеличивающих возможности текстового ввода / вывода. Это подпрограммы сосредоточены в библиотеке (в модуле) CRT, входящей в комплект поставки Турбо Паскаля. В модуль также включены процедуры Sound, NoSound и Delay, которые позволяют программировать звуковой генератор ПК.

Аббревиатура CRT соответствует русскоязычной аббревиатуре ЭЛТ – электронно-лучевая трубка. На профессиональном жаргоне CRT означает устройство визуализации информации (дисплей) даже в том случае, когда вместо ЭЛТ используются иные физические устройства – плазменные панели, ЖК экраны и т. п.

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

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

USES   CRT;

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

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

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

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

При подключении модуля CRT из этой цепочки исключаются медленная функция MS-DOS и, как правило, подпрограмма BIOS, вследствие чего значительно повышается скорость вывода информации на дисплей. Понятно, что чем «медленнее» работает компьютер, тем заметнее будет эффект от подключения модуля CRT. Пользователи ПЭВМ класса PC/XT могут воочию увидеть эту разницу. Механизм подобного ускорения можно проиллюстрировать следующим образом. Существуют стандартные текстовые файлы: 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 открывается для вывода. }

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

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

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

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

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

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

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

Похожие материалы

Информация о работе