Autor Beitrag
Horadim
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 10.10.20 21:40 
Nabend

Ich hab die Aufgabe den Satz des Pythagoras in Pascal zu programmieren.

Könnte mir jemand einen Tipp geben wie ich das am besten mache.

Finde keinen Einstieg.

Gegeben a, b, c Integer.

Vielen Dank.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: So 11.10.20 07:47 
Hallo und :welcome:

ich nehme mal an, du sollst aus 2 Eingaben (z.B. a und b) die dritte Seite (hier die Hypotenuse c) berechnen.
Lies also diese 2 Werte ein, berechne den dritten Wert und gib ihn dann aus.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8535
Erhaltene Danke: 473

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 11.10.20 10:29 
Hallo und :welcome: auch von mir!

Das sieht mir nach einem der aller-aller-ersten Programmieraufgaben aus. An welcher Stelle kommst du denn nicht weiter? Allgemeine Programmlogik, oder hängt es einfach an der Berechnung der Wurzel? Dafür gibt es den Befehl sqrt.

_________________
We are, we were and will not be.
Horadim Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: So 11.10.20 11:06 
Guten Morgen.

Erstmal danke für die Rückmeldung.
Also das ich sqr für die Berechnung einsetze weiß ich. Denke bei mir hängt es an der Programmier Logik. Vielleicht denke ich auch zu viel.
Ich wollte erstmal bestimmen das a und b nicht größer sein darf als c. Dann wollte ich die einzelnen Werte berechnen. Und natürlich ausgeben der Ergebnisse.
Aber irgendwie mag das Pascal nicht.

Mfg


Moderiert von user profile iconTh69: Beitragsformatierung überarbeitet.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: So 11.10.20 12:05 
Dann zeige mal deinen Code und beschreibe, was nicht funktioniert (Fehlermeldung o.ä.).
Horadim Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: So 11.10.20 13:49 
Ich hoffe das geht so .
Einloggen, um Attachments anzusehen!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8535
Erhaltene Danke: 473

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 11.10.20 14:11 
Ok, das sieht so aus, als wolltest du auch im Programm entscheiden, welche Seite fehlt, und diese dann berechnen wollen. Die fehlende Seite soll anscheinend durch Eingabe von "0" (oder kleiner) eingegeben werden. Kann man machen, wenn man das dem User erklärt. ;-)

Da gibt es dann ein Problem bei dieser Abfrage:

ausblenden Delphi-Quelltext
1:
2:
if (a>c) or (b>c) then
  writeln ('falscheEingabe');


Denn wenn c berechnet werden soll (und deswegen als 0 angegeben wird), dann kommt immer eine "falsche Eingabe". An der Stelle müsstest du also als zusätzliche Bedingung einbauen, dass (c >= 0) ist, denn nur dann kann es zu Problemen führen, wenn a oder b noch größer sind. :idea:

Als nächstes muss in Pascal jeder Befehl mit einem Semikolon abgeschlossen werden - es sei denn, es folgt direkt ein else. D.h. bei dieser Zeile (z.B.)
ausblenden Delphi-Quelltext
1:
c:= sqrt(sqr(a)+sqr(b))					

muss entweder ein ; ans Ende, oder ein else. Das geht hier beides - überleg mal, was das dann jeweils für den Programmablauf bedeutet. ;-)

Und als letztes: Zähl mal die begin und end. Das passt aktuell nicht.

_________________
We are, we were and will not be.
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 762
Erhaltene Danke: 127



BeitragVerfasst: So 11.10.20 15:14 
Und noch 2 Hinweise:
  • In der ersten Zeile muss es vermutlich output heißen.
  • Da Du die Wurzel ziehst, darf der Variablentyp nicht Integer sein(Real, Single oder Double vermute ich).

ub60
Horadim Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: So 11.10.20 15:24 
Vielen Dank für die Tips .

Ihr habt mir wirklich geholfen.

Danke
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 12.10.20 08:38 
Demnächst bitte den Code direkt hier posten (in Code/Delphi-Tags) anstatt als Anhang (den dann jeder Leser erst herunterladen muß).