1 Учимся «рисовать» Программирование на языке PASCAL Юдина Ольга Владимировна МОУ средняя школа 6, Тюменская область, г.Когалым
2 Цель: Овладеть азами компьютерной графики Повторить этапы решения задач на ЭВМ Инициализировать графический режим Рисовать отрезки, прямоугольники, окружности Устанавливать цвет рисования и шаблон заливки
3 Этапы решения задач на ЭВМ: 1. постановка задачи; постановка задачи 2. построение математической модели; построение математической модели 3. конструирование алгоритма; конструирование алгоритма 4. перевод алгоритма в программу; перевод алгоритма в программу 5. отладка и испытание программы; отладка и испытание программы 6. получение и анализ результатов. получение и анализ результатов
4 Постановка задачи
5 Построение математической модели Изобразить координатную плоскость Выбрать единичный отрезок Построить изображение (картинка создается из графических примитивов – точек, отрезков, прямоугольников, окружностей)
6 Конструирование алгоритма_1 Составим последовательность вывода элементов нашего рисунка 1. Rectangle(X1,Y1,X2,Y2); {Рисуем голову} 2. Rectangle(X1,Y1,X2,Y2); {левый глаз} 3. Rectangle(X1,Y1,X2,Y2); {правый глаз} 4. Line(X1,Y1,X2,Y2); {Рисуем макушку} 5. Line(X1,Y1,X2,Y2); {Рисуем макушку} 6. Line(X1,Y1,X2,Y2); {Рисуем волосики} 7. Line(X1,Y1,X2,Y2); {Рисуем волосики} 8. Line(X1,Y1,X2,Y2); {Рисуем волосики} 9. Line(X1,Y1,X2,Y2); {Рисуем волосики} 10. Rectangle(X1,Y1,X2,Y2); {Рисуем ухо} 11. ……………
7 Конструирование алгоритма_2 Rectangle(160,120,460,300); {рисуем голову} Rectangle(190,140,260,190); {левый глаз} Rectangle(360,140,430,190); {правый глаз}
8 {Рисуем макушку} Line(160,120,310,70); Line(460,120,310,70); Конструирование алгоритма_3
9 Конструирование алгоритма_4 {Рисуем волосики} Line(310,70,330,40); Line(310,70,350,50); Line(310,70,310,50); Line(310,70,290,50);
10 Конструирование алгоритма_5 Rectangle(130,160,160,220); {Рисуем ухо}
11 Конструирование алгоритма_6 Line(310,230,275,195); Line(310,230,345,195); {Рисуем носик} Line(275,195,345,195);
12 Конструирование алгоритма_7 {Рисуем рот} Line(310,250,230,230); Line(310,250,385,230);
13 Перевод алгоритма в программу PROGRAM kloyn; USES Graph,Crt; VAR gd,gm:integer; BEGIN gd:=VGA; gm:=2; InitGraph(gd,gm, ) ; {Рисуем голову} Rectangle(160,120,460,300); {Левый глаз} Rectangle(190,140,260,190); {Правый глаз} Rectangle(360,140,430,190); {Рисуем макушку} Line(160,120,310,70); Line(460,120,310,70); {Рисуем волосики} Line(310,70,330,40); Line(310,70,350,50); Line(310,70,310,50); Line(310,70,290,50); {Рисуем ушки} Rectangle(130,160,160,220); Rectangle(460,160,490,220); {Рисуем носик} Line(310,230,275,195); Line(310,230,345,195); Line(275,195,345,195); {Рисуем рот} Line(310,250,230,230); Line(310,250,385,230); Line(100,300,530,300); Line(100,300,100,400); Line(530,300,530,400); Line(230,335,100,300); {Рисуем бантик} Line(385,335,530,300); Line(230,370,100,400); Line(385,370,530,400); Rectangle(385,370,230,300); Line(230,335,385,335); ReadKey; closeGraph; END.
14 Отладка и испытание программы
15 Получение и анализ результатов Запустите программу PASCAL. Откройте файл kloyn.pas Запустите программу PASCAL. Откройте файл kloyn.pas Мир разноцветный!!! Прояви фантазию и творчество раскрась картинку.
16 Задание 1: Используя процедуру управления цветом SetColor( ) раскрасьте картинку
17 Задание 2: Используя процедуры управления графическими элементами SetFillStyle( ) и FloodFill( ) раскрасьте картинку
18 Задание 3: Напишите программы, которые изображают ваше состояние Как я усвоил тему урока? хорошо отлично плохо отлично хорошо отлично хорошо отлично хорошоплохо
19 Задание 4: Выразить через (x;y) и R координаты вершин шестиугольника (x;y) – опорная точка рисунка
20 Домашнее задание по вариантам
21 Творческое задание: Придумай собственную картинку и составь программу, которая её изображает