Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB.DOC
Скачиваний:
16
Добавлен:
18.02.2017
Размер:
111.1 Кб
Скачать

Управление выводом символов в си

В языке СИ есть функции, которые позволяют задавать цвет символа и фона знакоместа. Функция textcolor (x) - задает цвет символа (x - int, код цвета). Функция textbackground (x) - задает цвет фона знакоместа (x -int, код цвета). Для установки видеорежима можно восполь-зоваться функцией 0Н прерывания 10Н:

_AH = 0x00,

_AL = 0x03 - третий (80*25, цветной),

geninterrupt (0x10),

или функцией textmode (x), где x = {C80, С40, BW80, BW40}.

Для непосредственной записи в видеопамять можно использовать функции: poke и pokeb с параметрами (0xB800, X, Z), где 0xB800 - сегмент соответствующий началу видеобуфера, X - смещение, Z - значение байта. Функция pokeb записывает байт, а poke - слово по указан-ному адресу.

Режим графики

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

INITGRAPH ( &driver, &mode, "D:\TC\BGI") инициализирует графический режим,

где driver - тип графического адаптера: CGA, EGA, ... DETECT, параметр DETECT устанавливает тип графического адаптера автоматически;

mode - тип видеорежима;

"D:\TC\BGI" - обратный путь расположения графических драйверов

PUTPIXEL (int x, int y, color) - рисует точку цвета color в позиции x, y.

Непосредственная адресация видеопамяти в графическом режиме для EGA возможна, но довольно трудна. Мы рассмотрим этот вопрос в лабораторной работе 6.

Определение времени работы программы

Для сравнения различных методов управления выводом на экран можно воспользоваться функцией clock();

#include <time.h>

clock_t START, END;

double F;

START = clock();

{ПРОГРАММА}

END = clock()

F = (END-START)/CLK_TCK;

где F - время работы программы (участка) в секундах.

Домашнее задание

1. Составить краткий конспект лабораторной работы.

2. Составить программу(ы), которая выполняла бы следующие действия:

а) с помощью функций СИ выводила на весь экран (80х25) символы с кодами от 15 до 254, изменяя у каждого следующего символа его цвет, а через 8 символов меняя цвет фона;

б) задача а), но с помощью непосредственной адресации видеобуфера (pokeb);

в) рисовала на экране цветными точками прямоугольник 10<X<90, 10<Y<120 с помощью функции putpixel;

г) задача в), но с помощью функции 0CH прерывания 10H;

д) определяла время решения всех задач.

Порядок выполнения работы

1. Получить у преподавателя допуск к лабораторной работе.

2. Отладить программу на ЭВМ.

3. Сравнить время решения задач различными методами, выводы записать в конспект.

4. Защитить лабораторную работу.

Лабораторная работа n4 Методы защиты программ и данных краткие теоретические сведения

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

Рассмотрим некоторые методы шифрования данных.

Соседние файлы в предмете Операционные системы