Entwickler-Ecke
Free Pascal - Pythagoras
Horadim - Sa 10.10.20 21:40
Titel: Pythagoras
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 - 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 - 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.
Horadim - 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 Th69: Beitragsformatierung überarbeitet.
Th69 - So 11.10.20 12:05
Dann zeige mal deinen Code und beschreibe, was nicht funktioniert (Fehlermeldung o.ä.).
Horadim - So 11.10.20 13:49
Ich hoffe das geht so .
Gausi - 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:
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.)
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.
ub60 - 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 - So 11.10.20 15:24
Vielen Dank für die Tips .
Ihr habt mir wirklich geholfen.
Danke
Th69 - 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ß).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!