Ik heb zelf al meerdere programma's gemaakt in TI-basic. (voor op m'n rekenmachine) Momenteel probeer ik een priemgetal test te maken. Het werkte, dus heb ik het geoptimaliseerd. Toen ik de bug constateerde, heb ik hem omgebouwt om te kijken waar het zit.
De fout treed op wanneer ik 35 invul. Verder heb ik nog geen getal gevonden dat ook niet klopt. Veel getallen die eindigen op 5 getest, en tafel van 7. Maar niets.
oftwel, waarom passeert de test bij 35 wel de if, ondanks dat het 0 aangeeft, en anders nooit?
De fout treed op wanneer ik 35 invul. Verder heb ik nog geen getal gevonden dat ook niet klopt. Veel getallen die eindigen op 5 getest, en tafel van 7. Maar niets.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| prompt n //vraagt om het getal dat getest moet worden abs(iPart(N->N //neemt de absolute waarde, en neemt alleen het gehele deel 2->B //nodig voor verder in mijn programma Pause N //bugtestfeature, laat even pauzeren. Hij haalt deze pauze, N is 35 if sum(N={1,2,3,5,7 //Als N of 1 of 2 of 3 of 5 of 7 is, is dit 1, en gaan we dus door then Disp sum(N={1,2,3,5,7 //Laat nog maar even zien of mijn test eerder klopt, geeft 0 aan Pause N //pauzeert, jawel, N is nog steeds 35 goto 1 // ga naar het lbl 1 else .......... lbl 1 Dips "Ja //het is een priemgetal (maar 35 is het niet!) |
oftwel, waarom passeert de test bij 35 wel de if, ondanks dat het 0 aangeeft, en anders nooit?