Ich verstehe da was nicht......

  • 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


  • 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.


    Code
    5 zz=4/10
    10 for i=0 to 349
    15 a=a+zz
    20 print a, int(a*10)/10
    25 next i


    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.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

    • Offizieller Beitrag


    :grübel:


    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