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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.11.2006, 16:29   #1
Борзов
Пользователь
 
Регистрация: 26.11.2006
Сообщений: 10
По умолчанию помогите, пожалуйста, - несложно

Помогите навести ракету на цель (несложно - формулы и программа прилагаются, но программа не хочет запускаться).

Program pvo;
const q0=3;
ts0=0.1; l=-0.02; a1=2;
c=0.1; b1=2; k=0.012;
tmax=80; t0=0; dt=4;
XC0=80000; YC0=10000; ZC0=-30000;
VC0=300; VP0=800;
XP0=9296; YP0=1162; ZP0=-3486;
ap=8;
var
t, t1, X : integer;
F: Text;
DR: real;
XC, YC, ZC, XP, YP, ZP: real;
COS_A, AA, BB, RC1, RC2, RP1, RP2: real;

Function VP(t:integer):real;
begin
VP:=VP0+ap*t;
end;

Function A(t:integer):real;
begin
A:=A1*exp((-1)*k*t);
end;

Function B(t:integer):real;
begin
B:=B1*exp((-1)*C*t);
end;

Function VC(t:integer):real;
begin
VC:=vc0+A(t)*t-B(t)*t*t;
end;

FunctionQC(t:integer):real;
begin
QC:=q0+(Pi/4)*Sin(l*t);
end;

Function TS(t:integer):real;
begin
TS:=ts0+(Pi/6)*Sin(l*t);
end;

begin
X:=0;
t:=t0;
XC:=XC0; YC:=YC0; ZC:=ZC0; XP:=XP0; YP:=YP0; ZP:=ZP0;
Assign(F,'c:\result.txt');
Rewrite(F);
writeln(F, ' t', ' XC ', ' YC ', ' ZC ', ' XP ', ' YP ', ' ZP ', ' DR ');

repeat

RC1:=Sqrt(XC*XC+YC*YC+ZC*ZC); {Target R at t}
RP1:=Sqrt(XP*XP+YP*YP+ZP*ZP); {Missile R at t}
t:=t+dt; {New t}
XC:=XC+VC(t)*Cos(TS(t))*Cos(QC(t))* dt; {new X target}
YC:=YC+VC(t)*Sin(TS(t))*dt; {new Y target}
ZC:=ZC+VC(t)*Cos(TS(t))*Sin(QC(t))* dt; {new Z target}
RC2:=Sqrt(XC*XC+YC*YC+ZC*ZC); {Target R at t+dt}
COS_A:=(RC2*RC2+RC1*RC1-VC(t)*VC(t)*dt*dt)/(2*RC1*RC2);
AA:=RP1*COS_A;
BB:=RP1*RP1-VP(t)*VP(t)*dt*dt;
RP2:=AA+Sqrt(AA*AA-BB);
XP:=XC*(RP2/RC2);
YP:=YC*(RP2/RC2);
ZP:=ZP*(RP2/RC2);
DR:=ABS(RC2-RP2);
if (DR<=VP(t)*dt) then X:=1; {end}
writeln(F, t, ' ',XC:6:1, ' ',YC:6:1, ' ' ,ZC:6:1, ' ',XP:6:1, ' ',YP:6:1, ' ',ZP:6:1, ' ',DR:6:1, ' ');
until (t=tmax) OR (X=1);
writeln(F);
if (X=1) then writeln(F,'Navedenie zakoncheno')
else writeln(F, 'limit vremeni');
Close(F);
end.

Может я где-то ошибся? Если пытаться пошагово выполнять, то самому текстовому редактору не нравится begin перед 'x:='.
Могу выслать исполняемый файл на почту, кому нужен и кто решится помочь - только дайте знать на номер 8-906-791-55-86.
Премного благодарен. С уважением, Алексей.
Борзов вне форума
Старый 26.11.2006, 16:55   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

честно говоря у меня работет.... я это в дэльфи засунул, но все-таки... попробуй все скопировать и в новый проект засунуть - у меня на паскале такие глюки бывали.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума
Старый 26.11.2006, 17:27   #3
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Борзов
Говоришь, у тебя работает? Тогда может и мне Дельфи скачать и туда засунуть? А вообще, как "новый проект" делать?

SuperVisor
Да, у меня работает. Смотри сам: Delphi имеет довольно-таки весомый дистрибутив. Новый проэкт.... Точно не помню - давно за Паскаль не брался.... По-моему на вкладке File>New это в Borland Pascal.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума
Старый 26.11.2006, 17:38   #4
Борзов
Пользователь
 
Регистрация: 26.11.2006
Сообщений: 10
По умолчанию

а не подскажешь, где можно дельфи скачать? я чего-то полчаса искал и не нашел... (или ты и паскаль имел в виду?)
Борзов вне форума
Старый 26.11.2006, 17:45   #5
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
По умолчанию

У меня эта прога и на паскале раборает. Только обрати внимание что в
Код:
Function QC(t:integer):real;
begin
QC:=q0+(Pi/4)*Sin(l*t);
end;
слова Function и QC пишутся раздельно. Новый проект стоздается File -> New
ICQ: 5311314
[SIGPIC][/SIGPIC]
AVer вне форума
Старый 26.11.2006, 17:45   #6
Борзов
Пользователь
 
Регистрация: 26.11.2006
Сообщений: 10
По умолчанию

-------------------------------------------------
Борзов вне форума
Старый 26.11.2006, 17:47   #7
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
По умолчанию

в смысле "прислать проект"? код или готовую программу?
ICQ: 5311314
[SIGPIC][/SIGPIC]
AVer вне форума
Старый 26.11.2006, 17:52   #8
Борзов
Пользователь
 
Регистрация: 26.11.2006
Сообщений: 10
По умолчанию

Можешь мне прислать исполняемый файл *pas и таблицу значений, которые выводит программа? Спасибо.
И где скачать нормальный Паскаль? Где Ты свой взял? Может у меня он паленый?

Последний раз редактировалось Борзов; 26.11.2006 в 17:56.
Борзов вне форума
Старый 26.11.2006, 17:58   #9
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
По умолчанию

мыло свое оставь. а свой я взял в кабинете информатики в школе.
ICQ: 5311314
[SIGPIC][/SIGPIC]
AVer вне форума
Старый 26.11.2006, 18:08   #10
Борзов
Пользователь
 
Регистрация: 26.11.2006
Сообщений: 10
По умолчанию

lehapir@yandex.ru . А Паскаль твой много занимает? Если не больше 7 Мгб, то можешь и его мне скинуть? Спасибо большое!
Борзов вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста Дуся Помощь студентам 2 26.09.2007 11:50