Презентация "Программирование на языке Паскаль. Графика"


Подписи к слайдам:
Слайд 1

Программирование на языке Паскаль

  • Графика
  • Ниязбекова Айгерим Жарылкасынкызы
  • Учитель информатики, I категории
  • Школа-гимназия №2 им. Г. Кайрбекова
  • Республика Казахстан, город Астана

  • Система координат
  • (0,0)
  • (x,y)
  • X
  • Y
  • x
  • y

  • Управление цветом
  • Цвет и толщина линий, цвет точек:
    • Pen ( 1, 255, 0, 0 );
  • Цвет и стиль заливки:
    • Brush ( 1, 0, 255, 0 );
  • Цвет текста:
    • TextColor ( 0, 0, 255 );
  • толщина линии
  • R(red)
  • 0..255
  • G(green)
  • 0..255
  • B(blue)
  • 0..255
  • 0 – выключить
  • 1 - включить
  • R
  • G
  • B
  • R
  • G
  • B

  • Точки, отрезки и ломаные
  • (x1, y1)
  • (x2, y2)
  • Pen (1, 0, 255, 0); Line (x1, y1, x2, y2);
  • (x, y)
  • Pen (1, 0, 0, 255);
  • Point (x, y);
  • (x1, y1)
  • (x2, y2)
  • (x3, y3)
  • (x4, y4)
  • (x5, y5)
  • Pen (1, 255, 0, 0); MoveTo (x1, y1); LineTo (x2, y2);
  • LineTo (x3, y3);
  • LineTo (x4, y4);
  • LineTo (x5, y5);

  • Фигуры с заливкой
  • (x1, y1)
  • (x2, y2)
  • Pen (1, 0, 0, 255);
  • Brush (1, 255, 255, 0);
  • Rectangle (x1, y1, x2, y2);
  • (x1, y1)
  • (x2, y2)
  • Pen (1, 255, 0, 0);
  • Brush (1, 0, 255, 0);
  • Ellipse (x1, y1, x2, y2);
  • Brush (1, 100, 200, 255);
  • Fill (x, y);
  • (x, y)

  • Текст
  • TextColor (0, 0, 255);
  • Brush (1, 255, 255, 0);
  • Font (20, 30, 600);
  • MoveTo (x, y);
  • writeln ('Привет!');
  • Привет!
  • (x, y)
  • размер
  • 10 пикселей
  • угол
  • поворота
  • насыщенность:
  • 400 – нормальный
  • 600 – жирный
  • 30о

  • Пример
  • (200, 50)
  • (100, 100)
  • (300, 200)
  • program qq;
  • begin
  • Pen(2, 255, 0, 255);
  • Brush(1, 0, 0, 255);
  • Rectangle(100, 100, 300, 200);
  • MoveTo(100, 100);
  • LineTo(200, 50);
  • LineTo(300, 100);
  • Brush(1, 255, 255, 0);
  • Fill(200, 75);
  • Pen(2, 255, 255, 255);
  • Brush(1, 0, 255, 0);
  • Ellipse(150, 100, 250, 200);
  • end.

  • Задания
  • "4": "Лягушка"
  • "5": "Корона"

  • Штриховка
  • (x1, y1)
  • (x2, y2)
  • N линий (N=5)
  • h
  • Rectangle (x1, y1, x2, y2);
  • Line( x1+h, y1, x1+h, y2);
  • Line( x1+2*h, y1, x1+2*h, y2);
  • Line( x1+3*h, y1, x1+3*h, y2);
  • ...
  • h := (x2 – x1) / (N + 1);
  • Rectangle (x1, y1, x2, y2);
  • x := x1 + h;
  • for i:=1 to N do begin
  • Line( round(x), y1, round(x), y2);
  • x := x + h;
  • end;
  • var x, h: real;
  • x
  • округление до ближайшего целого
  • x

  • Как менять цвет?
  • (x1, y1)
  • (x2, y2)
  • Brush ( 1, c, c, c );
  • Fill ( ???, ??? );
  • серый: R = G = B
  • Шаг изменения c:
  • x
  • (x-1, y1+1)
  • var c, hc: integer;
  • hc := 255 div (N + 1);
  • c := 0;
  • for i:=1 to N+1 do begin
  • Line (round(x), y1, round(x), y2);
  • Brush (1, c, c, c);
  • Fill (round(x)-1, y1+1);
  • x := x + h; c := c + hc;
  • end;

  • Штриховка
  • (x1, y1)
  • (x2, y2)
  • (x3, y2)
  • a
  • h
  • (x3+a, y1)
  • Line( x1+h, y1, x1+h-a, y2);
  • Line( x1+2*h, y1, x1+2*h-a, y2);
  • Line( x1+3*h, y1, x1+3*h-a, y2);
  • ...
  • h := (x3 – x2) / (N + 1);
  • a := x1 – x2;
  • x := x1 + h;
  • for i:=1 to N do begin
  • Line( round(x), y1, round(x-a), y2);
  • x := x + h;
  • end;
  • x
  • x-a

  • Штриховка
  • (x1, y1)
  • (x2, y2)
  • hx
  • hy
  • y
  • x
  • y
  • Line( x1, y1+hy, x1+hx, y1+hy) ;
  • Line( x1, y1+2*hy, x1+2*hx, y1+2*hy);
  • Line( x1, y1+3*hy, x1+3*hx, y1+3*hy);
  • ...
  • hx := (x2 – x1) / (N + 1);
  • hy := (y2 – y1) / (N + 1);
  • x := x1 + hx; y := y1 + hy;
  • for i:=1 to N do begin
  • Line( x1, round(y), round(x), round(y));
  • x := x + hx; y := y + hy;
  • end;

  • Задания
  • "4": Ввести с клавиатуры число линий штриховки и построить фигуру, залив все области разным цветом.
  • "5": Ввести с клавиатуры число окружностей и построить фигуру, залив все области разным цветом.

  • <number>
  • Литература:
  • 1.Информатика в школе : Приложение к журналу «Информатика и образование» №5-2006-М: Образование и Информатика.
  • 2.Кашаев С.М., Шерстнева Л.В. Паскаль для школьников. Подготовка к ЕГЭ-М:БХВ-Петербург,2011-336с.
  • 3.Моргун А.Н., Кривель И.А. Программирование на языке Паскаль-Москва Вильямс,2 006-576с,