Методическое и дидактическое обеспечение преподавания раздела «Алгоритмы и программы» в 5-11 кл. Исполнитель
Вид материала | Реферат |
СодержаниеDetectGraph (, режим) SetBkColor (c) RectAngle (x1,y1,x2,y2) Circle (X,Y,R) SetFillStyle (,) FloodFill (x,y,) OutTextxy (x,y,) GetColor (X,Y) Declare sub Then print |
- Дидактическое обеспечение образовательной программы, 134.88kb.
- Методическое и дидактическое обеспечение программы. Педагогическое обеспечение. Работа, 462.32kb.
- Методическое и дидактическое обеспечение, 101.36kb.
- Методическое и дидактическое обеспечение программы № п/п Наименование предмета (курса,, 201.07kb.
- Образовательной программы Дороновой Т. Н. «Радуга» № п/п Наименование объектов и средств, 208.35kb.
- Методика преподавания дисциплины «Аудит», 41.52kb.
- Использование программы Power Point для создания учебного проекта «История развития, 85.11kb.
- Отчет по проекту №38: Разработка рекомендаций по реализации Болонского процесса в российской, 1485.06kb.
- «Причастие», 422.68kb.
- Лекция 4 Обеспечивающие подсистемы асу. Математическое, программное, лингвистическое,, 59.3kb.
End.
Процедуры | Комментарий |
InitGraph (); | Задаёт графический режим |
DetectGraph ( | Возвращает значения характеристик дисплея |
SetColor (c); | Задаёт цвет изображения c = red |
SetBkColor (c); | Задаёт цвет фона c = white |
PutPixel(x,y,c); | Точка с координатами x,y и цветом с |
Line (x1,y1,x2,y2); | Линия между тт.(x1,y1) и (x2,y2) |
LineTo(x,y); | Линия от текущей точки до точки (x,y) |
LineRel(dx,dy); | Линия от текущей точки c приращениями |
RectAngle (x1,y1,x2,y2); | Прямоугольник с диагональю (x1, y1, x2, y2) |
SetViewPort (x1,y1,x2,y2,True); | Координаты нового графического окна. True – режим отсекания изображения, выходящего за рамки окна |
Bar (x1,y1,x2,y2); | Закрашенный прямоугольник цветом из SetFillStyle() |
Bar3d (x1,y1,x2,y2,<объёмная глубина>, true); | Параллелепипед |
Circle (X,Y,R); | Окружность с центром в т. X,Y, радиусом R |
Arc (x,y, A0,A,R); | Дуга A0 => A |
Pieslice (x,y, A0,A,R); | Закрашенный сектор |
Ellipse (x,y, A0,A,a,b); | Эллипс или дуга эллипса а - гориз. полуось (радиус), b - верт. полуось (радиус), |
SetFillStyle ( | Z – способ заполнения : 0 – цвет фона; 1 – сплошное, 2 – толстые гориз. линии, 3 – наклонные линии, 11 – плотно точками |
FloodFill (x,y, | Заливка, с1 – цвет границы |
OutText (<текст>); | Выводит текст из текущей позиции |
OutTextxy (x,y,<текст>); | Выводит текст в заданной позиции |
SetTextStyle (f,ar,h) | f - шрифт, ar – направление (0 – горизонтально, 1 – вертикально), h - размеры (1,2,3) |
Функции | Комментарий |
GraphResult; | Код ошибки, если невозможно задать граф. режим и 0, если он задан |
GetMaxX | Возвращает значение размера экрана по горизонтали |
GetMaxY | Возвращает значение размера экрана по вертикали |
GetColor | Возвращает значение цвета |
GetColor (X,Y) | Возвращает цвет точки |
GetX, GetY | Возвращает координаты текущего пикселя |
2. Программа «Точки, линии»
Program PsetLine; {Графика. Основные операторы}
Uses Crt, Graph;
label 10;
Var a,gD,gM,i,n: integer;
begin
10: clrscr;
writeln('После просмотра картинки жми <Enter>');
write('Сколько будет фигурок - ');readln(n);
InitGraph(gD,gM, '');
for i:=1 to n do begin
putpixel(round(random(600)),round(random(480)),round(random(16)));
delay(1000); end;
Setcolor(15); SetTextStyle(DefaultFont, HorizDir, 2);
OutTextXY(0, 100, 'Оператор PutPixel() - точки');
readln; CloseGraph; InitGraph(gD,gM, '');
for i:=1 to n do begin
Setcolor(round(random(16)));
line(round(random(600)),round(random(480)),round(random(600)),round(random(480)));
delay(1000); end;
Setcolor(15); SetTextStyle(DefaultFont, HorizDir, 2);
OutTextXY(0, 100, 'Оператор Line() - линии');
readln; CloseGraph; InitGraph(gD,gM, '');
for i:=1 to n do begin
Setcolor(round(random(15)));
rectangle(round(random(600)),round(random(480)),round(random(600)),round(random(480)));
delay(1000); end;
Setcolor(15); SetTextStyle(DefaultFont, HorizDir, 2);
OutTextXY(0, 100, 'Оператор Rectangle() - рамки');
readln; CloseGraph; InitGraph(gD,gM, '');
for i:=1 to n do begin
Setcolor(round(random(15)));SetFillStyle(round(random(11)),round(random(15)));
bar(round(random(600)),round(random(480)),round(random(600)),round(random(480)));
delay(1000); end;
Setcolor(15); SetTextStyle(DefaultFont, HorizDir, 2);
OutTextXY(0, 100, 'Оператор Bar() - залитый прямоугольник');
readln; CloseGraph; InitGraph(gD,gM, '');
for i:=1 to n do begin
Setcolor(round(random(15)));SetFillStyle(round(random(11)),round(random(15)));
bar3d(round(random(600)),round(random(480)),round(random(600)),round(random(480)),round(random(10)),topon);
delay(1000); end;
Setcolor(15);
SetTextStyle(DefaultFont, HorizDir, 2);
OutTextXY(0, 100, 'Оператор Bar3d() - параллелепипед ');
readln; CloseGraph; InitGraph(gD,gM, '');
for i:=1 to n do begin
Setcolor(round(random(15)));SetFillStyle(round(random(11)),round(random(15)));
Fillellipse (round(random(600)),round(random(480)), round(random(300)), round (random(340)));
delay(1000); end;
Setcolor(15); SetTextStyle(DefaultFont, HorizDir, 2);
OutTextXY(0, 100, 'Оператор FillEllipse() - залитый эллипс');
readln; CloseGraph; InitGraph(gD,gM, '');
for i:=1 to n do begin
Setcolor(round(random(15)));SetFillStyle(round(random(11)),round(random(15)));
PieSlice(round(random(600)),round(random(480)),round(random(360)),round (random(360)), round (random(200))); delay(1000);
end;
Setcolor(15); SetTextStyle(DefaultFont, HorizDir, 2);
OutTextXY(0, 100, 'Оператор PieSlice() - залитый сектор');
OutTextXY(0, 200, 'Это всё!');
readLn; CloseGraph;
write('Для повторения введи 1/0 - ');readln(a);
if a=1 then goto 10 else writeln('Пока!');
end.
3. Программа «Дом» Мухаметшиной Насти и Ивановой Ирины 2005 г.(Линейная)
program dom;
uses crt, Graph;
var x,y,r,gd,gm: integer;
begin
x:=300; y:=300; r:=10;
gd:=Detect; InitGraph (gd,gm, '');
SetСolor (2);
MoveTo (100,300);
Rectangle (x,y-100,x+100,y); SetFillStyle (9,6); FloodFill (x+10,y-10,2);
Rectangle (x-150,y,x,y-100); SetFillStyle (2,15); FloodFill (170,278,2);
Rectangle (x-90,y,x-50,y-70); SetFillStyle (1,6); FloodFill (160,280,2);
MoveTo (x,y-100);
LineTo (x+50,y-150); LineTo (x+100,y-100);
LineTo (x,y-100); LineTo (x+50,y-150); LineTo (x-100,y-150); LineTo (x-150,y-100);
Bar (x+30,y-40,x+70,y-70);
Circle (350,178,13); SetFillStyle (4,13); FloodFill (350,178,2);
Circle (150,50,35); SetFillStyle (1,14); FloodFill (150,50,2);
Ellipse(500,200,0,360,10,60); SetFillStyle (9,2); FloodFill (500,200,2);
Line (x+200,y-50,x+200,y+20);
Ellipse (50,280,0,360,30,10); SetFillStyle (1,7); FloodFill (52,278,2);
Ellipse (87,270,0,360,10,10); SetFillStyle (1,7); FloodFill (88,268,2);
Line (x-270,y-13,x-277,y-2); Line (x-240,y-11,x-233,y-2);
Line (x-278,y-18,x-295,y-40);
MoveTo (0,y); LineRel (500,0); LineRel (500,0);
SetFillStyle (1,2); FloodFill (120,400,2);
SetFillStyle (1,11); FloodFill (120,160,2);
PieSlice (x,y,0,2*1,r); SetTextStyle (6,0,1);
SetColor (14); OutTextXY (20,400,'Ирина и Настя');
readln;
closegraph
end.
4. Программа «Орнамент» Антона Косинцева. (Линейная)
Program Ornament; {Антон Косинцев}
Uses Crt, Graph;
const x=320;
y=240;
c=15;
Var Driver,Mode,i: integer;
r,a,x1,y1,x2,y2:integer;
procedure kwadrat(x1,y1,x2,y2,c:integer);
begin
SetFillStyle(1,15);Bar(x1,y1,x2,y2);Delay(10000);
end;
procedure krug(x,y,r,i: integer);
begin
SetColor(i);Circle(x,y,r);
SetFillStyle(1,i+1);FloodFill(x,y,i);Delay(10000);
end;
begin
clrscr;
InitGraph(Driver, Mode, '');
r:=200;
for i:=1 to 13 do begin
x1:=x-r;y1:=y-r;x2:=x+r;y2:=y+r;
kwadrat(x1,y1,x2,y2,15);
krug(x,y,r,i);
r:=round(r/sqrt(2));
end;
readln;
CloseGraph
end.
5. Программа «Бильярд» Саши Перминова и Паши Гиоргобиани 2005 г. (Динамическая)
Program biljard; {Бильярд}
Uses Crt, Graph;
Var Driver,Mode,i,x,y,n,n1,r:integer; {Гиоргобиани и Перминов}
begin clrscr;
n:=2; r:=5; n1:=2;
InitGraph(Driver, Mode, '');
Rectangle(100,80,540,400);
y:= GetMaxY div 2; x:=100+r;
Repeat
x:=x+n; y:=y+n1;
if x>=540-4-r then n:=-2;
if x<=100+4+r then n:=2;
if y>=400-4-r then n1:=-2;
if y<= 80+4+r then n1:=2;
SetFillStyle(1,4); SetColor(4); Circle(x,y,r); FloodFill(x,y,4);
delay(150);
SetFillStyle(1,0); Setcolor(0); FloodFill(x,y,0); circle(x,y,r);
Until Keypressed;
readLn; CloseGraph;
End.
6. Программа «Точки» Журнал «Информатика и Образование» («И и О») (Структурная)
program toshki;
uses crt, graph;
var x, y : Array [1..255] Of Longint; {Объявление массива на Pascal}
r,b : longint;
l, h ,n, i, j, g, m : integer;
s : string;
procedure coord (n, i : integer); {Создание массива координат точек}
begin randomize;
for i:=1 to n do begin
x[i]:=round(Random*580+20); {random – аналог функции RND QBasic}
y[i]:=round(Random*370+50);
end;
Setcolor(14); rectangle(15,45,605,425);
end;
function rasst(i,j: integer):longint; {Функция - расстояние м/у точками}
begin
rasst:=round(sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])));
end;
procedure init; {Инициализация адресов ближайших и МИН}
begin
l:=1; h:=2; b:=rasst(1,2);
end;
procedure pole (i : integer); {Расстановка точек на плоскости}
var s : string;
begin
for i:=1 to n do begin
str(i,s); setcolor(2);
putpixel(x[i],y[i],15); circle(x[i],y[i],2); setcolor(15);
outtextXY(x[i]+4,y[i]+4,s);
end;
end;
procedure basis; {проверка на МИН}
begin
if rthen begin b:=r; l:=i; h:=j; end;
end;
procedure result(l,h: integer; b: longint);
var s,s1:string;
begin
str(l,s); str(h,s1);
s:='Ближайшие друг к другу точки : '+s+' и '+s1;
outtextXY(10,10,s);
str(b,s); s:='Расстояние между ними - '+s;
outtextXY(340,10,s); setcolor(4);
line(x[l],y[l],x[h],y[h]);
end;
begin clrscr; {основная программа}
write('Сколько будет точек n<=255 - '); readln(n);
InitGraph(g,m, '');
setcolor(2);
coord(n,i);
pole(i);
init;
for i:=1 to n-1 do
for j:=i+1 to n do begin
r:=rasst(i,j);
basis;
end;
result(l,h,b);
readln;
closegraph
end.
7. Программа Сергея Кривоногова «Рекурсия» 2004 г.(ж-л «И и О»)
program rekursia;
uses crt, Graph;
var i,g,m,xa,ya,xb,yb,xc,yc: integer;
procedure treugolnik(xa,ya,xb,yb,xc,yc,n: integer);
var i,xp,yp,xq,yq,xr,yr: integer;
begin i:=1;
if n>0 then begin
xp:=(xb+xc) div 2; yp:=(yb+yc) div 2;
xq:=(xa+xc) div 2; yq:=(ya+yc) div 2;
xr:=(xb+xa) div 2; yr:=(yb+ya) div 2;
MoveTo(xp,yp); LineTo(xq,yq); LineTo(xr,yr); LineTo(xp,yp);
i:=i+1; SetColor(i); treugolnik(xa,ya,xr,yr,xq,yq,n-1);
i:=i+1; SetColor(i); treugolnik(xb,yb,xp,yp,xr,yr,n-1);
i:=i+1; SetColor(i); treugolnik(xc,yc,xq,yq,xp,yp,n-1);
i:=i+1; SetColor(i);
end;
end;
begin clrscr; InitGraph(g,m,''); i:=1; SetColor(i);
xc:=0; yc:=0; xb:=GetMaxX; yb:= GetMaxY; xa:=0; ya:= GetMaxY;
MoveTo(xa,ya); LineTo(xb,yb); LineTo(xc,yc); LineTo(xa,ya);
treugolnik(xa,ya,xb,yb,xc,yc,6);
readln;
CloseGraph;
end.
8. Программа Сергея Коломойца «Листок» 2004 г.(ж-л «И и О» Рекурсионная)
program listok;
uses Graph, Crt;
const Maxit=20;
var p,Dr,Md,I : integer;
x,y,xnew,ynew,r : real;
begin initgraph(Dr,Md,'');
repeat
x:=0.0; y:=0.0; {или x:=random/1000.0; }
for i:=0 to MaxIt do begin
r:=random;
if r<0.01 then begin
xnew:=0.; ynew:=0.16*y;
end
else if r<0.86 then begin
xnew:=0.85*x+0.04*y; ynew:=-0.04*x+0.85*y+1.6;
end
else if r<0.93 then begin
xnew:=0.2*x-0.26*y; ynew:=0.23*x+0.22*y+1.6;
end
else begin
xnew:=-0.15*x+0.28*y; ynew:=0.26*x+0.24*y+0.44;
end;
x:=xnew; y:=ynew ; delay(10);
if (x>=-5) and (x<=5) and (y>=0) and (y<=10) then
putpixel(trunc(640*(x+5)/10),trunc(480-480*y/10),4);
end;
until keypressed;
readln;
closegraph;
end.
9. Код программы "Треугольник". Язык QBasic. (Структурная)
DECLARE SUB init (n1, n2, n3)
DECLARE SUB process ()
DECLARE SUB result ()
DIM SHARED r(1 TO 5)
DIM SHARED i, f, x0, y0, n1, n2, n3
CLS : SCREEN 12
CALL init(n1, n2, n3)
CALL process
CALL result
END
SUB init (n1, n2, n3)
10 INPUT "Сторона a=>"; r(1) : n1 = r(1)
INPUT "Сторона b=>"; r(2) : n2 = r(2)
INPUT "Сторона c=>"; r(3) : n3 = r(3)
r(4) = r(1) : r(5) = r(2)
FOR i = 1 TO 3
IF r(i) >= r(i + 1) + r(i + 2) THEN
COLOR 5 : PRINT "Это не треугольник!" : COLOR 7 : GOTO 10
END IF
NEXT i
END SUB
SUB process
f = 0
FOR i = 1 TO 3
IF r(i) * r(i) = r(i + 1) * r(i + 1) + r(i + 2) * r(i + 2) THEN f = 1 : EXIT FOR
END IF
NEXT i
END SUB
SUB result
IF f = 0 THEN PRINT "В треугольнике нет прямого угла" : EXIT SUB
COLOR 4 : PRINT "Это прямоугольный треугольник!" : GOTO 100
COLOR 15 : PRINT "Его гипотенуза - "; r(i)
100 LINE(350, 200)-(350 + n1 * 10, 200), 5
LINE(350, 200)-(350, 200 - n3 * 10), 5