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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2012, 17:14   #1
Анастасия12
Пользователь
 
Регистрация: 03.10.2011
Сообщений: 93
По умолчанию Задача на паскаль по моделированию.

Помогите пожалуйста написать программу по моделированию движения тела брошенного под углом горизонта.

Очень нужна ваша помощь)
Анастасия12 вне форума Ответить с цитированием
Старый 13.09.2012, 18:03   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Значит так : 1) Надо найти формулы, по ним расщитать(может быть там 'ч') движение.
2) Нарисовать движение.

Это я правильно понимаю?
Код:
program stone;
uses graph;
const BoundX=70;
BoundY=70;
g=9.8; 
rad=3.1415/180; 
var KX, KY,LX,LY:integer;
HX, HY,DX,DY,HT:real; 
XM,YM:integer; 
x,y,x0,y0:integer; 
i,gr,gm:integer;
v0,alfa:real; 
xi,yi:real;
Bmax,Hmax,Tmax:real;
t:real;
Xmax,Ymax:real;
R:real;
S:string[8]; 
PROCEDURE FXY(T,V0,ALF:REAL; VAR X,Y:REAL);
BEGIN
X:=V0*COS(ALF*RAD)*T;
Y:=V0*SIN(ALF*RAD)*T-G*T*T/2;
END;
BEGIN
WRITE('Введите начальную скоpость ');
readln(v0);
WRITE('Введите угол бpоска ');
readln(alfa);
gr:=detect;
initgraph(gr,gm, ' ');
 
 
XM:=GetMaxX; YM:=GetMaxY;
KX:=XM+1-2*BoundX; KY:=YM+1-2*BoundY;
 
 
R:=sin(alfa*rad);
Bmax:=v0*v0*sin(2*alfa*rad)/g;
Xmax:=v0*v0/g;
Hmax:=v0*v0*r*r/(2*g);
Ymax:=v0*v0/(2*g);
Tmax:=2*v0*r/g;
hx:=Xmax/(kx-1);
hy:=Ymax/(ky-1);
lx:= kx div 10; ly:=ky div 10;
dx:=Xmax/10; dy:=Ymax/10;
ht:=Tmax/100; 
 
 
SetBkColor(Cyan);
SetColor(Blue);
 
 
LINE(BoundX,BoundY,BoundX, YM-BoundY);
x0:=BoundX; y0:=BoundY;
x:=XM-BoundX; y:=y0;
LINE(BoundX,YM-BoundY,XM-BoundX, YM-BoundY);
 
 
x:=0; y:=ym-boundY;
for i:=0 to 10 do
begin
STR ((dy*i):8:2,s);
OutTextXY(x,y,s);
y:=y-ly;
end;
x:=BoundX div 2; y:=ym-BoundY div 2;
for i:=0 to 10 do
begin
STR ((dx*i):8:2,s);
OutTextXY(x,y,s);
x:=x+lx;
end;
STR(Bmax:8:2,s);
OutTextXY(BoundX+20,5, 'Дальность полета: '+s);
STR(Hmax:8:2,s);
OutTextXY(BoundX+20,15, 'Высота подьема: '+s);
 
 
SetColor(LightRed);
 
 
t:=0;
x0:=BoundX;
y0:=ym-boundY;
while (t<Tmax) do
begin
t:=t+ht;
FXY(t,v0,alfa,xi,yi);
x:=BoundX+round(xi/hx);
y:=ym-BoundY-round(yi/hy);
line(x0,y0,x,y);
x0:=x;
y0:=y;
end;
readln;
closegraph;
end.
Поиск выдал данный код. Проверьте, подделайте под себя и acceptted.

Так много букавоф и такой стиль(а точнее его полное отсутствие), фи...

Последний раз редактировалось Poma][a; 13.09.2012 в 18:18.
Poma][a вне форума Ответить с цитированием
Старый 25.09.2012, 22:44   #3
Анастасия12
Пользователь
 
Регистрация: 03.10.2011
Сообщений: 93
По умолчанию

а можно как нибудь по меньше объемом сделать этот код?м?
Анастасия12 вне форума Ответить с цитированием
Старый 26.09.2012, 05:11   #4
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Анастасия12 Посмотреть сообщение
а можно как нибудь по меньше объемом сделать этот код?м?
Во дает студота.. ни спасиба, ни насеру - а нам бы получше!
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите по моделированию Пахан Фриланс 3 28.03.2016 13:00
Задача по мат моделированию (mathematica) Kotiara Помощь студентам 0 07.11.2011 21:32
контрольная по имитационному моделированию darkazat Фриланс 1 27.04.2010 22:20
лабораторные по моделированию систем jay90 Фриланс 3 27.01.2010 20:37
Задача по компьютерному моделированию (описание физических процессав), но ворос не в физике... Chudo4258 Помощь студентам 2 14.03.2009 07:05