- •1. Структура программы.
- •2. Раздел объявлений.
- •3. Раздел исполняемых операторов.
- •4. Решение вычислительных задач.
- •5. Структура графической программы.
- •6. Графические операторы.
- •7. Решение графических задач.
- •8. Блок операторов.
- •9. Оператор ветвления.
- •10. Решение задач на ветвления.
- •11. Оператор цикла с параметром.
- •12. Решение задач на цикл с параметром.
- •13. Двойные и тройные циклы.
- •14. Решение задач на двойные циклы.
- •15. Решение задач на циклы по окружности.
- •16. Использование генератора случайных чисел.
- •17. Операции над строками.
- •18. Решение задач на обработку строк.
- •19. Функции пользователя.
- •20. Построение графиков функций.
- •21. Решение задач на построение графиков функций.
- •22. Подпрограммы.
- •23. Решение задач на подпрограммы.
- •1. Написать программу для построения изображения:
- •2. Добавьте в вашу программу следующие элементы:
- •3. Дополнительно добавьте следующие элементы.
- •24. Задача «Звездный коврик».
- •25. Понятие массива.
- •26. Объявление массивов в программе.
- •27. Заполнение одномерных массивов данными.
- •28. Решение простых задач на массивы.
- •29. Решение задач средней сложности.
- •30. Сортировка элементов массива.
- •31. Решение задач на сортировку.
- •32. Заполнение двухмерных массивов данными
- •33. Решение задач на двухмерные массивы.
5. Структура графической программы.
Program Имя; Uses Graph; Var gd,gm: Integer; Раздел объявлений прочих констант, переменных, функций, процедур…. Begin gd:=Detect;InitGraph(gd,gm,’’); Графические операторы. Построение изображения. ReadLn; CloseGraph; End. |
Подключение графического модуля graph.tpu Объявление переменных нужных для включения графического режима (gd- тип видеокарты, gm- видеорежим)
Включение графического режима (тип видеокарты определяется автоматически, графический режим по умолчанию) Пауза Выключение графического режима
|
Пояснения:
В основном модуле паскаля нет графических операторов. Все они находятся во внешнем модуле (в файле graph.tpu). Подключение этого модуля осуществляется командой Uses Graph;. Для включения графического режима монитора требуются две переменных целого типа gd и gm. Первая из них нужна для указания типа видеокарты (CGA, EGA, SVGA …). Вторая из них нужна для указания графического режима (расширения и цветности). Обычно переменной gd присваивают значение Detect, это означает, что тип видеокарты будет определяться автоматически. Переменной gm вообще не присваивают никакого значения, она получит его автоматически при выполнении оператора InitGraph.Последним параметром оператора InitGraph является текстовая строка, которая должна содержать маршрут к графическому драйверу (egavga.bgi). Если эта строка пуста как у нас, то графический драйвер должен находиться в той же папке, где и главный файл паскаля turbo.exe.
В нашем случае включится следующий графический режим:
Пример графической программы:
Program Risunok; Uses Graph; Var gd,gm:Integer; Begin gd:=Detect; InitGraph(gd,gm,’’); SetColor(1); Circle(320,240,100); SetFillStyle(1,2); Bar(290,210,350,270); ReadLn; CloseGraph; End. |
Имя программы придумываем сами Объявляем использование графического модуля Объявляем переменные для включения гр. Режима
Включаем графический режим Устанавливаем синий цвет для линий Изображаем окружность Устанавливаем зеленый цвет для заливки Изображаем залитый квадрат
Выключаем графический режим.
|
6. Графические операторы.
Вспомогательные |
||||||
ClearDevice; SetBkColor(цвет); |
Очистка экрана Установка цвета фона |
|||||
Изображение точки |
||||||
PutPixel(x,y,цвет); |
x,y – координаты точки PutPixel(320,240,4); - изображение красной точки в центре экрана |
|||||
Изображение линий |
||||||
SetColor(цвет); |
Установка текущего цвета линий. Применять перед командой на изображение какой-либо линии. |
|||||
Line(x1,y1,x2,y2); |
Команда на изображение отрезка |
|||||
RectAngle(x1,y1,x2,y2); |
Команда на изображение прямоугольника |
|||||
Circle(x,y,R); |
Команда на изображение окружности |
|||||
Arc(x,y,начала,конца,R); |
К
90 |
|||||
270 |
Arc(320,240,90,180,100); |
|||||
Ellipse(x,y,начала,конца,Rx,Ry); |
Команда на изображение дуги эллипса. Из-за не совпадения Rx и Ry можно рисовать овалы: |
|||||
Изображение закрашенных фигур |
||||||
SetFillStyle(стиль, цвет); |
Установка стиля заливки закрашенных фигур. По этой команде ничего не рисуется и не закрашивается Стили: 0 – нет заливки 1 – сплошная 2 – штриховка горизонт. линиями 3..12 – другие штриховки |
|||||
Bar(x1,y1,x2,y2); |
Команда на изображение закрашенного прямоугольника. Стиль заливки устанавливается предварительно через SetFillStyle |
|||||
PieSlice(x,y,начала,конца,R); |
Команда на изображение закрашенного сектора (сектор – часть круга) |
|||||
Заливка замкнутых фигур нарисованных из линий |
||||||
FloodFill(x,y,цвет линий); |
Для заливки ранее нарисованной фигуры необходимо указать точку внутри нее и цвет линий, которыми она нарисована. Цвет самой заливки устанавливается предварительной командой SetFillStyle Пример: |
|||||
SetColor(1); Line(100,100,200,100); Line(100,100,100,200); Line(100,200,200,100); SetFillStyle(1,4); FloodFill(110,110,1); |
Вывод текста в графическом режиме |
||
SetColor(цвет); |
Установка цвета для выводимого текста |
|
SetTextStyle(шрифт,ориентация,размер); |
Установка стиля для выводимого текста Шрифт от 0 до 7 Ориентация: 0-горизонт, 1-вертикаль Размер от 1 до 40 |
|
OutTextXY(x,y,строка); |
Команда на вывод текста в определенном месте экрана. Пример: |
|
|
SetColor(4); SetTextStyle(2,0,8); OutTextXY(200,100,’Hello’); SetColor(1); SetTextStyle(1,1,16); OutTextXY(300,200,’DOG’); |
Примечания:
-
Все данные, указываемые в графических операторах, должны быть целыми числами (Integer);
-
Углы указываются в градусах;
-
Радиусы измеряются в пикселях.