AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein programm fehler (pq-formel) - numerische datentypen

programm fehler (pq-formel) - numerische datentypen

Ein Thema von pete_knightde · begonnen am 15. Mär 2005 · letzter Beitrag vom 15. Mär 2005
Antwort Antwort
Seite 2 von 2     12
pete_knightde

Registriert seit: 15. Mär 2005
11 Beiträge
 
#11

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:01
wenn ich die datei compiliere
und für p=2 und q=3 eingebe, als beispiel

dann kommt folgende fehlermeldung

Im Projekt Projekt1.exe ist eine Exception der Klasse EInvalidOp aufgetreten. Meldung: 'Ungültige Gleitkommaoperation'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortfahren.


danach ist folgender bereich blau markiert
if sqrt(Sqr(p)/4-q)<0
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#12

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:03
Du musst vorher prüfen, ob der Ausdruck unter Wurzel bzw. in sqrt() kleiner als Null ist.

Delphi-Quellcode:
var
  Num: Real;
begin
  Num := Sqr(P)/4 - q;´
  if Num >= 0 then
  begin
    // jetzt mit sqrt() weitermachen.
  end;
end;
mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
pete_knightde

Registriert seit: 15. Mär 2005
11 Beiträge
 
#13

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:04
ich hab mal die komplette datei geuppt, damit sich das einige angucken können
http://home.arcor.de/pkde/pq%20aufgabe.zip
  Mit Zitat antworten Zitat
Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#14

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:10
Zitat von pete_knightde:
wenn ich die datei compiliere
und für p=2 und q=3 eingebe, als beispiel(...)
if sqrt(Sqr(p)/4-q)<0
Wenn du nachrechnest wirst du feststellen, dass Delhi das auch nicht errechnen kann, denn

((2^2)/4)-3 = (4/4)-3 = 1-3 = -2

und daraus kann man nun mal keine Wurzel ziehen!

Hier nochmal die Reihenfolge, in der du prüfen musst:
  • 1. Ist der Term sqr(p)/4-q größer oder gleich 0?
    • Nein - Gleichung hat keine Lösungen
    • Ja - Weitermachen
  • 2. Ist der Term sqrt((p^2/4)-q) gleich 0?
    • Ja - Gleichung hat eine Lösung => Die Lösung ausrechnen!
    • Nein - Die Gleichung hat 2 Lösungen => beide Lösungen ausrechnen

Danach kannste das ganze entsprechend ausgeben.

read you, gordon
  Mit Zitat antworten Zitat
pete_knightde

Registriert seit: 15. Mär 2005
11 Beiträge
 
#15

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:13
Zitat von gordon freeman:
Zitat von pete_knightde:
wenn ich die datei compiliere
und für p=2 und q=3 eingebe, als beispiel(...)
if sqrt(Sqr(p)/4-q)<0
Wenn du nachrechnest wirst du feststellen, dass Delhi das auch nicht errechnen kann, denn

((2^2)/4)-3 = (4/4)-3 = 1-3 = -2

und daraus kann man nun mal keine Wurzel ziehen!

Hier nochmal die Reihenfolge, in der du prüfen musst:
  • 1. Ist der Term sqr(p)/4-q größer oder gleich 0?
    • Nein - Gleichung hat keine Lösungen
    • Ja - Weitermachen
  • 2. Ist der Term sqrt((p^2/4)-q) gleich 0?
    • Ja - Gleichung hat eine Lösung => Die Lösung ausrechnen!
    • Nein - Die Gleichung hat 2 Lösungen => beide Lösungen ausrechnen

Danach kannste das ganze entsprechend ausgeben.

read you, gordon
wenn ich das mache, dann kommt z.b. bei p=2, q=-3 "keine lösung"
das stimmt ja überhaupt nicht
  Mit Zitat antworten Zitat
Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#16

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:19
Zitat von pete_knightde:
wenn ich das mache, dann kommt z.b. bei p=2, q=-3 "keine lösung"
das stimmt ja überhaupt nicht
Wieso? WEnn man nach meinem Algo geht musst du als erstes den Term sqr(p)/4-q test, ob er größer 0 ist:

Mit deinen Beispielen (übertriebene Klammersetzung):

((sqr(2))/4)-(-3) = (4/4) -(-3) = 1 + 3 = 4

und somit ist der Term positiv und die Wurzel ist nicht Null, also erhält man 2 Lösungen
  Mit Zitat antworten Zitat
pete_knightde

Registriert seit: 15. Mär 2005
11 Beiträge
 
#17

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:25
kann mal jemand das programm ausprobieren
ist alles notwendige dabei

http://home.arcor.de/pkde/pq%20aufgabe.zip
  Mit Zitat antworten Zitat
Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#18

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:29
Zitat von pete_knightde:
kann mal jemand das programm ausprobieren
ist alles notwendige dabei

http://home.arcor.de/pkde/pq%20aufgabe.zip
Sollte es denn jetzt das ganze korrekt berechnen oder funktioniert irgendetwas immer noch nicht?
Hab's mir mal geladen und guck's mir mal eben an!
  Mit Zitat antworten Zitat
Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#19

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:37
Okay, dein Fehler liegt darin, dass du die Berechnungen von X1 und X2 außerhalb des If-Then Blocks durchführst. Diese Berechnungen können ja teilweise gar nicht durchgeführt werden!
Also gehören die Berechnungen in den If-Block!
Außerdem fragt deine 1. Abfrage immer noch direkt die Wurzel ab, dabei sollte zuerst gefragt werden, ob der Term unter der Wurzel < 0 ist!! hab das ganze mal berichtigt und angehängt.



//Edit1: Außerdem möchte ich noch folgendes sagen: Die DP ist kein Hausaufgabe-Hilfe-Forum, in dem jeder seine Hausaufgaben postet und gemacht bekommt. Es wird gewisse Kooperation seitens dessen erwartet, der die Aufgabe lösen soll. Ich habe heute nur viel Geduld, weil ich weiß, wie es ist im Info-Unterricht zu sitzen, bei einem total inkompetenten Lehrer und dann auch noch Homeworks machen zu müssen
Angehängte Dateien
Dateityp: zip pq_aufgabe_167.zip (6,5 KB, 18x aufgerufen)
  Mit Zitat antworten Zitat
pete_knightde

Registriert seit: 15. Mär 2005
11 Beiträge
 
#20

Re: programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 21:52
ja, das klappt
danke für eure hilfe
auf euch ist verlass
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:14 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