Информатикадан факультативтік сабақ: Графикалық көмекшi программалар.

Сейтқазиева Жанат «Жас программист»  факультативтік сабақ жоспарларының кешенді жинағы. Паскаль тілінде программалау Сабақтар көшіру -2011. Жамбыл облысы, Сарысу ауданы, Байқадам атындағы орта мектеп.

Setcolor – графикалық элементтердiң түсiн анықтайды. Мысалы: түзу сызықтың түсiн, текстiк әрiптердiң түсiн және т.с.с.

Setcolor(c: integer) , мысалы Setcolor(4)
Setbkcolor – графикалық экранның түсiн (фон) анықтайды.
Setbkcolor(c: integer) // c- түс идентификаторы.        Мысалы  Setbkcolor(6)

Түстердiң аттары және түс идентификаторы

Black – қара {0}
Blue – көк {1}
Green – жасыл {2}
Cyan – бюрюза {3}
Red – қызыл {4}
Magenta – сиреневый {5}
Brown – қоңыр {6}
LightCray – ақшыл сұр {7}
DarcCray – қою сұр {8}
LightBlue – ақшыл көк {9}
LightGreen -ақшыл жасыл {10}
LightCyan – ақшыл бирюза {11}
LightRed – ақшыл қызыл {12}
LightMagenta – ақшыл сирень {13}
Yellow – сары {14}
White – ақ {15}

Түзулер мен нүктелер.

Процедура PutPixel . Нүктенi берiлген координатта анықталған түсi бойынша салады.

PutPixel(x,y: integer; Color: integer) ; x,y- нүктенiң координаттары, Color- түсi.

Мысалы: келесi программа экранға периодтық түрде ’жұлдызды аспанды’ шығарады‚. Программадан шығу үшiн кез-келген клавишаны басу керек.

Uses Crt, Graph;
Type PixelType= record
x, y: integer;
end;
Сonst N=5000; {жұлдыздар саны}
Var d, r, e, r: integer;
x1, y1, x2, y2: integer; {координаттар}
a: array [1..N] of PixelType;
Begin
{графиктi иницициалдаймыз}
d:= detect; InitGraph(d, r,’ ’);
e:= GraphResult;
if e<> grok then writeln(GraphErrorMSG(e));
else begin x1:= GetMaxX div 4; y1:= GetMaxY div 4;
x2:= 3*x1; y2:= 3*y1;
Rectangle(x1, y1, x2, y2);
SetviewPort(x1+1, y1+1, x2-1, y2-1, ClipOn);
for k:= 1 to N do
with a[k] do
begin
x:= Random(x2-x1); y:= Random(y2-y1);
end; {енгiзу циклi}
repeat
for k:= 1 to N do
with a[k] do
putpixel(x, y, white);
if not KeyPressed then
for k:= n downto 1 do
with a[k] do
PutPixel(x, y, black);
until KeyPressed;
while KeyPressed do k:= ord(ReadKey);
CloseGraph
end;
end.

Функция GetPixel. World типтi, көрсетiлген нүктенiң(пиксель) түсiн қайтарады.
Function GetPixel(x, y: integer): World; x, y -нүктенiң координаты.

Процедура Line. Бастапқы және соңғы нүкте арасында түзу сызықты сызу.

Line(x1,y1,x2,y2); Line(100,123,235,235)
x1,y1,x2,y2- түзу кесiндiсiнiң бастапқы және соңғы нүктелерiнің координаттары.

Процедура LineTo. Курсор орналасқан жерден координаты берілген нүкте арасында түзуды сызады.

LineTo(x, y: integer);

Процедура LineRel. Координаттары жадыда сақталған нүктеден оның өсiмшесi арасында түзу сызықты сызады.

LineRel (dx, dy: integer);

Келесі программа экранның ортасында терезе сызып, оны кез келген түзулермен толтырады.

Uses CRT, Graph;
Var d,r,c: integer;
x1, x2, y1, y2: integer;
Begin
d:= detect;
InitGraph(d, r,’ ’); c:= GraphResult;
if c <> grok then Writeln(GraphErrorMSG©)
else begin
x1:= GetMaxX div 4;
y1:= GetMaxY div 4;
x2:= 3 * x1;
y2:= 3 * y1;
Rectangle(x1, y1, x2, y2);
SetViewPort(x1+1,y1+1,x2-1,y2-1, ClipON);
repeat
setcolor(succ(random(16));
line(random(x2-x1),random(y2-y1),random(x2-x1),random(y2-y1);
until keypressed;

Check Also

Аудандық олимпиада. ІІ-тур. 2016-2017 оқу жылы.

D есебі 5 бүтін сандар берілген. Осы сандардың арасынан төртеуін таңдағандағы қосындының ең үлкен жəне …

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.