Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
35
Добавлен:
17.04.2013
Размер:
1.02 Mб
Скачать

Лабораторная работа №3

Программирование ветвящихся алгоритмов на языке С++.

Цель работы: 1) изучить различные способы программирования ветвящихся алгоритмов;

2) научиться использовать функции управления экраном в текстовом режиме;

Теоретические сведения

Условный оператор if

Оператор множественного выбора switch

См. конспект лекций и рекомендованную литературу по языку С++.

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

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

для размещения символа на экране используется матрица 8х8 пикселей (точек), которая называется знакоместом. Всего на экране может быть 25 строк по 80 знакомест.

Байт атрибутов. Для указания выводимого символа, а также его цвета и цвета фона, в видеопамять помещается два байта. Первый из них (имеющий четный адрес) указывает собственно сам символ, второй называется байтом атрибутов и содержит информацию о цвете.

7

6

5

4

3

2

1

0

back

text

B

H

Цвет символа и фона задается группами из трех разрядов (back для фона и text Для символа). каждый из разрядов связан с одним из трех основных цветовЖ красным, зеленым, синим. Смешение основных цветов дает 8 различных комбинаций (цветов). Третий разряд байта атрибутов (обозначен буквой H) управляет интенсивностью цвета. Этот бит относится только к цвету символа и с тремя другими разрядами обеспечивает 16 цветов для символа. самый старший разряд (обозначен буквой B) управляет мерцанием символа. Если в нем установлена единица, то символ будет мигать с частотой около 2 Гц (фон при этом не мигает).

Для использования функций управления экраном подключите файл conio.h с помощью директивы препроцессора:

#include <conio.h>

Левый верхний угол экрана имеет координаты (1,1). максимальный размер экрана 80х25.

В файле conio/h определены следующие текстовые режимы:

LASTMODE = -1; // Последний активный режим

BW40 = 0; // Черно-белый режим 40х25

C40 = 1; // Цветной режим 40х25

BW80 = 2; // Черно-белый режим 80х25

C80 = 3; // Цветной режим 80х25

MONO = 7; // Используется с монохромным дисплеем

Для установки нужного режима используется функция textmode:

void textmode(int newmode);

где newmode - новый текстовый режим.

Установка окна. Функция

void window (int left, int top, int right, int bottom);

устанавливает текущее текстовое окно на экране (рис. 1). Значение координат всегда отсчитываются от левого верхнего угла экрана в абсолютных координатах и должны удовлетворять следующим условиям:

1 <= left < right <= 25

1 <= top < bottom <= 80

При нарушении этих условий окно не создается. После установки окна все операции, связанные с выводом информации, выполняются внутри текущего окна. Отсчет строк и столбцов для позиционирования курсора осуществляется в координатах текущего окна. Теперь left=1 и top=1 - это координаты верхнего левого угла окна.

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

Примеры:

window(2,20,20,50); // окно 18x30, левый верхний угол - 2-ая строка, 20-ый столбец

window (a, b, a+10, b+10); // окно 10x10, левый верхний угол - a-ая строка, b-ый столбец

Установка цвета символов и экрана. В файле conio.h определены следующие цвета

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; // бит мерцания

Функция textcolor устанавливает текущий цвет выводимых символов:

void textcolor (int newcolor);

где newcolor - новый цвет символа.

Функция textbackground устанавливает цвет фона:

void textbackground (int newcolor);

ПРИМЕЧАНИЕ. Функция объявляет цвет. Цвет появляется на экране только после вызова функции clrscr.

Функция textattr устанавливает целиком байт атрибутов:

void textattr (int newattr);

Функция перемещения курсора gotoxy переводит курсор в требуемое положение текущего окна (экрана). Координаты определяются относительно левого верхнего угла активного окна (или экрана):

void gotoxy(int x, int y);

где x - номер знакоместа в строке; y - номер строки.

Функция clrscr очищает активное окно(экран). При этом окно заливается текущим цветом фона, и курсор устанавливается в позицию (1,1).

Соседние файлы в папке Разработки С++