Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

СРОЧНО!!! НУЖНА ВАША ПОМОЩЬ!!!!

16K
25 мая 2006 года
Phobia
2 / / 16.03.2006
ПОМОГИТЕ КТО-НИБУДЬ РЕШИТЬ ТРИ ГРАФИЧЕСКИЕ ЗАДАЧИ НА ПАСКАЛЕ!!!!!! СРОЧНО!!!! МНЕ ЗАВТРА УЖЕ НУЖНО ИХ СДАТЬ, НО У МЕНЯ ДОМА НЕ РАБОТАЕТ ГРАФИЧЕКИЙ МОДУЛЬ ПОЧЕМУ-ТО.. поэтому помогите решить, очень прошу!!!! ЗАРАНЕЕ СПАСИБО!!!!!!!!!!!!!

1 задача:
Нужно изменить часть программы, касающуюся рисования движущегося объекта и нарисовать вместо него элементарную машину из геометрических фигур!!!!
Вот программа:

Program Sight;
Uses Crt, Graph;
Const Step = 5;
Instr = 'Dlia peremeshenia najmi strelki, dlia vixoda - ESC';
Var
GrDriver, GrMode : Integer;
X, Y : Integer;
XStr, YStr : String;
Ch : Char;
Procedure MakeSight(X, Y : Integer);
Begin SetColor(White);
Circle(X, Y, 80);
SetColor(LightGreen);
Line(X-140, Y-80, X, Y-80); Line(X-140, Y, X-140, Y-80);
SetColor(LightRed); Circle(X-150, Y+40, 40);
Str(X, XStr); Str(Y, YStr);
SetColor(Yellow);
OutTextXY(X-190, Y-35, 'x=' + XStr);
OutTextXY(X-190, Y-20, 'y=' + YStr)
End;
BEGIN
GrDriver := Detect;
InitGraph(GrDriver, GrMode, 'd:\bp70\bgi');
SetColor(LightGray);
X := GetMaxX div 2; Y := GetMaxY div 2;
Rectangle(50, 425, 600, 460);
OutTextXY(120, 440, Instr);
MakeSight(X, Y);
While TRUE do begin
Ch := ReadKey;
Case Ch of
#27: begin CloseGraph; Halt(1) end;
#75: X := X-Step;
#77: X := X+Step;
#72: Y := Y-Step;
#80: Y := Y+Step
end;
ClearViewPort;
SetColor(LightGray);
Rectangle(50, 425, 600, 460);
OutTextXY(120, 440, Instr);
MakeSight(X, Y) end;
CloseGraph;
END.


2 задача:
Нужно нарисовать график функции:
[SIZE=3]{[/SIZE] x = 3t / (1+t*t*t); y = 3t*t / (1+t*t*t)

пример программы, но только с другим графиком:
Program Grafik;
Uses Crt,Graph; const
mtx=50;mty=50;xn=320;yn=240;
var grad,grred,m,i,n,g,v,a:integer; x,y,x0,y0,t:real; s:string; begin
clrscr;
writeln('vvedite a = ');
readln (a);
begin
grad:=detect;
initgraph(grad,grred,'d:\bp70\bgi'); SetBkColor(LightGray); ClearDevice;
SetColor(Blue); line(0,240,640,240); line(320,0,320,480); Outtextxy(320,10,'y'); Outtextxy(620,250,'x'); Outtextxy(320,250,'0'); m:=trunc(540/mtx); n:=trunc(460/mty);otstypy
for i:=1 to m do
begin
g:=i*mtx;mashtab line(xn+g,yn-3,xn+g,yn+3); str(i,s);cislo i preobrazyetsa v stroky Outtextxy(320+g-5,yn+10,s); line(xn-g,yn+3,xn-g,yn-3); str(-i,s); outtextxy(320-g-5,yn+10,s);
end;
for i:=1 to n div 2 do
begin
v:=i*mty;
line(xn-3,yn-v,xn+3,yn-v);
str(i,s);
Outtextxy(320-10,240-v,s); line(xn-3,yn+v,xn+3,yn+v); str(-i,s); Outtextxy(320-20,240+v,s);
end;
Outtextxy(40,20,'Grafik funkcii y=a*t*(t*t-1)/(t*t+1)'); t:=0;
repeat
x:=a*(t*t-1)/(t*t+1);
y:=a*t*(t*t-1)/(t*t+1); putpixel(mi+round(z),q-round(x),4); putpixel(320+trunc(x),240-trunc(y),4); putpixel(320-trunc(x),240-trunc(y),4);
t:=t+0.01;
until (t>200);
readln;
closegraph;
end;
end.
end;


3 задача:
Нужно нарисовать круговую диаграму, состоящую из 5 элементов (кол-во человек, которые сдали экзамен на 5,4,3,2 и не пришли на экзамен!), подписать значения каждого сектора около самой диаграмы в %!! Ввод значений должен производится с клавиатуры.
Вот примерный вариант задачи, не знаю правильный он или нет, т.к проверить не могу из-за того что графика не загружается (((( :
uses Graph,crt;
var
D,r,e,grdrive,grmode,Errorcode,i:integer; begin
otkrit gravik y;
grdrive:=detect; InitGraph(grDrive,GrMode,'d:\bp70\bgi'); Errorcode:=GraphResult;
if errorcode <>0 then Halt(1);
Setfillstyle (CloseDotFill,white);
pieslice (getmaxx div 2+5, getmaxy div 2+5, 270,360,100);
Setfillstyle (SolidFill,red);
pieslice (getmaxx div 2, getmaxy div 2,0,270,100);
Outtextxy(410,310, ' 55%');
Outtextxy(270,220, '75%');
Outtextxy(325,125, '25%');
Outtextxy(410,155, '35%');
Outtextxy(270,125, '15%');
Setfillstyle (interleaveFill,14);
pieslice (getmaxx div 2, getmaxy div 2,120,100,100);
Setfillstyle (interleaveFill,1);
pieslice (getmaxx div 2, getmaxy div 2,0,100,100);
Setfillstyle (interleaveFill,2);
pieslice (getmaxx div 2, getmaxy div 2,60,100,100);
Readln;
Closegraph; end.
13K
26 мая 2006 года
zxspectrum128k
9 / / 24.01.2006
Вот тебе с машинкой задача ;-)

Program Sight;
Uses Crt, Graph;
Const Step = 5;
Instr = 'Dlia peremeshenia najmi strelki, dlia vixoda - ESC';
Var
GrDriver, GrMode : Integer;
X, Y : Integer;
XStr, YStr : String;
Ch : Char;

Procedure MakeSight(X, Y : Integer);
Begin SetColor(White);
Circle(X, Y, 30);
SetColor(LightGreen);
Line(X-150, Y-30, X, Y-30);
Line(X-120, Y, X-30, Y);
SetColor(LightRed);
Circle(X-150, Y, 30);
SetColor(LightBlue);
Line(X-120, Y-30, X-100, Y-60);
Line(X-100, Y-60, X-50, Y-60);
Line(X-50, Y-60, X-30, Y-30);

Str(X, XStr); Str(Y, YStr);
SetColor(Yellow);
OutTextXY(X-190, Y-35, 'x=' + XStr);
OutTextXY(X-190, Y-20, 'y=' + YStr)
End;

BEGIN
GrDriver := Detect;
InitGraph(GrDriver, GrMode, 'C:\temp\bp\bin');
SetColor(LightGray);
X := GetMaxX div 2; Y := GetMaxY div 2;
Rectangle(50, 425, 600, 460);
OutTextXY(120, 440, Instr);
MakeSight(X, Y);
While TRUE do begin
Ch := ReadKey;
Case Ch of
#27: begin CloseGraph; Halt(1) end;
#75: X := X-Step;
#77: X := X+Step;
#72: Y := Y-Step;
#80: Y := Y+Step
end;
ClearViewPort;
SetColor(LightGray);
Rectangle(50, 425, 600, 460);
OutTextXY(120, 440, Instr);
MakeSight(X, Y) end;
CloseGraph;
END.

p.s. Если не запускается, то научись пользоватся Pascal-ем!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог