- •Глава 1
- •Свойства алгоритма
- •Словесный способ записи алгоритма.
- •Структурно-стилизованный способ записи алгоритма.
- •Программный способ записи алгоритма.
- •Графический способ записи алгоритма.
- •Циклическая структура с постусловием
- •Циклическая структура с предусловием
- •Циклическая структура с параметром
- •Глава 2
- •Символы разделители:
- •Зарезервированные слова
- •Стандартные идентификаторы
- •Стандартные константы
- •Операции div и mod
- •Стандартные функции
- •Правила написания арифметических выражений
- •Возведение в степень
- •Раздел описания меток
- •Раздел описания констант
- •Раздел описания переменных
- •Раздел определения типов данных
- •Перечисляемый тип
- •Интервальный тип
- •Раздел описания процедур и функций
- •Раздел var ?
- •Глава 3
- •Оператор присваивания
- •Оператор безусловного перехода goto
- •Оператор вызова процедуры
- •Пустой оператор
- •Составной оператор
- •Условные операторы
- •Операторы повтора
- •Глава 4
- •Линейная сортировка
- •Метод сортировки Шелла
- •Метод прямого обмена (пузырьковый метод)
- •Глава 5
- •Глава 6
- •Цветовая шкала
- •Стандартные стили заполнения
- •Стиль линии
- •Толщина линии
- •Построение прямоугольников
- •Построение дуг и окружностей
- •Глава 1 3
- •Глава 2 36
- •Глава 3 78
- •Глава 4 130
- •Глава 5 157
- •Глава 6 167
Цветовая шкала
Таблица 6.2
Цвет |
Код |
Цвет |
Код |
Black - черный Blue - синий Green - зеленый Cyan - бирюзовый Red - красный Magenta - малиновый Brown - коричневый LightGray – светло-серый |
0 1 2 3 4 5 6 7 |
DarcGray - темно-серый LightBlue - ярко-голубой LightGreen - ярко-зеленый LightCyan - ярко-бирюзовый LightRed - ярко-красный LightMagenta - ярко-малиновый Yellow - желтый White – белый |
8 9 10 11 12 13 14 15 |
Процедура SetBkColor(Color:Word) устанавливает новый цвет фона, который определяется значением Color.
Необходимо помнить, что в отличие от текстовых окон графические окна после команды установки фона SetBkColor и очистки меняют фон вместе с общим фоном экрана. Поэтому фон (точнее «закраску») графического окна следует устанавливать с помощью процедуры SetFillStyle.
SetFillStyle(FileStyle :word; Color: word);
где FileStyle – задает способ заполнения замкнутой области в зависимости от значения параметра заполнения (см. таблицу 6.3).
Например, SetFillStyle(1,3).
Стандартные стили заполнения
Таблица 6.3
Значение |
Маска заполнения |
0 1 2 3 4 5 6 7
8
9
10 11 12 |
Цвет фона Текущий цвет Толстые горизонтальные линии -- Наклонные линии нормальной толщины // Наклонные линии удвоенной толщины // Наклонные линии удвоенной толщины \\ Наклонные линии нормальной толщины \\ Вертикально-горизонтальные штриховки тонкими линиями ++ Штриховка крест-накрест по диагонали “редкими” тонкими линиями Штриховка крест-накрест по диагонали “частыми” тонкими линиями “Редкие” точки “Частые” точки Задается пользователем |
Для заполнения внутренней или внешней области фигуры используется процедура
FloodFill(X, Y : integer; Border : word);
где X, Y – координаты точки внутри или вне фигуры,
Border – цвет.
Второй параметр применяют для заполнения области, ограниченной цветом Border, текущим образцом закраски. Если точка (X,Y) находится внутри замкнутой области, то заполняется внутренняя область. Если эта точка находится вне замкнутой области, то заполняется ее внешняя область (поле экрана не входящее в область).
6.2.2 Вывод точки
Какие бы изображения не выводились на экран, все они построены из точек. В библиотеке Graph вывод точки осуществляется процедурой
PutPixel (X, Y: integer; Color :word),
где X, Y – экранные координаты расположения точки.
Например, оператор
for i:=1 to 60 do PutPixel(i, 1, Red);
выведет в первую строку экрана 60 точек красного цвета.
В графических программах довольно часто приходится определять координаты центра экрана по горизонтали и вертикали. Это делается следующим образом:
Xcenter := GetMaxX DIV 2;
Ycenter := GetMaxY DIV 2;
PutPixel (Xcenter, Ycenter, LightGreen); {Точка в центре экрана}
где GetMaxX, GetMaxY – целочисленные функции, которые возвращают соответственно максимально возможные для установленного режима значения X- и Y-координат.
Такой способ избавляет от настройки на конкретный тип монитора и расширяет область применения программы.
6.2.3 Вывод линии
Из точек строится линия (отрезки прямых). Это делает процедура Line (X1, Y1, X2, Y2 : integer);
где X1, Y1 – координаты начала линии,
X2, Y2 – координаты конца линии.
Например, Line (1, 1, 600, 1);
В процедуре Line нет параметра для установки цвета. В этом и других аналогичных случаях цвет задается процедура SetColor.
Например, с помощью операторов
SetColor(3);
Line(1, 1, 600, 1);
будет построена линия бирюзового цвета.
Для черчения линий применяются еще две процедуры: LineTo и LineRel.
LineTo(X, Y : integer); - строит линию от точки текущего положения указателя в точку с координатами Х, Y.
LineRel(dX, dY : integer); - проводит линию от точки текущего расположения указателя в точку CPx + dX, CPy + dY, где CPx и CPy – текущие координаты.
Паскаль позволяет вычерчивать линии самого различного стиля: тонкие, широкие, штриховые, пунктирные и т.д. Установка стиля производится процедурой
SetLineStyle(LineStyle :word; Pattern :word; Thickness : word);
где LineStyle - параметр для установки типа строки (см. таблицу 6.4),
Pattern – образец,
Thickness – толщина линии, определяемая константами, указанными в таблице 6.5.
Если применяется один из стандартных стилей, значение Pattern равно 0. Если пользователь хочет активизировать свой собственный стиль, то значение Pattern равно 4.
Например, SetLineStyle(DottedLn, 0, NormWidth);