- •1. В каком коде хранятся целые числа со знаком?
- •2. Чем отличаются процессы сдвига влево и вправо для чисел со знаком и беззнаковых?
- •3. Как представляется корректный двоичный код числа типа float (double, long double), имеющего в десятичном виде наименьшее положительное значение, отличное от нуля?
- •5. В каком порядке следует выполнять действия для получения дополнительного кода двоичного целого числа из прямого кода?
- •7. Чем отличается логический сдвиг двоичного кода от арифметического сдвига?
- •2. Какие типы видеосистем вы знаете?
- •3. Назовите основные характеристики видеосистем?
- •4. Как влияет размер видеопамяти на характеристики системы?
- •5. Зачем нужен видеоадаптер?
- •6. Почему различают текстовый и графический режимы работы
- •7. Назовите основные характеристики текстового режима, чем они
- •8. Что называется окном? Зачем нужны окна?
- •9. Можно ли на одном экране организовать несколько окон?
- •10.Какие функции инициализации текстового режима вы знаете?
- •11.Какие функции обслуживания окон вы знаете?
- •12.Что такое курсор и как можно им управлять?
- •13.Зачем нужен байт атрибутов символа?
- •14.Сколько цветов фона и символов можно одновременно использовать и
- •15.Какая структура данных используется для хранения цветов?
11.Какие функции обслуживания окон вы знаете?
Установку параметров активного текстового окна выполняет функция
window(int , int ,int , int );.
Она описывает активное текстовое окно: первая пара аргументов задает соот-
ветственно номера столбца и строки левого верхнего угла, вторая пара - правого нижнего угла. Строки и столбцы нумеруются, начиная от 1. Поэтому, например, координаты левого верхнего и правого нижнего углов экрана в режимах "25 строк х 80 столбцов" задаются парами (1,1) и (80,25). Расположение осей X и Y на экране показано на рис. 2.1.
Фрейм окна С++ имеет следующую структуру:
struct text_info
{unsigned char
winright, winbottom; /* столбец, строка правого нижнего угла */
attribute, normattr; /* атрибуты окна*/
currmode; /* текущий режим работы видеоадаптера */
screenheight; /* полная высота экрана */
screenwidth; /* полная ширина экрана */
сurх, сurу; }; /* строка, столбец текущей позиции курсора */
Информация об активном окне доступна при выполнении функции
gettextinfo( struct text_info *t);
При вызове эта функция заполняет поля структурной переменной описанной по шаблону text_info, указатель t на которую она получает.
Функция window() инициализирует поля координат фрейма окна. Функции textcolor(), textbackground(), textattr() и другие управляют цветом отображаемых символов в окне.
12.Что такое курсор и как можно им управлять?
элемент графического интерфейса, который указывает на объект, с которым будет производиться взаимодействие с помощью клавиатуры, мыши или другого устройства управления.
13.Зачем нужен байт атрибутов символа?
Кодирует особенности отображения символа на экране: цвет пикселов, из которых формируется очертание символа (Foreground Color), цвет всех остальных пикселов знакоместа или цвет фона символа (Background Color), мерцание символа и необходимость повышения яркости символа при отображении.
14.Сколько цветов фона и символов можно одновременно использовать и
почему?
В режиме, устанавливаемом по умолчанию, для фона можно использовать 8 цветов, потому что бит в байте параметров, устанавливающий яркость или интенсивность фонового цвета, предназначается для другой цели. Он применяется для задания режима мерцания символа. В любом текстовом режиме IBM, управляя атрибутами, можно работать с 16-цветовой палитрой. Любой символ текст а может быть изображен любым из 16 цветов.
15.Какая структура данных используется для хранения цветов?
Enum COLORS { /* Цвета нормальной яркости: */
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 */}