Modul 3 - Input

Blåsvart inputikon med skygge.

Hensikt

Matematikk

  • Utforske vinkler i regulære mangekanter.
  • Tegne diagonaler i mangekanter.
  • Beregne avstand mellom punkter (for ungdomstrinnet).

Programmering

  • Input – blokken spør tar i bruk informasjon fra brukeren.

Oversikt over nye blokker i denne modulen

Tabell med oversikt over blokkene i Scratch som brukes i denne modulen.

Kort oversikt

Modulen består av tre deler og bygger videre på arbeidet med kvadrater. Modulen introduserer noen få nye blokker, hvor den viktigste handler om input. Elevene får også tid til å repetere bruken av sentrale blokker, som for eksempel variabler og beregninger. DEL 1 og 2 handler både om å tegne regulære mangekanter og å lage mønster med mangekanter , i tillegg til å lage mønster ved å stemple figuren. DEL 3 handler om å tegne diagonaler i kvadrater og regulære femkanter med tilfeldig størrelse og orientering. Denne delen har et tillegg for ungdomstrinnet om å beregne avstander slik at man kan finne lengden til diagonalene. Det forutsetter at elevene er kjent med Pytagoras' setning.

Del 1 - vinkler i rektangulære mangekanter

Elevene får se denne kodeblokken som de kjenner fra før (arbeidsark 03a):

Kodeblokk i Scratch som bruker en løkke som gjentas fire ganger. I løkken går en figur 200 steg og snur deretter 90 grader til høyre. Figuren tegner en pennestrek etter seg når den beveger seg.

Be elevene diskutere hvilke verdier som må endres hvis programmet skal tegne en regulær (likesidet) trekant. La dem prøve ut forslagene sine. Når de har funnet verdier som passer, noterer de verdiene. Mange vil nok støte på dette problemet: Hvorfor blir det ikke en trekant når vi snur 60 grader? La dem selv finne ut hvor mange grader de må rotere i hvert hjørne. Vent med en begrunnelse til elevene har erfaringer nok til å lete etter og kanskje finne en forklaring selv.

Elevene får så endre verdier slik at figuren blir en regulær femkant, sekskant og så videre og lager en oversikt på resultatene de kommer til. En tabell vil være nyttig:

Antall kanter Vinkel (i grader)
3 120
4 90
5 72
6 60
... ...

Utfordring for elevene

Finn en sammenheng mellom vinkelen man må rotere og antall sider. Hvorfor er det slik? Hva skjer med mangekanten om vi velger et stort antall sider, for eksempel 12?

Kommentar

Eksempel med regulær trekant.

Likesidet trekant ABC. Innvendig vinkel B er markert grønn med 60 grader. Tre utvendige vinkler er markert rødt.

Dette skjer når trekanten blir tegnet:

  1. Man starter i punkt A og peker i retning B.
  2. I B må rotasjonen være så stor at det blir 60 grader "inne i" trekanten. Da peker pila i retning mot C. Rotasjonsvinkelen er markert rød.
  3. Når denne rotasjonen er utført tre ganger, peker pila i samme retning som i punkt 1.

Den samlede rotasjonen blir da `360 °`, og hver rotasjon er da `360 °:3 =120 °`

Tilsvarende argument kan man benytte på andre regulære mangekanter.

Input bra brukeren

Når vi har sett sammenhengen mellom antall sider og vinkelen (produktet er 360), kan vi få beregnet rotasjonsvinkelen automatisk. Det kan vi gjøre ved å la elevgrupper prøve å forutsi hva dette programmet gjør og så legge opp til en diskusjon i klassen (arbeidsark 03b).

Kodeblokk i Scratch som tar imot heltall som input fra bruker. Programmet bruker dette heltallet for å tegne en regulær mangekant.

Kommentar

I dette tilfellet er det strengt tatt ikke nødvendig å lage en variabel av svaret når bruken kun gir input til én variabel – her er det antall kanter i mangekanten. Resultatet hadde blitt det samme om variabelen "antall sider" blir utelatt. Blokken "snu" måtte da se slik ut: Blokken "snu" hvor 360 deles på variabelen "Svar".

Hvis brukeren skal legge inn flere svar, må man lage en variabel av hvert svar, så det er en god vane å lage en variabel av tallsvarene brukeren skal gi som input.

Når elevene lager og kjører kodeblokken med ulike antall kantar, oppdager de kanskje at det skjer noe spesielt når antall kanter øker. Årsaken er at mangekanten blir for stor. Mangekanten får ikke plass i resultatvinduet og den blir ikke lukket, slik som på bildet.

Figur tegnet i Scratch, hvor pilen/pennen som tegner figuren går ut over grensene til resultatvinduet, og figuren får en forskyvning slik at den ikke blir lukket.

Modifisering

Utfordre elevene på å modifisere kodeblokken slik at de kan få tegnet regulære mangekanter med så mange kanter de ønsker. Disse tre eksemplene viser at det er mulig å få på plass mangekanter med svært mange kanter. De er laget med samme kodeblokk og har hhv. 15, 3 og 360 kanter.

En 15-kant, en trekant og en 360-kant, tegnet i Scratch. 360-kanten ser ut som en sirkel.

Be elevene sammenlikne de tre mangekantene og dele tanker om hva de må legge inn i kodeblokken for å tilpasse mangekantene til resultatvinduet.

Kommentar

Nøkkelen her er å tilpasse sidelengden til antall kanter i mangekanten. Det kan gjøres ved å lage en ny variabel som kan hete "kantlengde". På bildene er variabelen laget slik: Kodeblokken "Sett variabel til "verdi"", setter variabelen "kantlengde" til 1000/"antall kanter".

Antall kanter bestemmer også hvor pila skal stå når opptegningen begynner. Den må plasseres slik at mangekanten får plass i resultatvinduet. Antall kanter vil også påvirke hvor pila skal plasseres før opptegningen starter. Det kan for eksempel løses ved å sette inn blokken Kodeblokken "gå til x:_ y:_" settes til x: kantlengde/-2 y: -150..

En ekstra utfordring

Modifiser kodeblokken slik at alle mangekantene med 3-20 kanter blir tegnet på denne måten (arbeidsark 02c).

Mønster av regulære mangekanter, tegnet med Scratch

Mønsteret blir mer fargerikt om fargen endres for hver mangekant.

Prøv å starte med: Kodeblokk i Scratch som setter pennens farge til verdien 1. og så endre farge for hver nye mangekant: Kodeblokk i Scratch som endrer pennes farge med 10..

Resultatet kan for eksempel bli slik:

Fargerikt mønster av regulære mangekanter, tegnet i Scratch.

 

Del 2 - lag mønster med stempel 

Så langt er alle tegninger og mønster laget med pennen. Blokken stemple avtrykk, som ligger under penn-verktøyet, gir nye muligheter når man ønsker å lage mønster.

Eksempel

En kodeblokk som lager en regulær femkant, kan modifiseres slik at den lager et stempel i hvert hjørne, uten at pennen tegner linjer. Da må man sørge for at pennen er av. Figuren "Arrow1" er kanskje ikke den beste figuren for å lage et mønster. Figuren "Cat 2" kan være et alternativ.

Fem katter, sett ovenfra, i et femkantmønster.

Spar tid på gjenbruk av kodeblokker!

Når man vil lage et nytt program ved å modifisere en kodeblokk man allerede har laget, kan det gjøres på flere måter, blant annet:

  1. Lag en kopi av prosjektet.
  2. Bruk ryggsekken. Ønsker du å bruke en annen figur enn for eksempel "Arrow", er nok det enkleste å bruke ryggsekken. Ryggsekken åpnes når man klikker på Ryggsekk nederst i skjermbildet. Da kan man dra hele kodeblokken man vil gjenbruke ned i ryggsekken. Så må man starte et nytt prosjekt ved å velge "Ny" under "Filer" på menylinjen, hente inn den figuren man ønsker å bruke, og så dra opp kodeblokken fra ryggsekken. Bruk av ryggsekken krever at man er logget inn.

La elevene leke seg med mønster

De blokkene elevene til nå er introdusert for, gir rike muligheter for kreativ utfoldelse, analyse av kodeblokker og algoritmisk tenking.

Den algoritmiske tenkingen kan utvikles og styrkes ved analogt arbeid.

La elevene

  1. tegne en skisse av det mønsteret de ønsker å lage en kodeblokk for (eller velge noe som likner et av forslagene) – bruk gjerne kopioriginalen 01c Koordinatsystem.
  2. lage en algoritme hvor de beskriver hvordan kodeblokken skal bygges opp (pseudokode*).
  3. lage eller modifisere en kodeblokk med utgangspunkt i pseudokoden.

Pseudokode

*Eksempel på pseudokode til mønster D nedenfor. Kopioriginal 03 Reg Mang 4.

  1. Start nede i venstre hjørne
  2. Lag en regulær sekskant med stempel av figuren i hvert hjørne
  3. Flytt til høyre og lag en ny sekskant slik at det blir åtte sekskanter på ei linje
  4. Endre farge på figuren
  5. Flytt til start på ei ny linje med sekskanter over den linjen som ble laget
  6. Gjenta punktene 3, 4 og 5 så mange ganger det er plass til

Eksempler til inspirasjon

Fargerikt mønster av regulære mangekanter, tegnet i Scratch.

Kommentar

Noen figurer kan skifte farge, for eksempel "Ball" og "Snowflake". Noen kan skifte utseende, for eksempel "Dove". Ønsker man slike effekter, må man velge blokker under Utseende.

Med ballen kan man bruke blokken Blokken "Sett fargeeffekt til", settes til verdi 50., som er benyttet i mønster G. Ønsker man å endre fargen, kan man bruke blokken Blokken "Endre fargeeffekt med", settes til 20..

Dette tilsvarer de to blokkene vi finner under penn-verktøyet: Kodeblokk i Scratch som setter pennens farge til verdien 1. og Kodeblokk i Scratch som endrer pennes farge med 10..

Duen i mønster F har to drakter, dove-a og dove-b: Blokken bytt drakt til dove-aBlokken bytt drakt til dove-b. Hver linje med duer starter med dove-a. For hver forflytning i en linje bytter figuren drakt med denne blokken: Blokken "neste drakt"..

Del 3 - diagonaler

 

Introduksjon av blokkene Blokken med variabelen "x-posisjon".blokken med variabelen "y-posisjon". og Blokken som lager et tilfeldig tall mellom m og n.

 

Figuren viser starten på en kodeblokk som skal tegne et kvadrat og en diagonal i kvadratet. Kvadratet har en tilfeldig plassering og orientering i resultatvinduet.

Kodeblokk i Scratch som tegner et to sider av et kvadrat med tilfeldig størrelse, på en tilfeldig plass i et koordinatsystem. Når figuren har tegnet halve kvadratet, lagres x- og y-koordinatene i variabler.

Be elevene studere kodeblokken og tenke over hva spesielt de to siste blokke gjør. La elevene fullføre kodeblokken slik at programmet tegnet et kvadrat med en diagonal.

Kommentar

Blokkene Blokken "gå til x:_ y:_", settes til x: tilfeldig tall fra -200 til 40 og y: tilfeldig tall fra -30 til 30. og Blokken "pek i retning", settes til tilfeldig tall fra 0 til 90. sikrer at kvadratet blir liggende innenfor resultatvinduet. Om man bruker blokkene Blokken "gå til tilfeldig sted". og Blokken "Pek i retning", settes til tilfeldig tall fra 0 til 360., som gir større grad av tilfeldighet, risikerer man at kvadrat blir deformert.

Beregne avstand - for ungdomstrinnet

Start med den analoge aktiviteten i arbeidsark 03f Beregne avstand.

La elevene lage en kodeblokk som beregner avstanden mellom to tilfeldige punkter. Tilfeldige punkter kan velges med blokken Blokken "gå til tilfeldig sted"..

Utfordre elevene på å beregne lengden til

  • diagonalen i det tilfeldige kvadratet
  • en diagonal i en tilfeldig regulær femkant
  • en diagonal i en annen regulær mangekant.

Kommentar

Avstandene som blir beregnet med Pytagoras setning kan ha mange desimaler, for eksempel Variabelen "avstand" med verdien 398,151981. Hvis beregningen legges inn i blokken Operatoren "Avrund", blir resultatet Variabelen "avstand" med verdien 398.

Relaterte filer