Sjekk din forståelse
Q-1 En algoritme «finn det største tallet» testes på (6, 6). Hva bør svaret bli?
Begge tallene er 6, så det største er 6. Se «Teste og forbedre en algoritme» for mer informasjon.
| Test | Resultat |
|---|---|
| Begge tall | 6 |
| Konklusjon | 6 |
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)?
Vanlige tilfeller avdekker sjelden de samme feilene som randtilfeller gjør. Se «Teste og forbedre en algoritme» for mer informasjon.
| Test | Resultat |
|---|---|
| Vanlig tilfelle | avdekker sjelden feil |
| Randtilfelle | avdekker ofte feil |
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?
- Begge tallene er negative partall, og partall telles uansett fortegn
- 2. Se «Teste og forbedre en algoritme» for mer informasjon.
| Test | Resultat |
|---|---|
| Partall funnet | -2, -4 |
| Teller | 2 |
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.
- 24 mod 2 = 0
- ja, partall. Se «Programmere en enkel matematisk algoritme» for mer informasjon.
| Test | Resultat |
|---|---|
| 24 mod 2 | 0 |
| Konklusjon | Ja, partall |
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.
6*2-1 = 12-1 = 11. Se «Programmere en enkel matematisk algoritme» for mer informasjon.
| Test | Resultat |
|---|---|
| 6 * 2 | 12 |
| - 1 | 11 |
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?
Faktorer kommer i par rundt kvadratroten: finner du ingen under, finnes det ingen over heller. Se «Programmere en enkel matematisk algoritme» for mer informasjon.
| Test | Resultat |
|---|---|
| Faktor over kvadratroten | har par under kvadratroten |
| Konklusjon | allerede testet |
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?
- 5 > 5 er usant, så tallet 5 blir feilaktig utelatt
- nei. Se «Feilsøke i kode» for mer informasjon.
| Test | Resultat |
|---|---|
| Er 5 > 5? | Usant |
| Konklusjon | Nei |
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?
30 : (2-1) = 30 : 1 = 30, feil svar. Se «Feilsøke i kode» for mer informasjon.
| Test | Resultat |
|---|---|
| 30 : (2-1) | 30, feil |
| Riktig (30:2) | 15 |
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?
Denne typen grensefeil kalles en av-med-én-feil, en av de vanligste feilene i programmering. Se «Feilsøke i kode» for mer informasjon.
| Test | Resultat |
|---|---|
| Navn | Av-med-én-feil (off-by-one) |
Se «Feilsøke i kode» for mer informasjon.