Figurtall og programmering

Del 2, alle hjelpemidler

Figurtall og programmering

Figur 1, 2 og 3 med grønne kvadrater

Ovenfor ser du tre figurer. Figurene er satt sammen av små grønne kvadrater. Tenk deg at du skal fortsette å lage figurer etter samme mønster.

Du skal lage et program som beregner og skriver ut hvor mange små grønne kvadrater det vil være i hver av de 20 første figurene.

Hjelpemiddelkrav: For hånd

Sett opp en algoritme du kan bruke for å lage programmet.

Hjelpemiddelkrav: Oppsett for hånd

Ta utgangspunkt i algoritmen fra oppgave a) og lag programmet.

Tenk deg at du har 1 000 000 små kvadrater. Du starter med å lage figur 1 og fortsetter så med å lage figur 2, figur 3 osv.

Hjelpemiddelkrav: Oppsett for hånd

Lag et program som du kan bruke for å finne ut hvor mange figurer du kan lage, og hvor mange små kvadrater du har igjen når du har laget alle figurene.

Fasit

–

–

Du kan lage 143 figurer. Da har du 15 017 brikker til overs.

Løsningsforslag

Jeg deler opp figuren slik:

Oppdeling av figurtall

Jeg velger å skrive algoritmen som pseudokode slik at det går raskt å skrive den i Python etterpå.

for hver figur fra n = 1 til n = 20:
	kvadrat = n^2
	høyre_side = n
	nede_venstre = n + 1
	sum = kvadrat + høyre_side + nede_venstre
	print sum
for n in range(1, 21):
	kvadrat = n ** 2
	høyre_side = n
	nede_venstre = n + 1
	sum = kvadrat + høyre_side + nede_venstre
	print(f"Figur {n} har {sum} kvadrater.")

Programmet skrev ut hvor mange kvadrater det er i hver figur. Figur 20 har 441 kvadrater.

Vi må holde styr på hvor mange kvadrater vi har brukt med en totalsum, også bruker vi en whileløkke for å avslutte når vi er gått tomme for brikker.

totalsum = 0
n = 0

while totalsum <= 1_000_000:
    n = n + 1
    kvadrat = n ** 2
    høyre_side = n
    nede_venstre = n + 1
    figur = kvadrat + høyre_side + nede_venstre
    totalsum = totalsum + figur   # Legger til den siste figuren

# While-løkka har kjørt en gang for mye og 
# har brukt opp flere brikker enn vi har.
# Vi må derfor "gå en figur tilbake"
brikker_brukt_før_siste = totalsum - figur
brikker_til_overs = 1_000_000 - brikker_brukt_før_siste

print(f"Etter figur {n-1} har du {brikker_til_overs} brikker til overs.")

Output: Etter figur 142 har du 15017 brikker til overs.

Du kan lage 142 figurer. Da har du 15 017 brikker til overs.

Sensorveiledning

Oppgaven gir til sammen 5 poeng

1 poeng

For å få uttelling må algoritmen beskrive en steg for steg framgangsmåte som inkluderer en løkke.

2 poeng

Et delvis riktig program kan gi 1 poeng. En kode som er godt forklart, kan gi uttelling i oppgave a).

2 poeng

Et delvis riktig program kan gi 1 poeng. For å få full uttelling, må programmet komme fram til at det kan lages 142 figurer, og at det da vil være 15 017 kvadrater igjen.

Forstå oppgaven med en KI

Du får en ferdig tekst du limer inn i den KI-chatboten du bruker. Teksten inneholder oppgaven og en instruks om at chatboten skal hjelpe deg å tenke selv — stille spørsmål, gi ett hint av gangen og la deg gjøre regningen.

Anbefalt. Chatboten får beskjed om å bruke det til å veilede deg riktig vei — ikke til å røpe svaret. Du kan slå det av hvis du vil være helt sikker på at ingenting lekker.

Hva du bør vite
  • Ingenting sendes herfra. Teksten kopieres bare til utklippstavla på enheten din. Det du limer inn i en chatbot, går til den tjenesten — og de har sine egne regler for hva de lagrer.
  • Ikke lim inn personopplysninger — navn, skole eller noe annet om deg selv eller andre. Oppgaveteksten holder.
  • KI kan ta feil, også i matematikk. Sjekk alltid mot løsningsforslaget her på siden.
  • Er du usikker på om du har lov til å bruke KI på skolearbeidet ditt, spør læreren din først.

Tastatursnarveier

Navigasjon

⌘K / Ctrl+K
Åpne søk
G F
Gå til Fag
G E
Gå til Eksamener
G T
Gå til Temaer
G K
Gå til Kompetansemål
G H
Hjem
?
Vis snarveier

I oppgave

←/→ · J/K
Forrige / neste oppgave
0
Marker som ikke prøvd
1
Marker som prøvd
2
Marker som trenger hjelp
3
Marker som ferdig
S
Vis / skjul løsningsforslag
A
Legg til i liste
N
Skriv notat
Esc
Tilbake / avslutt