Programoval jsem program, kterému se zadala vzdálenost nějakého objektu od slunce a program spočítal jeho Parsec.
No a nastal problém, nefunguje to. Respektive program vrací již na první pohled nesmyslné výsledky.
program parsec;
uses crt;
const zemeslunce:real=150000000;
var slong : integer;
{//////////functions////////////////////}
function clong (a,b : real) : real; {pythagorova veta}
var clong2 : real;
begin
clong2:=(a*a)+(a*b);
clong:=(sqrt(clong2)); {vrati delku prepony}
end;
function ArcSin(x:real):real; {vrati arcsin cisla}
begin
ArcSin:=ArcTan(x/sqrt(1-sqr(x)));
end;
function cparsec (x:real) : real;
var return : real;
a,b,c : real;
begin
{plenetarni trojuhelnik}
a:=zemeslunce; {a strana zeme-slunce 150 000 000km}
b:=x; {b strana slunce-zadany objekt}
c:=clong (zemeslunce,x); {c strana prepona planetarniho trojuhelniku zeme-objekt}
return:=arcsin (a/c); {spocita uhel alfa}
return:=return/60; {prepocita stupne na minuty}
cparsec:=return;
end;
{//////////body//////////////////////}
begin
Writeln ('Enter long from sun to object in km');
readln (slong);
writeln (cparsec (slong));
readkey;
end.
Fórum › Pascal
Parsec
Tady vidím chybu:
clong2:=(a*a)+(a*b);
má být:
clong2:=(a*a)+(b*b);
Převod na parseky jsem nekontroloval, protože si nepamatuju definici.
Problém je zadávání vzdálenosti od Slunce v kilometrech do typu Integer. Jestli to počítáš od jeho středu, tak se s tímhle rozsahem nedostaneš ani na povrch :-). Chce to něco většího, minimálně Longint, ale radši Extended.
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Moje stránka.
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 1 host
Podobná vlákna
Opět parsec — založil Yety
Moderátoři diskuze