Hallo zusammen.
Probiert dieses Programm bitte einmal aus. Rechnen tut der 64iger wohl nicht richtig.
Wo ist mein Denkfehler?
Hab schon viele Proggys gemacht. Aber wieso kommt hier ein Fehler bzw. das es nicht stimmt?
bin da für jede hilfe dankbar
Hallo zusammen.
Probiert dieses Programm bitte einmal aus. Rechnen tut der 64iger wohl nicht richtig.
Wo ist mein Denkfehler?
Hab schon viele Proggys gemacht. Aber wieso kommt hier ein Fehler bzw. das es nicht stimmt?
bin da für jede hilfe dankbar
10 zz=int(rnd(0)*10)+1:z1=int(rnd(0)*10)+1:z2=int(rnd(0)*10)+1
20 print chr$(147)
25 zz=zz/10
27 if z2=1 then 10
30 print "fuehre die reihe ";z1;"x fort...":print:print
40 for q=1 to z2
50 print zz*q
60 next q
70 print:print
80 a1=zz*q
90 for q=1 to z1
100 print q;"-->";:input a2
105 print a1-a2
120 if a1<>a2 then 500
130 a1=a1+zz
140 next q
150 print:print "geschafft":end
500 print:print "das war wohl falsch!!!!"
510 print "richtig war:";a1
Alles anzeigen
Fehler durch interne Darstellung der Zahl : zz=zz/10
Da diese nicht als Dezimalzahl sondern als FAC intern dargestellt wird, steht da eine geringfügig andere Zahl im Rechner, als Du annimmst. Auf die Füße fällt Dir das, weil Du beim Vergleich in Zeile 120 diesen potentiellen Fehlbetrag nicht korrigierst und daher zwei "im Rechner tatsächlich unterschiedliche" Zahlen vergleichst.
Zusätzlich addierst Du den Fehler auch noch auf, was aber i.P. hier keine Rolle spielt, in anderem Zusammenhang aber ein richtiges Problem werden kann - Stichwort Fehleraddition / Fehlerfortpflanzung.
Bitte auch Argumente bringen.
Selbst wenn die Beispiele von ThoralfAsmussen nicht passen sollten (was ich jetzt nicht beurteile) so regen sie zum Nachdenken an und können dadurch dem Fragestellenden zu einer Lösung helfen.
Alles anzeigen
Bitte auch Argumente bringen.
Selbst wenn die Beispiele von ThoralfAsmussen nicht passen sollten (was ich jetzt nicht beurteile) so regen sie zum Nachdenken an und können dadurch dem Fragestellenden zu einer Lösung helfen.
Ich hab da jetzt in Stefan´s Text (ausnahmsweise ) mal keine Ironie erkannt, sondern eher Anerkennung für die Erläuterung des Fehlers in dem Basic-Listing ..
Braucht es dafür auch Argumente ?
MfG
Cartouce
Ey?
Ich dachte wirklich, das wäre eindeutig .
Astreine Erklärung,
daher Stefan <- Anfänger im Gegensatz zu
Thoralf <- Profi.