6 Образцы решения задач
Написать программу, которая построит график функции y=x+3
program gr;
uses Graph;
const n=100;
var
d,r,i,y:integer;
begin
d:=Detect;
initgraph(d,r,'');
setbkcolor(black);
setcolor(green);
line(getmaxx div 2,0,getmaxx div 2,getmaxy);
line(0,getmaxy div 2, getmaxx,getmaxy div 2);
for i:=1 to 1000 do begin
y:=-round((i+3)*0.5)+320;
putPixel(i,y,white); end;
readln;
closegraph;
end.
Изобразить летающую тарелку.
uses crt, graph;
const r=20;
pause=50;
var d,m,e,xm,ym,lx,ly,rx,ry,i,size,dx,dy: integer;
x,y,width,height:integer;
saucer:pointer;
label Loop;
begin
d:=detect;
InitGraph(d,m,'c:\tp7\bgi');
x:=r*5; y:=r*2;
xm:=GetMaxX div 8;
ym:=GetMaxY div 8;
SetFillStyle(0,Red);
Ellipse(x,y,0,360,r,r div 3+2);
Ellipse(x,y-4,190,357,r,r div 3);
Line(x+7,y-6,x+10,y-12);
Line(x-7,y-6,x-10,y-12);
Circle(x+10,y-12,2);
Circle(x-10,y-12,2);
FloodFill(x+1,y+4,White);
lx:=x-r-1;
ly:=y-14;
rx:=x+r+1;
ry:=y+r div 3+3;
Width:=rx-lx+1;
Height:=ry-lx+1;
Size:=ImageSize(lx,ly,rx,ry);
GetMem(Saucer,Size);
GetImage(lx,ly,rx,ry,Saucer^);
PutImage(lx,ly,Saucer^,XorPut); {очистка изображения тарелки}
Rectangle(xm,ym,7*xm,7*ym);
SetViewPort(xm+1,ym+1,7*xm+1,7*ym-1,ClipOn);
xm:=6*xm;
ym:=6*ym;
for i:= 1 to 200 do
PutPixel(Random(xm),Random(ym),White);
x:=xm div 2;
y:=ym div 2;
dx:=10;
dy:=10;
Repeat
PutImage(x,y,Saucer^,XorPut);
Delay(pause);
PutImage(x,y,Saucer^,XorPut);
loop:x:=x+dx;
y:=y+dy;
if (x<0)or(x+width+1>xm)or(y<0)or(y+Height+1>ym)
then
begin
x:=x-dx;
y:=y-dy;
dx:=GetMaxX div 10-Random(GetMaxX div 5);
dy:=GetMaxY div 30-Random(GetMaxY div 15);
goto loop
end;
Until KeyPressed;
CloseGraph;
end.
7 Контрольные вопросы
Как называется, и как подключается библиотека графических процедур и функций?
Как инициализируется графический режим?
Как выключается графический режим?
Как изменяются параметры линий рисования?
Опишите процедуру рисования линий.
Опишите процедуры рисования окружности.
Опишите процедуры рисования дуги окружности и дуги эллипса.
Опишите процедуру рисования контура прямоугольника.
Опишите процедуры изменения текущего цвета рисования и текущего цвета фона.
Как изменить (установить) цвет точки экрана.
приложение А
Варианты заданий для выполнения
Построить график указанной функции:
Локон Аньези: (x2+а2)y-a3=0
Кривая, заданная параметрически: x=t2,y=2/3t(3-t2)
Кривая, заданная параметрически: x=4t2,y=3t(t2+1)
Кривая, заданная параметрически: x=t4,y=t2-t5
Кардиоида: (x2+y2)(x2+y2-2ax)-a2y2=0. Воспользуйтесь параметрическим представлением:x=acost(1+cost),y=asint(1+cost), 0≤t≤2.
Улитка Паскаля: (x2-y2-ax)2 - L2 (x2+y2)=0. Воспользуйтесь параметрическим представлением: x=a cos2t +L cos t, y= a cos t sin t+Lsint, 0≤t<2
Полукубическая парабола: a2x3-y2=0. Воспользуйтесь параметрическим представлением:x=t2,y=at3.
Декартов лист: x3 +y3- 3axy=0,a>0. Воспользуйтесь параметрическим представлением: , , 1<|t|<∞, t=tg().
Циссоида: x3+(x-a)y2=0, a>0. Воспользуйтесь параметрическим представлением: , , -∞ < t < +∞.
Строфоида: (x+a)x2+(x-a)y2=0,a>0. Воспользуйтесь параметрическим представлением: , , -∞ < t< +∞.
Составить таблицу значений функции в два столбика на экране и ее график.
Астроида: (x2+y2-r2)3+27r2x2y2=0. Воспользуйтесь параметрическим представлением:
Y=r cos3(t/4)
Y=r sin3 (t/4), t [0, 2]
Y=(x2-4x+3)2
Y=|x2-4x+1|
. Arshx – ареасинус.
y=x(x-3)(x+1)
y=x2(x-2)(x+1)
y=(x-1)2(x+1)4(x-2)3
y=xtgx
Приложение Б
Нарисовать движущуюся ракету при взлете
Изобразить солнце с мерцающими лучами
Нарисовать одуванчик с разлетающимися «пушинками»
Нарисовать забор с падающей первой доской
Изобразить вишенку, которая меняет мимику (улыбка-грусть)
Нарисовать домик, чтобы при нажатии на «А» свет в окне загорался, а потом гаснет при нажатии «В»
Нарисовать снеговика с моргающими глазками
Изобразить целый арбуз, из которого выпадает кусочек
Изобразить летящего комара
Нарисовать картинку: «Робот с двигающимися руками»
Изобразить домик, у которого дверь открывается, если нажать клавишу «enter» и закрывается, если нажать пробел
Нарисовать картинку: «Движущийся автомобиль»
Нарисовать разноцветную ромашку, с меняющимся цветом лепестков
Изобразить смену дня и ночи
Нарисуйте разноцветную бабочку, постоянно меняющую цвета
Изобразить кисть смородины с отпадающими ягодками
Изобразить убывающую луну
Преобразовать белый гриб в мухомор
Изобразить компьютер, на дисплее которого появляется и исчезает надпись «Привет»
Изобразить растущую луну