Tečaj E − Petlje 2 − Ugnježđene petlje i semafori za rezultate

U ovoj ćeš se lekciji upoznati s naprednim primjerima korištenja petlje i iteracije.

  • Computer science
  • looping
Print lesson
  • Starosna dob 9+
  • 65+ minute
  • JavaScript Blocks

Uvod

U ovoj ćeš se lekciji upoznati s naprednim primjerima korištenja petlje i iteracije. Preporuča se da prva lekcija u ovim serijama o petljama, 'LOOPS AND ANIMATIONS', bude završena prije nego što iskušaš ovu lekciju. Ako učenici imaju poteškoća, bilo bi dobro da prvo ponovno pregledaju tu lekciju.

Dok je lekcija 'PETLJE I ANIMACIJE' imala samo jednu petlju, u ovoj se lekciji pojavljuje ugnježđena petlja i jednostavna petlja.

Za ovu lekciju pokušavamo napraviti semafor za rezultate. Naš semafor će prikazati zgoditak osvjetljivanjem LED dioda. Prema tome, ako su osvjetljene 4 LED diode, rezultat je 4.

Predavači možda žele razmotriti sljedeće u ovoj izazovnoj lekciji o ugnježđenim petljama:

  1. Neka učenici prate koju vrijednost ili iteraciju ima vanjska petlja kao i ono što radi unutarnja petlja. Oni se mogu koristiti papirom i olovkom, tipkama ili nečim drugim dok ih nastavnik vodi kroz kôd. Upamtite da je početna vrijednost za petlje nula, stoga će ovo na prvu, bez sumnje, učiniti stvari malo zbunjujućim za učenike.
  2. Postoji mnogo načina za objasniti ugnježđene petlje. Jedna povezana ideja mogla bi biti nalik deseticama u matematici. Desetica bi bila vanjska petlja, a jedinica bi bila unutarnja petlja, ako se koristiš ovim matematičkim primjerom. Tako će biti deset jedinica za svaku iteraciju vanjske petlje. Ako je potrebno pogledajte ovaj primjer:
  3. 
    basic.forever(() => {
        for (let Tens = 0; Tens <= 9; Tens++) {
            for (let Ones = 0; Ones <= 9; Ones++) {
                if (Ones + 1 < 10) {
                    basic.showNumber(Ones + 1)
                }
            }
            basic.clearScreen()
            basic.pause(500)
            basic.showNumber(Tens + 1)
            basic.showString(" Tens")
        }
    })
          
  4. Pokušajte objasniti koristeći se i primjerima iz stvarnog života, poput pranja zubi. Većina ljudi pere svoje zube tri puta na dan. Vanjska petlja bi predstavljala dane, a unutarnja petlja bi predstavljala svaki put kada perete zube u određenom danu. Vanjska petlja bi se prikazala 7 puta, a unutarnja bi se prikazala 3 puta.
  5. Izazovi i kviz pitanja će voditi učenike kako bi našli odgovore za samo jedan smjer. Na primjer, pitanje će možda glasiti da pokažu zgoditak pomoću LED dioda na desnoj strani. Međutim, ako zanemarite ovu činjenicu, postoje najmanje dva načina da se dođe do odgovarajućeg zgoditka za naš semafor. Lijevo i gornje područje su najočitiji smjerovi na kojima bi se mogao pojaviti zgoditak. Možda ćete htjeti izazvati učenike da pronađu druge načine da dobiju željeni rezultat tako što ćete promijeniti lokaciju na kojoj bi se zgoditak trebao pojaviti. Ovo se od njih traži da naprave u samostalnoj vježbi, stoga bi moglo biti od pomoći da ih pripremite za to. Cjelokupni je cilj omogućiti učenicima da iskuse kako su ove petlje u interakciji jedna s drugom. Koji je bolji način za to od prikupljanja više odgovora na isto pitanje?
  6. Možda želite potpuno ući u temu prikazujući slike stvari za koje ćete postići zgoditke. Organizirajte pravo natjecanje i neka učenici postignu vlastite zgoditke protiv protivnika. Oni potom mogu izmisliti priču kako bi ispričali što se dogodilo na natjecanju ili utakmici u kojoj su postigli zgoditak.

Naše micro:bit lekcije prilagođene su za primjenu znanja dobivenih iz Code.org osnova računalne znanosti (Code.org CS Fundamentals). Prije nego što učenici počnu s ovim lekcijama, potičemo ih da, kao preduvjet, prvo završe sve gradivo iz Osnova računalne znanosti. Učenici bi trebali biti upoznati s petljama iz Code.org osnova računalne znanosti.

Pozadina

Učenicima izrazito preporučujemo da prvo završe sljedeće:

Nastavniku se izrazito preporuča da prvo završi sljedeće:

Vodič za nastavnika

Otvorite

Aktivnost

Ono što ćeš trebati

  • 1 − micro:bit
  • 1 − USB kabel
  • 1 − pakiranje AAA baterija (nije obvezatno)
  • 2 − pakiranje AAA baterija (nije obvezatno)

Dokumentacija

for (let index = 0; index <= 4; index++) {}

for

Pokreni dio programa onoliko puta koliko narediš.

basic.forever(() => {})

forever

Nastavi s pokretanjem dijela programa u pozadini.


let item = 0 
item = 0
            

setItem

Upotrijebi znak jednakosti kako bi varijabla pohranila broj ili 'string' koji si naredio.

led.plot(0, 0)

plot

Upali LED svjetlo za koje si dao naredbu na LED zaslonu.

4 koraka

Vodič za vježbu

Za micro:bit ćemo napraviti online upute ili kôd. Potom, idi na: https://makecode.microbit.org

let Column = 0
let Row = 0
Row = 1
Column = 4
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})

Ovaj kôd ima dvije petlje.

Dvije petlje označavaju ugnježđene petlje. To znači da postoji petlja i unutar nje je druga petlja.

Vanjska petlja predstavlja red LED dioda. U svom trenutnom stanju, kôd će se prikazati 2 puta. (0-1)

Konačno, postoji unutarnja petlja koja predstavlja kolonu LED dioda. U svom trenutnom stanju, kôd će osvijetliti 5 LED dioda u svakom redu. (0-4)

Naš zadatak je da postignemo zgoditak za nešto. Vi odabirete temu i za što postižemo zgoditak! To bi moglo biti bilo kakvo natjecanje, a odabir teme koja se će svidjeti vašim učenicima će sigurno aktivnost učiniti zabavnijom. Neke od ideja su natjecanje u surfanju, igra bejzbola, natjecanje sa psima ili čak natjecanje u pečenju kolača. Micro:bit će biti semafor za rezultate. Svaki zgoditak će biti prikazan brojem LED dioda koje se osvijetle.

Gotov kôd je dostupan ovdje.

Izazovi

Izazov 1

Promijeni rezultat na 9 bodova. Pokušaj prikazati svoj zgoditak što bliže lijevoj strani micro:bita.

Pogledaj kôd

let Column = 0
let Row = 0
Row = 2
Column = 2
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})
          

Gotov kôd je dostupan ovdje.

Izazov 2

Promijeni rezultat na 15 bodova. Pokušaj prikazati svoj zgoditak što bliže lijevoj strani micro:bita.

Pogledaj kôd

let Column = 0
let Row = 0
Row = 4
Column = 2
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})
          

Gotov kôd je dostupan ovdje.

Izazov 3

Promijeni rezultat na 16 bodova.

Pogledaj kôd

let Column = 0
let Row = 0
Row = 3
Column = 3
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})
          

Gotov kôd je dostupan ovdje.

Izazov 4

Prikaži savršeni zgoditak od 25! Sve LED diode bi trebale svijetliti. Pokušaj prikazati svoj zgoditak što bliže lijevoj strani micro:bita.

Pogledaj kôd

let Column = 0
let Row = 0
Row = 4
Column = 4
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})
          

Gotov kôd je dostupan ovdje.

Samostalna vježba

Odaberi zgoditak i reci svom nastavniku svoj cilj prije početka. Pokušaj prikazati ovaj broj na dva različita načina. Možda ćeš trebati napisati svoja rješenja, a nakon što pronađeš oba načina, pozovi nastavnika da mu pokažeš svoj uradak. Organiziraj natjecanje između dvije stvari ili dvoje ljudi i izmisli priču kako bi opravdao svoj zgoditak.

Kviz

Pitanje 1

Koja se stvarna životna situacija uklapa u ugnježđenu petlju?

Prikaži odgovor

Odgovori će varirati. Jedan primjer je pjesma. Stihovi su vanjska petlja, a refren je unutarnja petlja. Pjevaj stihove, a potom refren... ponovi.

Pitanje 2

Je li jednostavno prikazati neparan broj?

Prikaži odgovor

Da. Postoji nekoliko načina. Jedan može biti da se prikaže samo prvi red ili samo prva kolona. To bi bio broj 5.

Pitanje 3

Zašto se upotrebljavaju petlje?

Prikaži odgovor

Petljama se koristi za ponavljanje kôda na jednom određenom mjestu tvog programa