INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

While_Schleife



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

11.02.2009, 16:19
Beitrag #1

dottore Offline
User
*


Beiträge: 38
Registriert seit: Aug 2007

11
2005
EN

9463
Schweiz
While_Schleife
Guten Tag Allerseits..
Vor einiger Zeit hatten wir bei uns eine Klausur. Bei dieser programmierte ein Student folgendes Beispiel.. siehe jpg.

Mir ist schon klar, dass es nicht optimal ist Gleichheit zu kontrollieren..
aber trotzdem, warum kann hier das Programm nicht stoppen?? Ist das ein Rundungsfehler?Huh

Auf jeden Fall, hatte er zudem keine Stoppuhr drin.. so war das Memory schnell voll und der Student fertig mit seinen Nerven..

Er darf aber jetzt zur Nachklausur, immerhin..

Kann mir da jemand weiterhelfen warum dem so ist??

viele Grüsse


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.02.2009, 16:27
Beitrag #2

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
While_Schleife
' schrieb:Ist das ein Rundungsfehler?Huh

Genau das ist es!

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.02.2009, 16:32
Beitrag #3

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
While_Schleife
' schrieb:Guten Tag Allerseits..
Vor einiger Zeit hatten wir bei uns eine Klausur. Bei dieser programmierte ein Student folgendes Beispiel.. siehe jpg.

Mir ist schon klar, dass es nicht optimal ist Gleichheit zu kontrollieren..
aber trotzdem, warum kann hier das Programm nicht stoppen?? Ist das ein Rundungsfehler?Huh

Auf jeden Fall, hatte er zudem keine Stoppuhr drin.. so war das Memory schnell voll und der Student fertig mit seinen Nerven..

Er darf aber jetzt zur Nachklausur, immerhin..

Kann mir da jemand weiterhelfen warum dem so ist??

viele Grüsse


Die Abweichung beträgt 1,77636E-15! das ist nciht viel, aber ausreichend, um einen Unterschied darzustellen. und damit hast du auch die Begründung warum man nciht auf gleichheit prüfen sollte, bei verwendung von fließkommazahlen.

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.02.2009, 16:51
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
While_Schleife
' schrieb:Die Abweichung beträgt 1,77636E-15!
Gleitkommazahlen (double, single etc) haben den Nachteil, dass manche dieser Zahlen nicht genau so abgespeichert werden können, wie sie am Bildschirm erscheinen. Das liegt am Aufbau der Zahl mit Mantisse und Exponent. Guckst auch WikiPedia etc.

Steht da z.B. 0,1 so ist der abgespeicherte Wert (möglicherweise) 0,1000000000000000123. Und da hier gemeinerweise alles in 40 Schritten über ein Schiebereigster geht, findet sich bestimmt irgendeine Zahl auf der Reihe mit delta=0,1, die eben nicht genau ist.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: