AGB  ·  Datenschutz  ·  Impressum  







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

delphi probleme....pq

Ein Thema von wuschi · begonnen am 22. Okt 2007 · letzter Beitrag vom 23. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
wuschi

Registriert seit: 22. Okt 2007
7 Beiträge
 
#1

delphi probleme....pq

  Alt 22. Okt 2007, 18:28
so ich soll für die schule die pq-formel als prog schreiben...hab jetzt auch was gemacht aber das funzt nicht wirklich^^
kann mir mal jemand helfen denn ich weiß absolut nicht mehr weiter
Delphi-Quellcode:
procedure TForm1.startClick(Sender: TObject);
var p,q,x1,x2,wurzel,z : extended ;
  begin
    if
      sqrt(p*p/4-q) < 0
      then
        keine.Visible := True
      else
      begin
        if
          sqrt(p*p/4-q) = 0
          then
          begin
            wurzel := sqrt(p*p/4-q);
            z := p/2*-1;
            x1loesung.Visible := True;
            x1loesung.Caption := floattostrf(z,ffFixed,2,2);
          end
          else
            if
            sqrt(p*p/4-q) >0
              then
              begin
                x1:= z+wurzel;
                x2:= z-wurzel;
                x1loesung.Visible := True;
                x1loesung.Caption := floattostrf(x1,ffFixed,2,2);
                x2loesung.Visible := True;
                x2loesung.Caption := floattostrf(x2,ffFixed,2,2);
              end
  end;
  end;

[edit=Matze][delphi]-Tags gesetzt. Zukünftig bitte selbst einfügen. MfG, Matze[/edit]
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: delphi probleme....pq

  Alt 22. Okt 2007, 18:31
Standardfrage: Was funktioniert denn nicht so wie gedacht? Weil "funktioniert nicht so richtig" ist keine Fehlerbeschreibung. Es es ein mathematisches oder ein Sprachproblem?

Und du kannst nicht erwarten, dass hier jemand deinen Code nimmt, kopiert und ihn dir korrigiert wieder hierreinstellt. Wenn es doch jemand macht, hast du Glück gehabt. Gelernt hast du dabei aber nix.
  Mit Zitat antworten Zitat
wuschi

Registriert seit: 22. Okt 2007
7 Beiträge
 
#3

Re: delphi probleme....pq

  Alt 22. Okt 2007, 18:37
alsoooo...erstmal kommen unten die hinweise von delphi dass
[Hint] Unit1.pas(53): Value assigned to 'wurzel' never used
und dann noch die meldungen dass die variablen q,p,z,wurzel nicht initialisiert wurden
das programm lässt sich jedoch dennoch starten und ich kann die gewünschten zahlen eingeben, wenn ich jedoch dann auf den start button klicke kommt eine fehlermeldung, die lautet:
procejt1.exe raised exceptionclass EinvalidOpwith message "ibvalid floating point operation" dann wennman auf ok klickt öffnet sich der debugger doch wenn ich bei dem einen schritt vorwärst gehe geht er zum ende und dann kommt die fehlermeldung:invalid floating point operation
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: delphi probleme....pq

  Alt 22. Okt 2007, 18:38
Delphi-Quellcode:
procedure TForm1.startClick(Sender: TObject);
var p,q,x1,x2,wurzel,z : extended ;
  begin
    //p und q sind nicht initialisiert, reiner Zufall, was hier rauskommt
    if
      sqrt(p*p/4-q) < 0
      then
        keine.Visible := True
      else
      begin
        if
          sqrt(p*p/4-q) = 0
          then
          begin
            wurzel := sqrt(p*p/4-q); //Berechnung von Wurzel wird nicht verwendet
            z := p/2*-1;
            x1loesung.Visible := True;
            //Und wo bleibt hier die Wurzel? Umsonst gerechnet, s.o.
            x1loesung.Caption := floattostrf(z,ffFixed,2,2);
          end
          else
            if
            sqrt(p*p/4-q) >0 //Abfrage unnötig, da die anderen beiden Fälle bereits behandelt wurden
              then
              begin
                x1:= z+wurzel; //wurzel hat einen undefinierten Wert
                x2:= z-wurzel; //dto.
                x1loesung.Visible := True;
                x1loesung.Caption := floattostrf(x1,ffFixed,2,2);
                x2loesung.Visible := True;
                x2loesung.Caption := floattostrf(x2,ffFixed,2,2);
              end
  end;
  end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#5

Re: delphi probleme....pq

  Alt 22. Okt 2007, 18:41
a) Du musst die Variablen initialisieren
b) Für welche Zahl x soll denn bitte sqrt(x) kleiner als Null sein? Willst du vielleicht testen, ob das Argument kleiner als Null ist, bevor du die Wurzel ziehst?

// Ach ja: 'Delphi Problem' ist in einem Delphi Forum nicht wirklch hilfreich
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#6

Re: delphi probleme....pq

  Alt 22. Okt 2007, 18:42
Ah, das sah auf die ersten zwei Blicke so aus, als ob p, q, ... mit als Funktionsparameter gehörten.

Die ganzen Variablen da musst du natürlich zuweisen. Wie Deddy schon geschrieben hat: Woher soll Delphi wissen was p, q, ... ist, wenn du die Werte aus der Eingabe nicht zuweist?

Schau dir mal strtoint bzw. strtofloat an. Oder TryStrToInt, TryStrToFloat, ...
  Mit Zitat antworten Zitat
wuschi

Registriert seit: 22. Okt 2007
7 Beiträge
 
#7

Re: delphi probleme....pq

  Alt 22. Okt 2007, 19:10
se vieeeeeeelen dank an euch alle...nach euren tipps funktioniert das hier endlich zumindest fast^^
das einzigste was jetzt noch nicht funktioniert ist dass delphi anzeigt wenn es keine lösung gibt...dann kommt immer diese fehlermeldung
hat vll noch jemand eine idee?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: delphi probleme....pq

  Alt 22. Okt 2007, 19:12
Welche Fehlermeldung?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
wuschi

Registriert seit: 22. Okt 2007
7 Beiträge
 
#9

Re: delphi probleme....pq

  Alt 22. Okt 2007, 19:17
die die ich oben schon einmal hingeschrieben habe in einem beitrag von mir...die mit invalid floating point operation
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#10

Re: delphi probleme....pq

  Alt 22. Okt 2007, 19:43
Hallo wuschi,

wurzel := sqrt(p*p/4-q); Hier (oder danach) tritt der Fehler auf, oder?

Wenn die Formel keine Lösung besitzt, ist p*p/4-q negativ. Wie groß ist die Wurzel aus -1

Du musst also den Fall abfangen, das p*p/4-q < 0 ist und in diesem Fall die weitere Verarbeitung abbrechen und "keine Lösungen" ausgeben.

MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:03 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