Ik maak een programma dat een ingegeven wiskundige functie (bv: f(x) = x^2/(3*x-5^(x/2)) controleert. Ik lees dus een string in via een textveld en controleer of het een correcte functie is. Ik doe dit in 4 controles: 1) Is er iets ingevuld?: deze controle is gewoon om te kijken of er iets in het textveld staat.
2) Zijn er alleen correcte characters gebruikt?: hier controleer ik elk character van de string of het 1 van de volgende characters is: 0 1 2 3 4 5 6 7 8 9 x ( ) * / + - ^
3) Zijn er evenveel geopende als gesloten haakjes en staan deze in de juiste volgorde?: Hier ga ik elk teken 1 voor 1 af en kijk of het een '(' is of een ')' is. Ik tel het aantal '(' in een variabele en het aantal ')' in een ander variabele. Telkens als ik een teken heb gehad kijk ik of het aantal ')' niet groter is als het aantal '('. Nadat ik alle tekens heb gehad kijk of het aantal '(' evenveel is als het aantal ')'.
4) Wordt elk character door een correct character gevolgd?: Ik ga elk character af en kijk of het character dat erna komt correct is: 0 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) 1 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) 2 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) 3 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) 4 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) 5 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) 6 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) 7 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) 8 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) 9 kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 * / + - ^ ) x kan gevolgd worden door: * / + - ^ ) ( kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 - x ) kan gevolgd worden door: * / + - ^ * kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 x ( / kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 x ( + kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 x ( - kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 x ( ^ kan gevolgd worden door: 0 1 2 3 4 5 6 7 8 9 x (
het eerste character kan zijn: 0 1 2 3 4 5 6 7 8 9 x (
Mijn vraag is nu of jullie nog foute wiskundige functies kunnen bedenken die door deze controles komen.
das nie zo moeilijk heh, ge controleert gewoon of iets onder een breukstreep gelijk is aan 0 mogen imaginaire getallen? anders is (-5)^(1/2) en dergelijke ook een fout
Einstein schreef: das nie zo moeilijk heh, ge controleert gewoon of iets onder een breukstreep gelijk is aan 0 mogen imaginaire getallen? anders is (-5)^(1/2) en dergelijke ook een fout
nja, ik ga het gewoon opvangen als ik een test uitvoer