- •Вопрос 26. Сортировка обменом (так называемая "пузырьковая" сортировка).
- •Вопрос 27. Комбинированный тип данных. Запись. Описание записи. Доступ к полям записи
- •Вопрос 28. Оператор with.
- •Вопрос 29. Модуль crt
- •Вопрос 30. Модуль graph
- •Вопрос 31. Инициализация графики, подготовительные работы, управление цветом, закрытие режима
- •Вопрос 32. Процедуры и функции для работы с "графическими примитивами".
- •Вопрос 33. Процедуры для работы с текстом.
- •Вопрос 34. Типизированные файлы. Процедуры и функции для работы с типизированными файлами
- •Вопрос 35. Процедуры и функции для работы с файлами любого типа
- •Вопрос 36. Текстовые файлы, их описание и основные отличия от типизированных файлов.
- •Вопрос 37. Нетипизированные файлы.
- •Вопрос 38. Модули. Модульное программирование.
- •Вопрос 39. Указатели и динамическая память. Выделение и освобождение динамической памяти.
- •Вопрос 40. Основы объектно-ориентированного программирования.
- •Вопрос 41. Метод хорд
- •Вопрос 42. Метод касательных
- •Вопрос 43. Метод итераций
- •Вопрос 44. Методом средних прямоугольников
- •Вопрос 45. Методом трапеций
- •Вопрос 46. Методом Симпсона
- •Вопрос 47. MathCad. Нахождение корней уравнений.
- •Вопрос 48. MathCad. Нахождение определенных интегралов
- •Вопрос 49. MathCad. Построение графика функций
- •Вопрос 50. MathCad. Работа с матрицами
Вопрос 29. Модуль crt
Модуль Crt позволяет выводить цветные символы на цветном экране. Хотя по-прежнему отображение будет происходить в текстовом режиме. Текстовый режим означает, что на экране могут выводиться только определенные символы в определенных местах (знакоместах). Можно представить экран, разделенным вертикальными и горизонтальными линиями на ячейки. В эти ячейки можно «вписывать» различные символы. У каждой ячейки есть адрес.Модуль Crt содержит ряд процедур, позволяющих задавать цвет символов и экрана, очищать экран, менять позицию курсора и др.Стандартный экран в Паскале чаще формируется из 25 сток и 80 столбцов. Строки нумеруются сверху вниз, а столбцы слева на право. Нумерация начинается с единицы (что может показаться непривычным).Количество доступных цветов (для экрана и символов) всего 16. Они кодируются числами от 0 до 15. Также вместо чисел можно прописывать названия цветов.
Для того чтобы в программе можно было использовать содержимое модуля Crt, его надо импортировать (подключить) в программу. Делается это в секции, которая начинается со слова uses.Чтобы очистить экран от всех надписей, требуется выполнить процедуру clrscr. Если перед этим был задан цвет экрана (с помощью textbackground), то экран будет залит соответствующим цветом.Цвет текста определяется процедурой textcolor, позиция курсора – gotoxy.
Для вывода символов на экран используются стандартные процедуры write и writeln.
Также существует процедура временной задержки delay (аргумент задается в микросекундах), если требуется выводить символы не сразу, а постепенно.
uses
crt;
begin
textbackground (7);
clrscr;
textcolor (12);
gotoxy (10,5);
write ('Hi, world!');
delay (1500);
gotoxy (40,22);
textcolor (14);
write ('Yes');
readln
end.
Вопрос 30. Модуль graph
Процедуры и функции модуля Graph (выборочно)
1. Переход в графический режим и обратно
procedure InitGraph (var Driver, Mode: Integer; Path: string);
Описание параметров процедуры:
Driver - определяет тип графического драйвера. Для адаптера VGA/SVGA значение параметра задается константой VGA = 9. Обычно используется значение Driver, равное константе Detect=0, которая включает режим автоматического определения типа драйвера.
Mode - задает режим работы видеоадаптера. Например, для режима VGA с разрешением 640х480 значение Mode должно быть равно константе VGAHi = 2. Если значением Driver является Detect, то режим адаптера и значение Mode также определяется автоматически.
Path - указывает путь к каталогу, содержащему драйверы BGI (Borland Graphic Interface). Если драйверы BGI находятся в текущем каталоге, то значение Path задается пустой строкой: ‘’.
Пример использования процедуры с автоматическим определением драйвера и режима адаптера:
Driver := Detect;
InitGraph (Driver, Mode, ‘C:\TP\BGI’);
function GraphResult : Integer;
Возвращает результат последнего обращения к графическим процедурам в виде целочисленного кода. Если код результата равен константе grOK = 0, то ошибки нет, в противном случае по коду ошибки можно идентифицировать ее характер.
function GraphErrorMsg (Code: Integer): string;
Возвращает текстовое сообщение об ошибке графики по ее коду.
Пример использования функции:
Writeln (GraphErrorMsg (GraphResult));
procedure CloseGraph;
Завершает работу адаптера в графическом режиме, очищает экран и переводит его в текстовый режим.
2. Координаты и окна
function GetMaxX: Word;
function GetMaxY: Word;
Возвращают максимальные координаты (размеры) экрана в данном режиме в пикселях. Левый верхний угол экрана имеет координаты (0, 0).
procedure MoveTo (X, Y : Integer);
Перемещает невидимый указатель текущей позиции в точку с координатами X, Y относительно окна или экрана.
procedure SetViewPort (X1, Y1, X2, Y2: Integer; Clip: Boolean);
Устанавливает прямоугольное окно для вывода графической информации. Величины (X1, Y1) задают левый верхний, а (X2, Y2) – правый нижний угол окна относительно экрана. После этого координаты текущего указателя становятся относительными, т.е. отсчитываются от левого верхнего угла окна с координатами (0, 0). Параметр Clip определяет отсечку части изображения, не помещающуюся в окне. Для этого удобно использовать константы ClipOn = True и ClipOff = False.
procedure ClearViewPort;
Очищает графическое окно, закрашивает его цветом фона и устанавливает текущий указатель в левый верхний угол окна.
3. Цвета и линии
procedure SetColor (Color: Word);
Устанавливает цвет выводимых линий и символов по его коду Color в соответствии с таблицей 17.1.
procedure SetBkColor (Color: Word);
Устанавливает цвет фона.
function GetColor: Word;
function GetBkColor: Word;
Возвращает код текущего цвета линий и фона.
procedure PutPixel (X, Y: Integer; Color: Word);
Выводит заданным цветом точку с координатами X, Y.
procedure Cyrcle (X, Y: Integer; R: Word);
Вычерчивает текущим цветом окружность с радиусом R и координатами центра X, Y.
procedure Line (X1, Y1, X2, Y2: Integer);
Выводит текущим цветом прямую линию с координатами X1, Y1 начала и X2, Y2 конца.
procedure Rectangle (X1, Y1, X2, Y2: Integer);
Вычерчивает текущим цветом прямоугольник с координатами X1, Y1 левого верхнего и X2, Y2 – правого нижнего угла.
4. Вывод текста
procedure OutText (TextString: string);
Выводит строку TextString с текущей позиции.
procedure OutTextXY (X, Y: Integer; TextString: string);
Выводит строку с позиции, заданной координатами X, Y.
С помощью этих процедур можно выводить также русский текст, если на компьютере установлен соответствующий драйвер.
Имеется также ряд процедур и функций, управляющий шрифтами и расположением текста.
Замечание по разделу. Материал данного раздела носит обзорный характер. Примеры программ с использованием модулей CRT и Graph приводятся в разделах «Динамические списки» и «Объектно-ориентированное программирование».