SimReal - Hvordan lage en kalkulator? |
Utvikling av en kalkulator er ressurskrevende, vanligvis regnes en utviklingstid på flere år med en relativt stor programmeringsgruppe. Vi skal derfor på de følgende sidene på ingen måte forsøke å redegjøre for alle detaljer i utvikling av en kalkulator. I stedet skal vi forsøke å sentrere rundt ett av de viktigste punktene knyttet til en kalkulator-utvikling. På denne siden vises SimReal-kalkulatoren hvor kalkulatoren beregner det aritmetiske uttrykket 2 + 3 * 4 = 14 Uttrykket beregnes ved at brukeren enten skriver det aritmetiske uttrykket inn via kalkulator-tastaturet eller skriver uttrykket direkte inn i kalkulator-displayet for deretter å trykke 'Return' slik at beregningen (her med svar = 14) utføres. Det sentrale problemet her er følgende: Brukeren må stå fritt i sin inntasting av et aritmetisk uttrykk, hvilket betyr at brukeren selv kan velge blant tall, bokstaver, funksjoner, operatorer og spesialtegn. Det aritmetiske uttrykket må dermed håndteres som en tekst-streng. Etter innlesing av det aritmetiske uttrykket som en tekst-streng, må tekststrengen analyseres for deretter å beregnes. Hvis tekst-strengen '2+3*4' leses fra venstre påtreffes først tallet 2, deretter en pluss-operator, deretter tallet 3. Denne addisjonen av 2 + 3 må ikke utføres før vi har undersøkt om det lenger ut i tekststrengen finnes operatorer med høyere prioritiet enn pluss-operatoren. I vårt tilfelle etterfølges 3-tallet av operatoren multiplikasjon (*). Denne har høyere prioritet enn pluss (+) og må derfor utføres først. I vårt regne-eksempel må 3 multipliseres med 4 før addisjonen med 2 utføres. Denne type problematikk er gjennomgående ved uvikling av en kalkulator. På de neste sidene vises hvordan slike problemer løses. |