Помощь - Поиск - Пользователи - Календарь
Полная версия: графика, движение тела под углом к горизонту
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
aygul
Помогите пожалуйста! надо составить програмки!!!тема-полет тела брошенного к горизонту!!!!
1)составить программку, на которойи было бы: в левом углу торчит пушка, нарисована горизонтальная линия(на этой линии пушка как раз и стоит). Из ствола пушки летит точка(или снаряд,или снежинка или что-нибудь подобное!)и падает на линию пролетев какое-то определённое расстояние, и на экране должна быть видна траетория движения снаряда!!!
2)составить программку, на которойи было бы: в левом углу торчит пушка, нарисована горизонтальная линия(на этой линии пушка как раз и стоит). Из ствола пушки летит точка(или снаряд,или снежинка или что-нибудь подобное!) и должна попасть в цель(цель в виде или прямоугольника или дома или машины или чего-либо другого) которая находится на некотором расстоянии от пушки!!!надо подобрать для этого правильные значения!!!При попадании снаряда в целя, цель должна всячески сигнализировать об этом(мигать, должны быть волны какие-нибудь около цели, и чтобы компьютер пищал!!!)
3)Создать игру-дуэль двух пушек(на двоих) условия те же что и в пердыдущих прогах!!!
4)lпри каком угле самая боьшая дальность полета?почему???
При составлении программ надо использовать:
g=9.8
v(x)=v(nacalnaya)*cosb { косинус угла b=cosb}
v(y)=v(nacalnaya)*sinb {синус угла b=sinb}
a(t)=-g
v(t)=-g*t+constanta
при t=(0) следует что v(0)=v(nacalnaya)
Constanta=v(nacalnaya)
v(t)=v(nacalnaya)-g*t
s(t)=v(nacalnaya)*t-(g*t*t)/2 + constanta
s(0)=0 значит constanta=s(0)=0
s(t)=v(nacalnaya)*t-(g*t*t)/2
при t=0 следуетv(0)=v(nacalnaya)
Составим систему уравнений:
y=v(nacalnaya)*sinb*t-(g*t*t)/2
x=v(nacalnaya)*cosb*t

В некоторой точке B (посередине траетории0, где тело находится на самой большой высоте и после этого начинает падать) V(y)=0, вычислим t, значит t=(2*v(nacalnaya))/g.
Подставим это значение t в формулу x=v(nacalnaya)*cosb*t , значитx=(2*v(nacalnaya)*v(nacalnaya)*cosb)/g
также надо использовать в проге: X:=round(x) и while t<=(2*v(nacalnaya))/g do
нЕ забудьте градусы углов перевести в радианы!!!

Помогите пожалуйста!!! tank.gif
volvo
aygul, а сдать за тебя не надо? А диплом получить? А то ты только скажи...

Тебе в поиске конечно копаться не пристало, не царское это дело, да и зачем? Выложить вопросы, прийти через день-другой, уже все готово... mad.gif Ан НЕТ!!! Вот эту программу я как раз сам делал (первую в твоем списке), так что - ошибочка в твоих планах вышла!

Иди в "Поиск" (ссылка у меня в подписи), и ищи... По первой программе можешь даже не задавать вопросы - это тебе за то, что нарушаешь Правила Форума... Будут вопросы по остальным пунктам - только при наличии кода...

ЗА ТЕБЯ никто ничего делать не будет.
aygul
да я никогда паскаль не изучала!!!я учусь в 10 классе!у нас вообще информатики не было в старой школе! ypriamii.gifа вот переехала и в новой школе паскаль!!!а еще сразу с графики!!!!:!help:
Я сама его уже начала изучать(всякие mod div)а это я пока не понимаю!!!Помогите пожалуйста!!!:!help:
wub.gif wub.gif mega_chok.gif mega_chok.gif mega_chok.gif mega_chok.gif mega_chok.gif
aygul
Цитата(volvo @ 15.02.2006 16:27) *

aygul, а сдать за тебя не надо? А диплом получить? А то ты только скажи...

Тебе в поиске конечно копаться не пристало, не царское это дело, да и зачем? Выложить вопросы, прийти через день-другой, уже все готово... mad.gif Ан НЕТ!!! Вот эту программу я как раз сам делал (первую в твоем списке), так что - ошибочка в твоих планах вышла!

Иди в "Поиск" (ссылка у меня в подписи), и ищи... По первой программе можешь даже не задавать вопросы - это тебе за то, что нарушаешь Правила Форума... Будут вопросы по остальным пунктам - только при наличии кода...

ЗА ТЕБЯ никто ничего делать не будет.


Вот проверьте програмку!!!я вроде что-то сделала! но траетория получилась как плевок против ветра!!!
исправьте пожалуйста ошибки!!!
cool.gif give_rose.gif
Код
program Yadro;
uses CRT, Graph;
const a=32; b=40;
var
X, Y: real;
Z, C,dtype,rnum:integer;
XCoord, YCoord: Word;

ug: integer;
t, v0, v, g: real;

begin
dtype:=detect; initgraph(dtype,rnum,'e:\tp6\bgi'); {или c:\bp7\bgibin }

SetColor(Red);
Line(a, b, a, GetMaxY-b);
Line(a, GetMaxY-b, GetMaxX-a, GetMaxY-b);
SetColor(3);

X:=0.0;
Y:=0.00001;
XCoord:=Round(X*a+a);
YCoord:=Round(GetMaxY-Y*b-b);
MoveTo(XCoord, YCoord);

t:=0.1; v0:=10; v:=v0; g:=9.8; ug:=65;

while (y>0) and (XCoord<GetMaxX) do
begin

X:=v*cos(ug*pi/180)*t;   { ????????? }
Y:=v*Sin(ug*pi/180)*t-g*sqr(t)/2;

v:=-g*t+v0;
t:=t+0.1;

XCoord:=Round(X*a+a);
YCoord:=Round(GetMaxY-Y*b-b);
LineTo(XCoord, YCoord);
Circle(XCoord, YCoord,2);
MoveTo(XCoord, YCoord);

Delay(50000);
end;

repeat until KeyPressed;
end.
GoodWind
ты думаешь от того, что ты запостила свою программу в 2-ух темах, желание искать в ней ошибки резко возрастет ?
ты ошибаешься mad.gif я не буду смотреть из принципа.
Altair
информативность заголовка.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.