- •Принципы модульного программирования
- •1. Процедуры
- •1.1.Пример программы с процедурой
- •1.2. Расположение процедур в программе
- •2. Функции
- •2.1. Пример программы с функцией
- •3. Внешние процедуры и функции
- •3.1. Модули пользователей
- •Сложные типы данных, применяемые в Паскале
- •1. Множества
- •1.1. Примеры программ с использованием множеств
- •2. Записи
- •2.1.Пример программы обработки записей
- •Файлы и наборы данных
- •1.Текстовые файлы
- •1.1. Создание текстового файла
- •1.2. Работа с существующим текстовым файлом
- •2. Последовательные файлы
- •2.1.Примеры программ с файлами, содержащими данные простого типа
- •2.2.Работа с файлами, содержащими данные сложного типа
- •2.2.1. Создание последовательного файла
- •2.2.2. Работа с файлом filan
- •3. Файлы с произвольным (прямым) доступом
- •3.1. Создание файла с прямым доступом
- •3.2. Работа с файлом: поиск и коррекция записей
- •3.3. Упорядочение записей в файле
- •3.4. Удаление записей из файла
- •3.5. Вставка записей в файл
- •Динамическое распределение памяти. Указатели и списки
- •1. Использование указателей. Списки
- •2. Очереди
- •2.1. Очередь типа Lifo
- •2.2. Очередь Fifo
- •Стандартные модули Турбо Паскаля
- •Модуль Crt
- •Модуль dos
- •Модуль Graph
- •1. Инициирование графического режима
- •2. Вывод текста (надписей) в графическом режиме
- •3. Вывод точек на экран
- •4. Построение графических изображений
- •5. Запоминание и вывод изображений
- •Библиографический список
- •Содержание
- •Процедуры 3
- •2. Функции 12
2. Вывод текста (надписей) в графическом режиме
Текст в графическм режиме выводить сложнее, чем в текстовом. Для вывода строки текста необходимо задать шрифт и размер букв, а потом вывести строку. Драйвер с русским шрифтом имеется не во всех системах. Поэтому стандартно надписи на графиках можно выполнять латинскими буквами.
Для вывода текста в графическом режиме используются процедуры:
1) Settextstyle (шрифт:Word;направление:Word;размер:1..10);
Процедура задает шрифт и размер букв.
ШРИФТ задается английским словом или числом
0 - обычный, буквы 8х8 точек
1 - красивый
2 - мелкий
3 - прямой
4 - готический
НАПРАВЛЕНИЕ:
0 - слева направо,
1 - снизу вверх.
РАЗМЕР:
1 - нормальный ( 8х8 точек ),
2 - в 2 раза больше и т.д. - до 10.
Пример.
Settextstyle (1,0,1);
2) OutТext(строка); Процедура осуществляет вывод строки заданного шрифта от текущего положения курсора.
3) OuttextXY(X,Y,строка); Процедура осуществляет вывод строки от точки с координатами (X,Y).
Пример.
Settexttyle (1,0,1);
OutTextXY(GetmaxX Div 2, GetmaxY div 2, `Graphic`);
В результате выполнения этих процедур будет выведено слово Graphic в середине экрана.
Для вывода чисел в графическом режиме (например, максимального значения х – Xmax, – из предыдущего примера) необходимо преобразовать их в строку с помощью процедуры
Str(число,строка);
а затем воспользоваться процедурой вывода текста.
Например, следующий фрагмент программы обеспечивает вывод на экран, начиная от точки с координатами (80,50), значения Xmax.
Xmax:=GetmaxX;
Str(Xmax,StrX);
OutTextXY(80,50,'Xmax='+StrX);
Текущие параметры для текста можно запросить с помощью процедуры GetTextSettings.
3. Вывод точек на экран
В графическом режиме имеется возможность задавать цвет изображения и фона (из палитры). Для этой цели используются следующие процедуры.
1) Установка цвета фона:
SetBkColor(цвет:word); { Цвет из палитры }
2) Цвет рисунка устанавливается процедурой
SetColor (цвет:Word);
Цвет – номер цвета ( или английское наименование ) из палитры (от 1 до 15).
3) Очистка экрана перед выводом изображения осуществляется с помощью процедуры
Cleardevice;
Пара процедур:
SetBkColor(цвет);
Cleardevice;
окрасит весь экран заданным цветом.
4) Количество цветов в палитре позволяет определить функция
GetMaxColor
или константа MaxColors.
5) Вывод на экран отдельных точек обеспечивает процедура
PutPixel(x,y,цвет);
Здесь (x,y) – координаты точки, а цвет – ее цвет (из палитры).
Пример.
Составить программу "Звездное небо", которая выводит на экран разноцветные точки в случайных местах. В программе для задания координат и цвета будем использовать генератор случайных чисел Randomize. Диапазон случайных чисел определяется функциями GetMaxX, GetMaxY и GetMaxColor соответственно. Программа будет иметь вид:
Program Plot_Stars;
uses
Crt, Graph;
var
Er,GDr, GMode: Integer;
X, Y: Integer;
Color:Integer;
begin
Gdr := Vga;
GMode:= VgaLo;
InitGraph(Gdr,GMode,'');
Er:=GraphResult;
If Er=GrOk then
Begin
Randomize;
ClearDevice;
Repeat
Color:=Random(GetMaxColor);
x:=Random(GetMaxX);
y:=Random(GetMaxY);
PutPixel(x,y, Color);
Delay(10);
Until Keypressed;
CloseGraph;
End
Else
Writeln('Ошибка графики ',Er);
Readln;
end.
