Tečaj F ‒ Kondicionali 1 ‒ Kondicionali s prognozom vremena

U ovoj ćeš se lekciji upoznati s najosnovnijim alatom za donošenje odluka u programiranju.

  • Computer-science
  • Conditionals
Print lesson
  • Starosna dob 10+
  • 65+ minute
  • Javascript Blocks

Uvod

U ovoj ćeš se lekciji upoznati s najosnovnijim alatom za donošenje odluka u programiranju. Naredbe 'if' nam omogućuju da donosimo odluke na temelju naših podataka.

U mnogim slučajevima mogli bismo usporediti dva broja ili 'stringa' (riječi). Potom, ovisno o tome što pronalazimo, možemo učiniti to da naš program reagira na inteligentan način.

Kada sagledamo izvana, u našem stvarnom životu svakodnevno donosimo 'if then' odluke. Vrijeme određuje što ćemo obući i što ćemo raditi. Ako je vjetrovito tada možemo obući laganu jaknu ili puštati zmaja. Ako izgleda kao da će kiša mogli bismo uzeti kišobran. U ovoj se lekciji koriste stvarni primjeri za vremensku prognozu za eksperimentiranje s logičkim blokom 'if...then...else'.

Prva lekcija dopušta dvije situacije, ali druga ih lekcija dopušta više. Logički blokovi 'If...then...else' mogu biti prošireni tako da se bave beskonačnim brojem situacija. Slobodno se koristi opremom u logičkom bloku 'If...then...else' za proširenje mogućnosti.

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 kondicionalima iz Code.org osnova računalne znanosti.

Vodič za nastavnika

Otvorite

Aktivnost

Ono što ćeš trebati

  • 1 − micro:bit
  • 1 − USB kabel
  • 1 − pakiranje AAA baterija (opcionalno)
  • 2 − AAA baterije (opcionalno)

Dokumentacija

if (true) { 

} else if (false) { 

} else { 

}

if

Uvjetno pokreni kkôd s ovisno o tome je li Booleov uvjet istinit ('true') ili netočan ('false').


let item = 0 
item = 0
            

setItem

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

let item = Math.random(5)

random

Vrati pseudoslučajni broj između 0 i ograničenja

basic.showIcon(IconNames.Heart)

showIcon

Prikazuje odabranu ikonu na LED zaslonu

basic.showString("Hello!")

showString

Prikaži broj na LED zaslonu. On će kliziti lijevo po ekranu, ako je veći od njega.

input.onButtonPressed(Button.A, () => {})

onButtonPressed

Pokreni upravljač događajima 'event handler' (dio programa koji će se pokrenuti kada se nešto dogodi, kao kada je pritisnuta tipka).

4 koraka

Vodič za vježbu

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


let Random_Weather = 0 
input.onButtonPressed(Button.A, () => {     
    Random_Weather = Math.random(2)     
    if (Random_Weather == 0) {         
        basic.showString("Raining")     
    } else {           
        basic.showString("Play Outside!")     
    }     
    SmoothOut_Animation() 
}) 
function SmoothOut_Animation() {     
    basic.pause(1000)     
    basic.clearScreen() 
}
        

Micro:bit može predvidjeti vrijeme!

Kada se pritisne tipka A odabran je slučajan broj. Broj je 0 ili 1.

Ako je broj 0 to znači da pada kiša.

Ako je broj 1 onda ne pada kiša i trebali bismo se ići vani igrati.

NAPOMENA: Neiskorišteni blokovi na dnu kôda su namijenjeni za upotrebu u izazovima.

Gotov kôd je dostupan ovdje.

Izazovi

Izazov 1

Možeš li dodati više animacija kako bi rezultat (output) o padanju kiše bio značajniji?

Trik: Koristi se ikonom kišobrana. Također bi trebao pokušati upotrijebiti ikonu klizaljke.

Pogledaj kôd

let Random_Weather = 0 
input.onButtonPressed(Button.A, () => {
     Random_Weather = Math.random(2)
     if (Random_Weather == 0) {
         basic.showString("Raining")                                                                                                            basic.showIcon(IconNames.Umbrella)
     } else {
         basic.showString("Play Outside!")       
         basic.showIcon(IconNames.Rollerskate)
     }
     SmoothOut_Animation()
 })
 function SmoothOut_Animation() {
     basic.pause(1000)
     basic.clearScreen() 
}
          

Gotov kôd je dostupan ovdje.

Izazov 2

Promijeni naredbu 'if' da bi predvidio hoće li biti sunčano / toplo? Dodaj riječi, ikone, prikaži LED diode kako bi snimio slike...

Trik: Trebat ćeš promijeniti unutrašnji sadržaj bloka 'if...then...else'. Nema potrebe mijenjati brojeve ili bilo uključeno u Random_Weather

Pogledaj kôd

let Random_Weather = 0
input.onButtonPressed(Button.A, () => {
     Random_Weather = Math.random(2)
     if (Random_Weather == 0) {
     basic.showString("Sunny / Warm"
basic.showIcon(IconNames.TShirt)
     } else {
         basic.showString("Play Outside!")
basic.showIcon(IconNames.Rollerskate)
     }
     SmoothOut_Animation() 
}) 
function SmoothOut_Animation() {
     basic.pause(1000)
     basic.clearScreen()
 }
          

Gotov kôd je dostupan ovdje.

Izazov 3

Promijeni naredbu 'if' da bi predvidio hoće li sniježiti / biti hladno? Dodaj riječi, ikone, prikaži LED diode kako bi snimio slike...

Pogledaj kôd

let Random_Weather = 0
input.onButtonPressed(Button.A, () => {
    Random_Weather = Math.random(2)
    if (Random_Weather == 0) {
        basic.showString("Snowy / Cold")
        basic.showIcon(IconNames.Chessboard)
    } else {
        basic.showString("Play Outside!")
        basic.showIcon(IconNames.Rollerskate)
    }
    SmoothOut_Animation()
})
function SmoothOut_Animation()  {
    basic.pause(1000)
    basic.clearScreen()
}
          

Gotov kôd je dostupan ovdje.

Samostalna vježba

Ponovno predvidi prognozu vremena. Napiši kôd koji predviđa nešto ili donosi odluku. Budi spreman ispričati priču o svom kôdu. Preimenuj Random_Weather i druge riječi za povezivanje s tvojom temom.

Primjer ‒ Mogao bi predvidjeti svoj budući posao ili bi mogao donijeti odluku o odlasku u šoping ili čitanju knjige. Mogućnosti su beskrajne.

Kviz

Koristi se ovim pitanjima kako bi razmotrio aktivnost i izazove.

Pitanje 1

U kojoj bismo još situaciji u stvarnom životu, o kojoj još nismo razgovarali, mogli upotrijebiti naredbu 'if...then...else' za donošenje odluke?

Prikaži odgovor

Odgovori će varirati, ali... primjer ‒ Ako (If) je nastavnik ljutit tada (then) se utišaj, u suprotnom (else) pričaj

Pitanje 2

Što prikazuje kôd u nastavku?


Set DONUTS to 12

if DONUTS > 20 then
   show string "SHARE"
else
   show string "EAT ALONE"
        
Prikaži odgovor

Kôd prikazuje "EAT ALONE"

Pitanje 3

Dovrši ovu naredbu 'if'


If I_AM_HUNGRY THEN
   your_answer
else
   your_answer
        
Prikaži odgovor

Odgovori će varirati, na primjer:


If I_AM_HUNGRY THEN
   show string "I eat food"
else
   show string "I don't eat"