![]() |
Re: Diagonale ausrechnen
Huhu :)
wäre über eure Hilfe dankbar, denn ich soll eine Konsolenanwendung schreiben und zwar sieht meine bisher folgendermaßen aus.
Delphi-Quellcode:
Die Fehlermeldung ist:
program rechteckuad;
{$APPTYPE CONSOLE} uses SysUtils; var a,b,f,u,h:integer; qh,qb,la,lb:real; begin writeln ('Rechteckseiten eingeben'); writeln ('a='); Readln ( a ); writeln ('b='); Readln ( b ); f:=a*b; Writeln ('Flächeninhalt f=', f); readln; writeln ('Seitenlängen eingeben für Umfang'); writeln ('Seite a='); Readln (u); writeln ('Seite b='); Readln (b); h:=2*u+2*b; Writeln ('Umfang U=', h); readln; writeln ('Berechnung der Diagonale, bitte Breite und Höhe eingeben'); writeln ('Höhe'); Readln ( qh ); qh:=2*qh; writeln ('Breite'); Readln ( qb ); qb:=2*qb; writeln ('Ergebnis: '); Readln (la); la:=qh+qb; writeln ('Ergebnis2: '); Readln (la); la:=sqrt end. Zitat:
Nun weiß ich leider nicht wie ich das ändern bzw ausbessern könnte. Mit freundlichen Grüßen Rayzen |
Re: Diagonale ausrechnen
Hai Rayzen,
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS". Zitat:
Delphi-Quellcode:
Der Funktion
la:=sqrt
![]() Zum Beispiel: la := sqrt (5); |
Re: Diagonale ausrechnen
Danke :)
Er zeigt zwar jetzt keinen Fehler mehr an, leider zeigt er mir aber auch kein Ergebnis. Entschuldige, wenn sich das jetzt doof anhört, aber welchen Wert muss ich dort eingeben für sqrt. bzw. was genau. Vielen Dank schonmal für deine Hilfe :cheers: Leider funktioniert es so nicht. qh²:=qh²; qb²:=qb²; la:=Sqrt(qh²+qb²=la) |
Re: Diagonale ausrechnen
Zitat:
Delphi-Quellcode:
writeln ('Berechnung der Diagonale, bitte Breite und Höhe eingeben');
writeln ('Höhe'); Readln ( qh ); // Es ist nicht ZWEIMAL qh sondern qh-MAL qh qh:=qh*qh; writeln ('Breite'); Readln ( qb ); // Ebenso bei der Breite qb:=qb*qb; // nun die Diagonale: la:=sqrt(qb+qh); writeln ('Ergebnis: '); Readln (la); |
Re: Diagonale ausrechnen
Hai Rayzen,
zeige doch mal den Code denn Du jetzt hast. Ausserdem wäre es gut wenn Du Kommentare in der Code Schreibst. Dann muss man nicht erst überlegen was Du überhaupt machen möchtest ;-) P.S.: Ich lese den Thread auch wenn Du mir keine PN sendest ;-) |
Re: Diagonale ausrechnen
ups. Da habe den Fehler ja komplett übersehen:
Delphi-Quellcode:
Du lässt la nicht berechnen sondern vom Benutzer eingeben. Darum zeigt der dir kein Ergebnis an
writeln ('Berechnung der Diagonale, bitte Breite und Höhe eingeben');
writeln ('Höhe'); Readln ( qh ); // Es ist nicht ZWEIMAL qh sondern qh-MAL qh qh:=qh*qh; writeln ('Breite'); Readln ( qb ); // Ebenso bei der Breite qb:=qb*qb; // nun die Diagonale: la:=sqrt(qb+qh); writeln ('Ergebnis: '); // ----> das ist der Fehler: Readln (la); // Es muss heißen: writeln(la); |
Re: Diagonale ausrechnen
Vielen Dank erstmal.
Ich hab das ganze nun mal so gemacht, wie bei dir beschrieben, nur bekomme ich kein ergebnis angezeigt. Ahh, vielen Dank, nun klappt es... Toll, das ihr euch die Zeit genommen habt für mich Anfänger :) Mit freundlichen Grüßen Rayzen |
Re: Frage zu SQRT in einer Konsolenanwendung
mach mal vor dem abschliessenden "end." ein "Readln;" rein (jeweils ohne die ")...
|
Re: Diagonale ausrechnen
Zitat:
krass, so einen heftigen source hab ich noch nie gesehen :mrgreen: naja egal, jeder hat mal klein angefangen. 1. Quadrieren geht nicht so einfach über das zeichen "²", sondern entweder die variable mit sich selber multiplzieren oder die funktion Sqr() benutzen. 2. Selbst wenn es so ginge, würde "qb²:=qb²;" ja nichts bewirken; du machst ja nichts anderes als z.b. x := x;, da kann ja gar nichts passieren 3. "Sqrt(qh²+qb²=la)" ich weiss nciht was du hier mit dem "=la" bewirken willst. es müsste also wahlweise so aussehen, damit die syntax stimmt, ich weiss jetzt nicht ob auch die rechnung richtig ist:
Delphi-Quellcode:
ich würde allerdings die 1. variante bevorzugen.
la := Sqrt(Sqr(qh) + Sqr(qb));
//oder la := Sqrt(qh*qh + qb*qb); //oder qh := Sqr(qh); qb := Sqr(qb); la := Sqrt(qh + qb); //oder gar qh := qh*qh; qb := qb*qb; la := Sqrt(qh + qb); |
Re: Frage zu SQRT in einer Konsolenanwendung
Naja, bin schon happy das es so geklappt hat.
Aber zu deiner Frage, la=laenge=lösung :) Werde mir deine Hinweise zu Herzen nehmen und die anderen Vorschläge mal ausprobieren. das "readln;" hab ich da, sonst könnte man ja nich lesen, soweit wusste ich es schon. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz