Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория ответы.doc
Скачиваний:
39
Добавлен:
24.12.2018
Размер:
1.61 Mб
Скачать
  1. Возможности стандартной библиотеки conio.H. Управление экраном в текстовом режиме. Управление движением объекта.

Управление выводом на экран Структура экрана в текстовом режиме

Стандартные средства для вывода информации на экран включают:

- монитор (цветной или монохромный);

- видеоадаптер - специальную электронную плату (MGA, CGA, EGA, VGA, SVGA и другие).

Видеоадаптеры могут поддерживать два режима работы:

- текстовый;

  • графический.

В графическом режиме изображение строится по точкам (пикселям). В текстовом режиме экран представляет собой сетку из 80 столбцов и 25 строк (в некоторых режимах 50 строк). Нумерация строк и столбцов сетки ведется с 1 (Рис. 1).

Каждый тексел имеет свое положение на экране, которое определяется координатами X и Y. Левый верхний тексел монитора имеет координаты (1, 1), правый нижний – (80, 25) или (80, 50). Значения координат могут быть только целыми и изменяются для оси Х слева направо от 1 до 80 с шагом 1, по оси

Y сверху вниз от 1 до 25 (или до 50).

В каждый тексел помещается один выводимый на экран символ кодовой таблицы. Площадка, на которой строится символ, называется фоном (Рис. 2).

Символ в текселе строится по пикселям. Цветом фона текселя и контура символа можно управлять программным способом.

При загрузке ПК устанавливается текстовый режим с черным фоном и светло-серыми символами. В языке С имеются команды управления экраном в текстовом режиме, большинство которых располагается в заголовочном файле conio.h. Для подключения этого файла необходимо указать в исходном тексте программы строку #include <conio.h>. Обычно эту директиву препроцессора располагают в первых строках программы до главной функции main().

Установка нужного текстового режима

Существует несколько текстовых режимов, которые задаются своими номерами. Отличаются режимы между собой количеством воспроизводимых цветов и количеством строк и столбцов на экране. Возможные значения для режимов:

0 - черно-белый, 40х25 - крупные черно-белые символы;

1 - цветной , 40х25 - крупные цветные символы (16 цветов);

2 - черно-белый, 80х25 - стандартные черно-белые символы;

3 - цветной, 80х25 - стандартные цветные символы (16 цветов).

Современные видеоадаптеры позволяют выводить на монитор 43 и 50 текстовых строк. Им соответствуют режимы с номерами 256, 257, 258, 259. По умолчанию при загрузке ПК устанавливается 3 текстовый режим.

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

textmode (режим);

При смене текстового режима происходит очистка экрана.

Пример: textmode(1);

Текстовое окно и работа с ним

Текстовое окно - это прямоугольная область экрана, в границах которой обрабатывается текстовая информация. Окно может занимать весь экран, либо его часть. Размеры окна задает сам программист. Окно не может превышать размеры экрана. Для создания текстового окна имеется команда

window( x1, y1, x2, y2);

где (x1,y1) - задают координаты верхнего левого угла окна, (x2, y2) - координаты правого нижнего угла окна.

Максимальный размер окна - весь экран, оно устанавливается по умолчанию при загрузке. Для режима с номером 3 окно во весь экран создается командой: window(1, 1, 80, 25), минимальное окно - это тексел, например, window (10, 10, 10, 10).

После создания текстового окна вся выводимая информация будет размещаться только в пределах этого окна, при этом курсор находится в левом верхнем углу созданного окна и имеет относительные координаты (1, 1). Для окна на Рис. 3 курсор может принимать относительные координаты: по оси x от 1 до 40, по оси y от 1 до 6.

На экране могут одновременно находиться несколько окон, но только одно из них будет активным в текущий момент. Оно определяется последней по порядку выполненной командой window. Визуально активным является то окно, в котором сейчас находится курсор. Изобразим различные расположения окон. Фрагмент программы №1 изображает окна так, как они расположены на Рис. 4. Фрагмент программы №2 изображает окна так, как они расположены на Рис. 5.

Фрагмент программы №1

window (5, 5, 20, 15);

window (30, 5, 45, 15);

window (15, 10, 35, 20); {активное}

Фрагмент программы №2

x1=20; y1=5; x2=40; y2=12;

for (i=1; i<=3; i++)

{window(x1, y1, x2, y2);

x1+=5; y1+=4;

x2+= 5; y2+= 4;

}

Однако построенные окна существуют невидимо для

пользователя, т.к. их цвет совпадает с цветом монитора.

Окна можно выводить различными цветами. Для создания цветного окна на экране надо выполнить следующие команды:

1. window с координатами нужного окна;

2. textbackground с указанием цвета окна;

3. clrscr для заливки окна выбранным цветом.

textbackground (цвет);

Если команда textbackground применяется к текстовому окну, то используется для задания цвета этого окна. Установленный данной командой цвет фона используется до тех пор, пока не будет изменен следующей командой textbackground. Цвет может принимать следующие значения и в команде textbackground можно указывать либо названием цвета на английском языке, либо его числовым значением:

BLACK(0) - черный RED(4) - красный

BLUE(1) - синий MAGENTA(5) - фиолетовый

GREEN(2) - зеленый BROWN(6) - коричневый

CYAN(3) - васильковый LIGHTGRAY(7) - светло-серый

Например, следующие команды выполняют одинаковые действия: выбирают коричневый цвет для заливки окна.

textbackground(6);

textbackground(BROWN);

clrscr();

Команда clrscr очищает текстовое окно от информации, находящейся в нем и заливает его выбранным в textbackground цветом. При этом курсор перемещается в левый верхний угол созданного окна и имеет относительные координаты.