Информатикадан факультативтік сабақ: Графикалық көмекш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;
Ұқсас тақырыптар:
- I-тур. Информатикадан 2011-2012 жылғы аудандық олимпиадасы, 2-этап, 5 сағат (2012 облыстық І-тур)..
- Паскалдан жиі қолданыстағы тақырыптық есептер (40 есеп+шешуі).
- Информатикадан мектеп олимпиадасы 2011-2012
- Информатика 7-сыныпқа арналған аралық тест жұмысы (дицей-гимназия).
- ІІ-тур. Информатикадан 2011-2012 жылғы аудандық олимпиадасы, 2-этап.
- Паскаль. Кіріс, шығыс файлдары
- Pascal-да программалар: 2-лік->10 сан, 10-дық->2 сан, 4 амал, Қазақша жыл.
- Паскаль. «Бақытты билет», Бүтін санды жай көбейтінділерге бөлшектеу, ASCII таблицасын шығару, Фамилияларды сұрыптау, Хоар процедурасы
- Информатика оқу кабинетiнiң жабдықталуына қойылатын талаптар
- Өтейбойдақтын өсиетi жөнiнде не бiлесiз?