Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2013, 18:17   #1
Skvora93
Новичок
Джуниор
 
Регистрация: 25.04.2013
Сообщений: 2
По умолчанию В пакете Grapher необходимо построить по результатам проги на паскале!

В пакете Grapher необходимо построить два графика по результатам
выполнения задания № 1 (кинематика точки): зависимость скорости от времени
и зависимость ускорения от времени. Посмотрите, кто может помочь? заранее спасибо!!!
Код:
program ex1;
uses graphabc;
var x5,y5,ymax,xmax,n:integer;
x0,y0,xm,ym,dt,t,t1:real;
const r=30;rb=120;w=-1;h=45;k=100; 
Procedure arrow(x0,y0: integer; ux, uy: real; cv1:color); - стрелки
Var x1,y1,xr,yr,xl,yl: integer;
v,co,si,b: real;
begin
pen.Color:=clblue;
x1:=round(ux)+x0;
y1:=round(uy)+y0;
v:=sqrt(ux*ux+uy*uy);
if v > 0.000001 then
begin
co:=(x1-x0)/v;
si:=(y1-y0)/v;
b:=v*0.35;
xr:=x1-round(b*(co+0.75*si));
yr:=y1-round(b*(si-0.75*co));
xl:=x1-round(b*(co-0.75*si));
yl:=y1-round(b*(si+0.75*co));
line(x0,y0,x1,y1);
line(x1,y1,xr,yr);
line(x1,y1,xl,yl);
end;
end;
function u(t:real):real;
begin
u:=-(r+rb)*w*sin(t*w)-5*h*w*sin(5*t*w);
end;
function v(t:real):real;
begin
v:=(r+rb)*w*cos(w*t)+w*5*h*cos(5*t*w);
end;

procedure unmoved; 
begin
pen.color:=clred;
drawcircle(round(x5),round(y5),round(rb));
textout(445,y5-8,'>');
textout(x5-3,49,'^');
line(x5-250,y5,x5+240,y5);
line(x5,55,x5,y5+200); 
end;
procedure moved(t: real; cvet: color); 
begin

x0 := (r+rb) * cos(w * t);
y0 := (r+rb) * sin(w * t);
xm := (r+rb) * cos(w * t) + h * cos(5 * w * t);
ym := (r+rb) * sin(w * t) + h * sin(5 * w * t);
pen.Color := cvet;
circle(round(x5+x0),round(y5+y0),round(r));
line(x5, y5, x5 + round(x0), y5 + round(y0));
line(x5 + round(x0), y5 + round(y0), x5 + round(xm), y5 + round(ym));
end;
begin
ymax := windowwidth;
xmax := windowheight;
x5:=windowheight div 2;
y5:=windowheight div 2;
t:=0;
dt := (2 * pi) / (abs(w) * k);
unmoved;
moved(t,clred);
{moveto(round(x5 + xm), round(y5 + ym));} 
while t < 2 * pi / abs(w) -dt do
begin
setpenwidth(2); - ширина пера
moved(t, clwhite); 
t := t + dt;
setpenwidth(1);
unmoved;
moved(t, clred);
xm := (r+rb) + h;
ym := 0.0; 
moveto(round(x5 + xm), round(y5 + ym)); 
n:=0;
t1:=0;
while t1<=t do
begin
t1:=t1+dt;
xm := (r+rb) * cos(w * t1) + h * cos(5 * w * t1);
ym := (r+rb) * sin(w * t1) + h * sin(5 * w * t1);
lineto(round(x5 + xm), round(y5 + ym), clgreen);
if n mod 5=0 then
arrow(round(xm)+x5,round(ym)+y5,u(t1)*0.2,v(t1)*0.2,clblue);
inc(n);
end;
sleep(100);

end; 
end.

Последний раз редактировалось Stilet; 25.04.2013 в 21:12.
Skvora93 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо построить UML-диаграммы MissSMITT Помощь студентам 0 14.12.2012 12:57
проги на паскале tomwell Паскаль, Turbo Pascal, PascalABC.NET 5 25.04.2010 15:08
Пишу проги а паскале)) Викдон Фриланс 3 15.11.2008 00:20
Помогите проги на паскале general453533 Паскаль, Turbo Pascal, PascalABC.NET 2 25.12.2007 00:25