Sjekk din forståelse
Q-1 En algoritme «finn det største tallet» testes på (6, 6). Hva bør svaret bli?
| Test | Resultat |
|---|---|
| Begge tall | 6 |
| Konklusjon | 6 |
Begge tallene er 6, så det største er 6. Se «Teste og forbedre en algoritme» for mer informasjon.
Se «Teste og forbedre en algoritme» for mer informasjon.
Q-2 Hvorfor er det viktig å teste en algoritme med randtilfeller (som like tall eller null)?
| Test | Resultat |
|---|---|
| Vanlig tilfelle | avdekker sjelden feil |
| Randtilfelle | avdekker ofte feil |
Vanlige tilfeller avdekker sjelden de samme feilene som randtilfeller gjør. Se «Teste og forbedre en algoritme» for mer informasjon.
Se «Teste og forbedre en algoritme» for mer informasjon.
Q-3 En algoritme «tell partall» testes på listen [-2, -4]. Hva bør svaret bli?
| Test | Resultat |
|---|---|
| Partall funnet | -2, -4 |
| Teller | 2 |
- Begge tallene er negative partall, og partall telles uansett fortegn
- 2. Se «Teste og forbedre en algoritme» for mer informasjon.
Se «Teste og forbedre en algoritme» for mer informasjon.
Q-4 Bruk algoritmen «SETT rest = tallet MODULO 2. HVIS rest er 0: partall» på tallet 24.
| Test | Resultat |
|---|---|
| 24 mod 2 | 0 |
| Konklusjon | Ja, partall |
- 24 mod 2 = 0
- ja, partall. Se «Programmere en enkel matematisk algoritme» for mer informasjon.
Se «Programmere en enkel matematisk algoritme» for mer informasjon.
Q-5 En algoritme skal doble et tall og trekke fra 1. Test den på tallet 6.
| Test | Resultat |
|---|---|
| 6 * 2 | 12 |
| - 1 | 11 |
6*2-1 = 12-1 = 11. Se «Programmere en enkel matematisk algoritme» for mer informasjon.
Se «Programmere en enkel matematisk algoritme» for mer informasjon.
Q-6 Hvorfor kan en primtall-test stoppe ved kvadratroten av tallet i stedet for å teste helt opp til tallet selv?
| Test | Resultat |
|---|---|
| Faktor over kvadratroten | har par under kvadratroten |
| Konklusjon | allerede testet |
Faktorer kommer i par rundt kvadratroten – finner du ingen under, finnes det ingen over heller. Se «Programmere en enkel matematisk algoritme» for mer informasjon.
Se «Programmere en enkel matematisk algoritme» for mer informasjon.
Q-7 En algoritme skal fange opp tall STØRRE ENN ELLER LIK 5, men bruker «tallet > 5». Blir tallet 5 fanget opp?
| Test | Resultat |
|---|---|
| Er 5 > 5? | Usant |
| Konklusjon | Nei |
- 5 > 5 er usant, så tallet 5 blir feilaktig utelatt
- nei. Se «Feilsøke i kode» for mer informasjon.
Se «Feilsøke i kode» for mer informasjon.
Q-8 En gjennomsnitt-algoritme deler feilaktig på antallet MINUS 1. For listen [10, 20] (riktig svar 15), hva blir det feilaktige svaret?
| Test | Resultat |
|---|---|
| 30 : (2-1) | 30, feil |
| Riktig (30:2) | 15 |
30 : (2-1) = 30 : 1 = 30, feil svar. Se «Feilsøke i kode» for mer informasjon.
Se «Feilsøke i kode» for mer informasjon.
Q-9 Hva kalles feilen der en løkke går én gang for mange eller for få pga. feil sammenligningstegn?
| Test | Resultat |
|---|---|
| Navn | Av-med-én-feil (off-by-one) |
Denne typen grensefeil kalles en av-med-én-feil, en av de vanligste feilene i programmering. Se «Feilsøke i kode» for mer informasjon.
Se «Feilsøke i kode» for mer informasjon.