programmirovanie na yazike paskal

PPT 54 стр. 1,3 МБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 54
slayd 1 programmirovanie na yazike paskal tema 7. grafika sistema koordinat (0,0) (x,y) x y x y * upravlenie tsvetom tsvet i tolshina liniy, tsvet tochek: pen ( 1, 255, 0, 0 ); tsvet i stil zalivki: brush ( 1, 0, 255, 0 ); tsvet teksta: textcolor ( 0, 0, 255 ); tolshina linii r(red) 0..255 g(green) 0..255 b(blue) 0..255 0 – viklyuchit 1 - vklyuchit r g b r g b * tochki, otrezki i lomanie pen (1, 0, 255, 0); line (x1, y1, x2, y2); pen (1, 0, 0, 255); point (x, y); pen (1, 255, 0, 0); moveto (x1, y1); lineto (x2, y2); lineto (x3, y3); lineto (x4, y4); lineto (x5, y5); (x1, y1) (x2, y2) (x, y) (x1, y1) (x2, y2) (x3, y3) (x4, y4) (x5, y5) * figuri s zalivkoy pen (1, 0, 0, 255); brush (1, 255, 255, 0); rectangle (x1, y1, x2, y2); …
2 / 54
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; * shtrixovka (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 := x2 – x1; 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 * shtrixovka (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 …
3 / 54
1), round(y1)); pifagor (x1, y1, a+pi/4, l*k, n-1); pifagor (x1, y1, a-pi/4, l*k, n-1); end; end; rekursivnie vizovi zakonchit, esli n=0 rekursivnoy nazivaetsya protsedura, vizivayushaya sama sebya. * programma program qq; procedure pifagor(x0, y0, a, l: real; n: integer); ... end; begin pifagor (250, 400, pi/2, 150, 8); end; ugol α dlina stvola chislo urovney x0 y0 pifagor (250, 400, 2*pi/3, 150, 8); kak naklonit derevo vpravo na 30o? ? * "4": ispolzuya rekursivnuyu protseduru, postroit figuru: "5": ispolzuya rekursivnuyu protseduru, postroit figuru: zadaniya * programmirovanie na yazike paskal tema 11. animatsiya animatsiya animatsiya (angl. animation) – ojivlenie izobrajeniya na ekrane. zadacha: vnutri sinego kvadrata 400 na 400 pikseley sleva napravo dvigaetsya jeltiy kvadrat 20 na 20 pikseley. programma ostanavlivaetsya, esli najata klavisha esc ili kvadrat doshel do granitsi siney oblasti. problema: kak izobrazit peremeshenie ob'ekta na ekrane? privyazka: sostoyanie ob'ekta zadaetsya koordinatami (x,y) printsip animatsii: risuem ob'ekt v tochke …
4 / 54
tsya zapusk tsikla * protsedura (risovanie i stiranie) procedure draw(x, y: integer; flag: boolean); begin if flag then brush(1, 255, 255, 0) else brush(1, 0, 0, 255); rectangle(x, y, x+20, y+20); end; (x, y) (x+20, y+20) idei odna protsedura risuet i stiraet steret = narisovat tsvetom fona granitsu kvadrata otklyuchit (v osnovnoy programme) risovat (true) ili net (false)? risuem: tsvet kisti – jeltiy stiraem: tsvet kisti – siniy tolko zalivka! * polnaya programma program qq; var x, y, k, code, i: integer; stop: boolean; procedure draw(x,y: integer; flag: boolean); begin ... end; begin brush(1, 0, 0, 255); rectangle(10, 10, 400, 400); pen(0, 0, 0, 255); x := 10; y := 200; stop := false; repeat if isevent then begin ... end; draw(x, y, true); delay(10); draw(x, y, false); x := x + 1; if x >= 400-20 then stop := true; until stop; end. protsedura nachalnie usloviya vixod po klavishe …
5 / 54
ean); begin ... end; if isevent then begin ... end; protsedura osnovnoy tsikl obrabotka sobitiy chto ploxo? ? * kak ubrat miganie? problema: daje esli ne najata nikakaya klavisha, kvadrat pererisovivaetsya cherez kajdie 20 ms (miganie!) chto xochetsya: ne pererisovat kvadrat, esli ne bilo nikakogo sobitiya reshenie: narisovat kvadrat i jdat sobitiya novaya problema: kak jdat sobitiya? reshenie novoy problemi: pustoy tsikl "poka ne sluchilos sobitie, nichego ne delay": while not isevent do; * programma program qq; var x, y, k, code, i: integer; stop: boolean; begin ... repeat draw(x, y, true); while not isevent do; until stop; end. procedure draw(x,y: integer; flag: boolean); begin ... end; draw(x, y, false); event(k, code, i); ... while not isevent do; protsedura risuem kvadrat jdem sobitiya tolko teper stiraem chto mojno uluchshit? ? * "4": kvadrat dvigaetsya pri najatii strelok, odnako ne mojet viyti za granitsi sinego kvadrata: "5": kvadrat neprerivno dvigaetsya, pri …

Хотите читать дальше?

Скачайте все 54 страниц бесплатно через Telegram.

Скачать полный файл

О "programmirovanie na yazike paskal"

slayd 1 programmirovanie na yazike paskal tema 7. grafika sistema koordinat (0,0) (x,y) x y x y * upravlenie tsvetom tsvet i tolshina liniy, tsvet tochek: pen ( 1, 255, 0, 0 ); tsvet i stil zalivki: brush ( 1, 0, 255, 0 ); tsvet teksta: textcolor ( 0, 0, 255 ); tolshina linii r(red) 0..255 g(green) 0..255 b(blue) 0..255 0 – viklyuchit 1 - vklyuchit r g b r g b * tochki, otrezki i lomanie pen (1, 0, 255, 0); line (x1, y1, x2, y2); pen (1, 0, 0, 255); point (x, y); pen (1, 255, 0, 0); moveto (x1, y1); lineto (x2, y2); lineto (x3, y3); lineto (x4, y4); lineto (x5, y5); (x1, y1) (x2, y2) (x, …

Этот файл содержит 54 стр. в формате PPT (1,3 МБ). Чтобы скачать "programmirovanie na yazike paskal", нажмите кнопку Telegram слева.

Теги: programmirovanie na yazike pask… PPT 54 стр. Бесплатная загрузка Telegram