AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu SQRT in einer Konsolenanwendung

Ein Thema von Rayzen · begonnen am 19. Sep 2005 · letzter Beitrag vom 19. Sep 2005
Antwort Antwort
Rayzen

Registriert seit: 19. Sep 2005
5 Beiträge
 
#1

Re: Diagonale ausrechnen

  Alt 19. Sep 2005, 16:20
Huhu
wäre über eure Hilfe dankbar,
denn ich soll eine Konsolenanwendung schreiben und zwar sieht meine bisher folgendermaßen aus.

Delphi-Quellcode:
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.
Die Fehlermeldung ist:
Zitat:
[Fehler] rechteckuad.dpr(32): E2250 Es gibt keine überladene Version von 'Sqrt', die man mit diesen Argumenten aufrufen kann
Es klappt alles bis auf die Diagonalen Berechnung.
Nun weiß ich leider nicht wie ich das ändern bzw ausbessern könnte.

Mit freundlichen Grüßen
Rayzen
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Diagonale ausrechnen

  Alt 19. Sep 2005, 16:35
Hai Rayzen,

ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS".

Zitat:
Die Fehlermeldung ist: [Fehler] rechteckuad.dpr(32): E2250 Es gibt keine überladene Version von 'Sqrt', die man mit diesen Argumenten aufrufen kann
Die Fehlermeldung sollt eigentlich nicht kommen. Der Fehler im Code ist diese Zeile:
la:=sqrt Der Funktion Delphi-Referenz durchsuchensqrt musst Du einen Wert übergeben (sonst weiss sie ja nicht von was sie die Quadratwurzel ziehen soll

Zum Beispiel:
la := sqrt (5);
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Rayzen

Registriert seit: 19. Sep 2005
5 Beiträge
 
#3

Re: Diagonale ausrechnen

  Alt 19. Sep 2005, 16:51
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

Leider funktioniert es so nicht.
qh²:=qh²;
qb²:=qb²;
la:=Sqrt(qh²+qb²=la)
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#4

Re: Diagonale ausrechnen

  Alt 19. Sep 2005, 17:33
Zitat von Rayzen:
Huhu
wäre über eure Hilfe dankbar,
denn ich soll eine Konsolenanwendung schreiben und zwar sieht meine bisher folgendermaßen aus.

Delphi-Quellcode:
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;
[pre]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.
Die Fehlermeldung ist:
Zitat:
[Fehler] rechteckuad.dpr(32): E2250 Es gibt keine überladene Version von 'Sqrt', die man mit diesen Argumenten aufrufen kann
Es klappt alles bis auf die Diagonalen Berechnung.
Nun weiß ich leider nicht wie ich das ändern bzw ausbessern könnte.

Mit freundlichen Grüßen
Rayzen
Deine Berechnung der Diagonalen ist ersten Falsch und zweitens an der falschen stelle.

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);
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Diagonale ausrechnen

  Alt 19. Sep 2005, 17:35
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
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#6

Re: Diagonale ausrechnen

  Alt 19. Sep 2005, 17:40
ups. Da habe den Fehler ja komplett übersehen:


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: ');

// ----> das ist der Fehler: Readln (la);
// Es muss heißen:
writeln(la);
Du lässt la nicht berechnen sondern vom Benutzer eingeben. Darum zeigt der dir kein Ergebnis an
  Mit Zitat antworten Zitat
Rayzen

Registriert seit: 19. Sep 2005
5 Beiträge
 
#7

Re: Diagonale ausrechnen

  Alt 19. Sep 2005, 17:41
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
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#8

Re: Frage zu SQRT in einer Konsolenanwendung

  Alt 19. Sep 2005, 17:48
mach mal vor dem abschliessenden "end." ein "Readln;" rein (jeweils ohne die ")...
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Diagonale ausrechnen

  Alt 19. Sep 2005, 17:58
Zitat von Rayzen:
Leider funktioniert es so nicht.
qh²:=qh²;
qb²:=qb²;
la:=Sqrt(qh²+qb²=la)
oO
krass, so einen heftigen source hab ich noch nie gesehen
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:
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);
ich würde allerdings die 1. variante bevorzugen.
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
Rayzen

Registriert seit: 19. Sep 2005
5 Beiträge
 
#10

Re: Frage zu SQRT in einer Konsolenanwendung

  Alt 19. Sep 2005, 18:03
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz