Turbo Pascal Programmierung

Diskutiere Turbo Pascal Programmierung im Developer Network Forum im Bereich Hardware & Software Forum; Hallo Zusammen! Suche jemanden der mir bei meiner Programmierung behilflich sein kann.In der Schule sollen wir folgendes Programmieren ein...
  • Turbo Pascal Programmierung Beitrag #1
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
Hallo Zusammen! Suche jemanden der mir bei meiner Programmierung behilflich sein kann.In der Schule sollen wir folgendes Programmieren ein Programm mit dem man "Geostationäre Satelliten" und ihre Position berechen kann..d.h ich gebe ein Breiten und längegrad eines Ortes ein und das Programm gibt mir dazu die Elevation bzw Azimuth daten zu den gegebenen Satelliten an zb. Astra/ Hotbird.....kann mir jemand weiterhelfen.
 
  • Turbo Pascal Programmierung Beitrag #2
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
wo hakts denn?
hast du schon die formeln, die du zum berechnen benötigst?
 
  • Turbo Pascal Programmierung Beitrag #3
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
Ja,die Formeln habe ich im Internet schon gefunden....komme nur nicht im Gang
 
  • Turbo Pascal Programmierung Beitrag #4
N

nic_power

Senior Moderator
Dabei seit
27.12.2000
Beiträge
7.838
Reaktionspunkte
2
Hallo,

poste doch mal Deine Ansätze/Quellcode hier. Dann wird dir sicherlich geholfen.

Nic
 
  • Turbo Pascal Programmierung Beitrag #5
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
das ist ja das Problem..ich komme nicht richtig in Gang ...die Formel habe ich
 
  • Turbo Pascal Programmierung Beitrag #6
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
poste mal die formeln.
hast du die formeln schon umgestellt, das du elevation und azimuth berechnen kannst?
 
  • Turbo Pascal Programmierung Beitrag #7
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
Bin heute Abend nicht mehr zuhause...und komme somit nicht an die Daten..werde morgen Früh posten...cu
 
  • Turbo Pascal Programmierung Beitrag #8
Obby

Obby

Bekanntes Mitglied
Dabei seit
22.12.2000
Beiträge
2.386
Reaktionspunkte
5
Ort
beautiful Hövelhof
Wie errechnet man aus Längen- und Breitengrad des eigenen Standortes und den Satellitendaten die Werte für Azimuth und Elevation?

Normalerweise wird die Position von Astra mit 19,2 Grad Ost bezeichnet. Der Einstellwinkel der Antenne ist aber, abhängig von der Lage des Empfangsstandortes, ein anderer: Die geostationären Satelliten befinden sich über dem Äquator, die Empfänger befinden sich auf einer gekrümmten Oberfläche. Bewegt man sich nun auf dieser gekrümmten Oberfläche und visiert immer den Satelliten an, so müssen die Winkel für Azimuth (horizontale Einstellung Ost/West) und Elevation (vertikale Einstellung nach oben) angepaßt werden über folgende Formeln:

S = Längengrad der Satellitenposition (östliche Werte sind negativ, z.B. Astra auf 19,2 Grad Ost = -19,2)
L = Längengrad des Antennenstandortes (östliche Werte sind negativ, z.B. Berlin = -11,35)
B = Breitengrad des Antennenstandortes (z.B. Berlin = +49,57)
X = Hilfsvariable = arccos (cos (S-L) * cos B)
Elevation = arctan ((cos X - 0,1513) / sin X)
Azimuth = 180 + arctan (tan (S-L) / sin B)

Hier die Formeln zur Berechnung.

Somit ist es doch schon gelöst. Du liest einfach B,S und L ein, berechnest der Übersichtlichkeit zur Liebe X und berechnest damit E und A.
Afaik gibt es die Funktion für acrtan in Pascal. Musst sie also nicht mehr proggen.
Bei weiteren Fragen, melde dich einfach.
 
  • Turbo Pascal Programmierung Beitrag #9
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
Guten Morgen zusammen! Habe mich auf dieser Seite schlau gelesen
http://www.ottmarlabonde.de/L1/Schuesselpeilung.htm hier sind auch die Formeln.

Habe auf einer anderen Seite diesen Quellcode gefunden..leider hapert es mit der Ausführung...


$E+,N+} {alle Rechnungen im IEEE-Format(1+15+64 Bit) }
program tvsat; {TurboPascal 5.5, 6 oder 7}
const D : extended = 12756.27; {Erddurchmesser am Äquator}
qR : extended = 40680606.1; {Erdradius am Äquator(=6378.135 km)}
{quadriert}
sath : extended = 42164.18; {Höhe der geostationären Umlaufbahn}
{über Erdmittelpunkt in km}
qsath : extended = 1777818075.0724; {Höhe quadriert}
bm : extended = 0.0174532925199433; {pi/180 = Bogenmaß-Koeffizient}
var satpos, {Satpositionswinkel in Ostrichtung}
c, {Entfernung des Sat vom QTH in km}
dl, {Längendifferenz von Sat und QTH}
qthl, {QTH-Länge in Grad Ost}
qthb, {QTH-Breite in Grad Nord}
elevation, {...}
azimut : extended; {...}
key : char; {Eingabedummy}
function arccos(wert:extended):extended;
{berechnet den Arcuscosinus im Bogenmaß}
begin
arccos:=pi/2-arctan(wert/(sqrt(1-wert*wert)+1e-18))
end;
begin
{Eingabe}
writeln('Sat Anpeilung);
writeln;
write('Standort des TV-Satelliten in Grad Ost: ');
readln(satpos);
writeln;
write('eigene Länge in Grad Ost: ');
readln(qthl);
writeln;
write('eigene Breite in Grad Nord: ');
readln(qthb);
qthb:=qthb*bm;
{Längendifferenz von Satellit und QTH}
dl:=(qthl-satpos)*bm;
{Entfernung QTH-Satellit in km über Seitencosinussatz}
c:=sqrt(qR+qsath-D*sath*cos(dl)*cos(qthb));
{Elevationswinkel des Satelliten am QTH vom Erdmittelpunkt in Grad}
{über Seitencosinussatz}
elevation:=arccos((qR+c*c-qsath)/(D*c))/bm-90;
{Azimutwinkel des Satelliten am QTH zur Südrichtung in Grad}
{über rechtwinkliges sphärisches Dreieck}
azimut:=arctan(sin(dl)/(cos(dl)*sin(qthb)))/bm;
{Nördl. und südl. Hemisphäre unterscheiden, da ARCTAN nicht eindeutig}
if (qthb<0) then azimut:=360*frac(azimut/360+1) else azimut:=azimut+180;
{Ausgabe}
writeln;
writeln('Azimut = ',azimut:3:3,' Grad');
writeln;
writeln('Elevation = ',elevation:3:3,' Grad');
writeln
end.
 
  • Turbo Pascal Programmierung Beitrag #10
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
kann mir keiner mehr weiterhelfen?
 
  • Turbo Pascal Programmierung Beitrag #11
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
was ist jetzt genau das problem?
füge am anfang des codes ein { hinzu und ein ' fehlt auch irgendwo.
 
  • Turbo Pascal Programmierung Beitrag #12
Z

Zombie79

Bekanntes Mitglied
Dabei seit
05.10.2001
Beiträge
6.132
Reaktionspunkte
2
Waaahhh, das ist ja ein grauenhafter Spaghetticode... :no:

Nimm lieber die Formeln, die Obby dir genannt hat und schreibe dein eigenes Programm darum herum. Dein Lehrer wird diese Seite im Internet auch finden und wenn du mit diesem Code bei ihm ankommst, wird ihn das sicher nicht freuen. ;)
 
  • Turbo Pascal Programmierung Beitrag #13
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
was ist daran so Grauenhaft? Weiß halt nicht wier ich mit den Formeln beginnen soll
 
  • Turbo Pascal Programmierung Beitrag #14
Obby

Obby

Bekanntes Mitglied
Dabei seit
22.12.2000
Beiträge
2.386
Reaktionspunkte
5
Ort
beautiful Hövelhof
Was verstehst du an den Formeln denn nicht?
Alle Funktionen, die du zur Berechnung brauchst, sind bei TP schon enthalten.
Wenn wir dir hier jetzt nen fertigen Code auf den Tisch knallen, ist der Lerneffekt verschwunden. Da ist es besser, wenn du mal Ansätze postest und wir dir dabei helfen.

Gruß
 
  • Turbo Pascal Programmierung Beitrag #15
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
Komme in der letzten Zeile nicht weiter.... wo die Entscheidung zwischen ja und nein besteht....kann mir da jemand weiterhelfen?



{$E+,N+}

program Satellitenfinder;
uses crt;
const D : extended = 12756.27; {Erddurchmesser am equator}
qR : extended = 40680606.1; {Erdradius am equator(=6378.135 km)}
{quadriert}
sath : extended = 42164.18; {Hoehe der geostationaeren Umlaufbahn}
{ueber Erdmittelpunkt in km}
qsath : extended = 1777818075.0724; {Hoehe quadriert}
bm : extended = 0.0174532925199433; {pi/180 = Bogenmaá-Koeffizient}
var satpos, {Satpositionswinkel in Ostrichtung}
c, {Entfernung des Sat vom QTH in km}
dl, {Laengendifferenz von Sat und QTH}
qthl, {QTH-Laenge in Grad Ost}
qthb, {QTH-Breite in Grad Nord}
elevation, {...}
azimut : extended; {...}
key : char; {Eingabedummy}
function arccos(wert:extended):extended;
{berechnet den Arcuscosinus im Bogenmaá}
begin
arccos:=pi/2-arctan(wert/(sqrt(1-wert*wert)+1e-18))
end;
begin
{Eingabe}
clrscr;
textbackground (1);
textcolor (15);
clrscr;
gotoxy(12,2);
writeln('**********************************************************');
gotoxy(12,3);
writeln('* Azimuth und Elevationsrechner f￾r den Empfang von *');
gotoxy(12,4);
writeln('* Geostationaeren TV-Satelliten mit einem Parabolspiegel *');
gotoxy(12,5);
writeln('**********************************************************');
writeln;
gotoxy(1,8);
writeln(' Bitte geben Sie den Standort ihres bevorzugten');
writeln(' Satelliten in Grad Ost ein:');
gotoxy(2,11);
readln(satpos);
writeln;
writeln(' Bitte geben Sie den Laengengrad ihres Wohnortes');
writeln(' in Grad Ost ein:');
gotoxy(2,16);
readln(qthl);
writeln;
writeln(' Bitte geben Sie den Breitengrad ihres Wohnortes');
writeln(' in Grad Ost ein:');
gotoxy(2,21);
readln(qthb);
qthb:=qthb*bm;
{Laengendifferenz von Satellit und QTH}
dl:=(qthl-satpos)*bm;
{Entfernung QTH-Satellit in km ueber Seitencosinussatz}
c:=sqrt(qR+qsath-D*sath*cos(dl)*cos(qthb));
{Elevationswinkel des Satelliten am QTH vom Erdmittelpunkt in Grad}
{ueber Seitencosinussatz}
elevation:=arccos((qR+c*c-qsath)/(D*c))/bm-90;
{Azimutwinkel des Satelliten am QTH zur Suedrichtung in Grad}
{ueber rechtwinkliges sphoerisches Dreieck}
azimut:=arctan(sin(dl)/(cos(dl)*sin(qthb)))/bm;
{Nördl. und südl. Hemisphaere unterscheiden, da ARCTAN nicht eindeutig}
if (qthb<0) then azimut:=360*frac(azimut/360+1) else azimut:=azimut+180;
{Ausgabe}
writeln;
writeln(' Azimutwinkel Ihres Parabolspiegels: = ',azimut:3:3,' Grad');
writeln;
writeln(' Elevationswinkel ihres Parabolspiegels: = ',elevation:3:3,' Grad');
writeln;
readln;
writeln(' Erneut einen Satelliten berechnen? Ja(j)/Nein(n) ');
repeat until keypressed;
end.
 
  • Turbo Pascal Programmierung Beitrag #16
Obby

Obby

Bekanntes Mitglied
Dabei seit
22.12.2000
Beiträge
2.386
Reaktionspunkte
5
Ort
beautiful Hövelhof
Hast du das selbst geschrieben?
Wohl kaum, oder?
Was soll denn wiederholt werden, bis eine Taste gedrückt wird?
--> zw. repeat und until müssen die zu wiederholenden Anweisungen stehen.
Ausserdem würde die Schleife (Wenn Anfang und Ende gescheit gesetzt wären) immer weiterlaufen, bis eine Taste gedrückt würde. (Auch nicht Sinn der Sache, oder?)
 
  • Turbo Pascal Programmierung Beitrag #17
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
Das habe ich geschrieben,bzw erweitert...es soll eine Frage stellung kommen ,wobei nach J(ja) und N(n) gefragt wird...bei ja startet das programm wieder von neuem..bei nein wird das programm beendet.habe ich aber jetzt schon eingefügt!und es scheint zu funktionieren
 
  • Turbo Pascal Programmierung Beitrag #18
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
Ok,dass Problem mit der Ja/Nein Frage habe ich auch bewältigt....nun möchte ich diesem Programm eine Dokumentation als Anfangsbild hinzufügen und von dort über eine Schaltfläche beispiel " Start" zum Programm zu kommen...wie gehe ich da denn vor?
 
  • Turbo Pascal Programmierung Beitrag #19
Bond246

Bond246

Bekanntes Mitglied
Dabei seit
03.06.2006
Beiträge
2.544
Reaktionspunkte
0
Ort
127.0.0.1
Boah, der Code is grauenhaft zu lesen.
Eigne dir bloooß nen ordentlichen Schreibstil an...
Z.B. dass die Kommentare in {} mal weiter nach rechts rücken, damit man den Code in Ruhe lesen kann... Außerdem einrücken usw.
 
  • Turbo Pascal Programmierung Beitrag #20
M

MILKA

Bekanntes Mitglied
Dabei seit
10.11.2001
Beiträge
316
Reaktionspunkte
0
wenn du mir jetzt noch zu dem Thema ein passende Antwort geben kannst,wäre das nicht schlecht
 
Thema:

Turbo Pascal Programmierung

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben