Geografija i micro:bit - 5. razred

Uputa za učitelje

Vremenske zone

Izradite program pomoću kojeg možemo izračunati koliko je sati u nekom od poznatih svjetskih gradova, ako znamo koliko je sati kod nas.

Program treba raditi tako da na početku postavlja pitanje Koliko je sati?, a brojčanik postavlja na 0. Pritiskom na tipke A i B podešavamo koliko je sati kod nas, izraženo u 24-satnom prikazu. Namještamo samo puni sat, dok se minute u ovom programu zanemaruju. One su ionako u velikom broju slučajeva iste kao kod nas. Tipkom A se pomičemo jedan sat unatrag, a tipkom B za jedan sat naprijed. Kad protresemo micro:bit, pokazat će nam koliko smo sati namjestili. Istovremenim pritiskom na tipke A i B prikazuje se koliko je sati u Zagrebu, Moskvi, Londonu, Tokiju, New Yorku i Los Angelesu.

Korištenje s učenicima

Predmet Geografija
Razred 5., osnovna škola
Polugodište 1.
Nastavna cjelina Zemlja se giba
 Tema Koliko je sati?
Ključne riječi pojasno vrijeme, vremenska zona
Ideja i izrada materijala Aleksandra Žufić

Nakon obrade ove nastavne teme učenici trebaju samostalno pomoću karte vremenskih  pojasa odrediti koliko je sati u određenim gradovima, ako je zadano koliko je sati kod nas. Pomoću micro:bita mogu provjeriti jesu li zadatak uspješno riješili.

Dodatno im se može zadati da isprogramiraju micro:bit za neke druge gradove iz drugih vremenskih zona. Pritom treba izbjegavati zadavanje gradova kojima se vemenska razlika ne može izraziti kao cijeli broj sati (npr. iz Indije ili Nepala).

Učenici pomoću ponuđene datoteke mogu vježbati i provjeravati usvojenost gradiva:

  • na redovnoj nastavi na kraju sata, nakon obrađenog nastavnog sadržaja.
  • kod kuće.
  • na dopunskoj / dodatnoj nastavi (ako je imate).

U nastavku pogledajte upute za izradu programa ili ga odmah isprobajte i preuzmite.

Upute za izradu programa

Uvod

Izradimo program pomoću kojeg možemo izračunati koliko je sati u nekom od poznatih svjetskih gradova, ako znamo koliko je sati kod nas. Program se izrađuje u editoru na poveznici https://makecode.microbit.org/ .

  1. Na početku se postavlja pitanje “Koliko je sati?”
  2. Pritiskom na tipke A i B podešavamo sat. Namještamo samo puni sat, dok se minute u ovom primjeru zanemaruju. Tipkom A se pomičemo jedan sat unatrag, a tipkom B za jedan sat naprijed.
  3. Kad protresemo micro:bit, pokazat će koliko smo sati namjestili.
  4. Istovremenim pritiskom na tipke A i B prikazuje se koliko je sati u Zagrebu, Moskvi, Londonu, Tokiju, New Yorku i Los Angelesu.

Korak 1

Iz odjeljka Basic izaberemo naredbu on start.

U nju ćemo staviti naredbe koje želimo da se odrade na početku programa. U ovom dijelu programa želimo da se postavi pitanje Koliko je sati? i da se resetira sat.

Zato prvo iz odjeljka Basic odabiremo naredbu show string Hello.

Tu naredbu ćemo umetnuti u on start, a tekst promijeniti u Koliko je sati.

Korak 2

Želimo da na micro:bitu možemo zapisati naš odgovor. Njega treba nekako zapamtiti. Za to služe varijable. Varijabla je prostor u memoriji, poput kutijice, u koji se sprema podatak, u ovom slučaju odabrani broj. Svaka varijabla mora imati svoje jedinstveno ime. Neka se naša varijabla koja će pamtiti koliko je sati kod nas zove sat.

Prvo iz odjeljka Variables odabiremo make variable.

Otvorit će se dijaloški okvir za upis imena varijable. Napišimo sat i kliknimo na gumb ok.

Korak 3

Na isti način napravimo i varijable koje će pamtiti vrijeme u pojedinom gradu, a koje ćemo iskoristiti kasnije. Nazovimo ih London, Moskva, Tokyo, NewYork i LosAngeles. Preporučljivo je da nazivi varijabli budu jedna riječ, pa smo NewYork i LosAngeles napisali bez razmaka. Također treba izbjegavati korištenje slova čćđšž u nazivima varijabli.

Potom u varijablu sat treba upisati broj 0, što znači da krećemo s podešavanjem sata od ponoći.

Iz odjeljka Variables odaberimo naredbu set item to 0.

Stavimo je u naredbu on start i promijenimo ime item u sat.

Korak 4

Potom to treba i prikazati. Iz odjeljka Basic odaberimo naredbu show number 0 i umetnimo je ispod naredbe set sat to 0.

Iz odjeljka Variables odaberimo varijablu sat.

Umetnimo je umjesto 0 u naredbi show number 0.

Korak 5

Pritiskom na tipke A i B trebamo namjestiti sat. Tipkom A pomičemo se za jedan sat unatrag, a tipkom B unaprijed. Namještat ćemo samo pune sate u 24-satnom vremenu.

Iz odjeljka Input odabiremo naredbu on button A pressed.

Korak 6

Iz odjeljka Variables odabiremo naredbu change item by 0 i stavljamo je unutar on button A pressed. Mijenjamo naziv item u sat, a umjesto 0 upisujemo -1. Tako ćemo postići da se varijabla sat smanjuje pritiskom na tipku A.

Korak 7

Znamo da je sat prije ponoći, koja je 0 sati, vrijeme 23 sata, a ne -1 sat, pa se moramo osigurati da i ovaj naš brojčanik ima takve vrijednosti. To ćemo postići tako da ako varijabla sat poprimi negativnu vrijednost, njenu vrijednost postavimo na 23. Za to trebamo iz odjeljka Logic odabrati naredbu if true – then.

Potom iz istog odjeljka Logic odabiremo naredbu 0 < 0 i stavljamo je umjesto true. Iz odjeljka Variables odabiremo varijablu sat i stavljamo je umjesto lijeve 0.

Korak 8

Pod Then ćemo iz odjeljka Variables dovući naredbu set item to 0. Ime varijable item ćemo promijeniti u sat, a umjesto 0 ćemo napisati 23.

Još samo treba prikazati koliko smo sati namjestili. Za o ćemo iz odjeljka Basic dovući naredbu show number 0 i ubaciti je nakon naredbe if – then. Umjesto 0 za prikaz ćemo iz odjeljka Variables umetnuti varijablu sat.

Cijeli dio programa za pritisak na tipku A izgleda ovako:

Korak 9

Na isti način ćemo isprogramirati i događanja pri pritisku na tipku B. Varijablu sat ćemo povećavati za 1. Ovdje treba paziti da vrijednost varijable sat ne može biti veća od 23, tada je treba postaviti na 0. Cijela naredba  on button B pressed izgleda ovako:

Korak 10

Kad protresemo micro:bit, on treba prikazati koliko smo sati namjestili.

Iz odjeljka Input odabiremo naredbu on shake. Sve što stavimo unutar te naredbe izvršit će se kad protresemo micro:bit.

U ovom programu, treba se prikazati vrijednost varijable sat. Za to ćemo iz odjeljka Basic dovući naredbu show number 0 i ubaciti je unutar on shake. Umjesto 0 za prikaz ćemo iz odjeljka Variables umetnuti varijablu sat i to je sve.

Korak 11

Potom ćemo isprogramirati što se događa kad pritisnemo obje tipke istovremeno. Želimo da nam prikaže koliko je sati u nekoliko gradova na svijetu: Zagreb, London, Moskva, Tokyo, New York i Los Angeles.

Iz odjeljka Input odaberimo naredbu on button A pressed  pa promijenimo A u A+B.

Prvo ćemo prikazati koliko je sati u Zagrebu. Pošto je cijela Hrvatska u istoj vremenskoj zoni, to će vrijeme biti isto kao ono koje smo namjestili. Dakle, trebaju nam naredbe za prikaz znakovnog niza Zagreb i za prikaz vrijednosti varijable sat.

Korak 12

Potom pristupamo izračunavanju koliko je sati u drugim gradovima. To ćemo napraviti tako da dodajemo ili oduzimamo potreban broj sati vremenske razlike od vrijednosti varijable sat. Podatke u kojoj se vremenskoj zoni nalaze određeni gradovi možemo naći u atlasu na karti vremenskih zona ili na Internetu. Jedna od odličnih stranica je https://www.timeanddate.com/worldclock/ .

Prilikom tih izračuna može nam se dogoditi da vrijednost varijable sat postane veća od 23 ili manja od 0. Zato nije uputno odmah prikazati izračunatu vrijednost, nego treba računanje prilagoditi tako da uvijek pokazuje prikladnu vrijednost.

Da ne bismo nepotrebno komplicirali program, prvo ćemo na varijablu sat dodati 24. To ćemo napraviti samo jednom i to uporabom naredbe change item by 0 iz odjeljka Variables. U njoj ćemo item zamijeniti sa sat, a broj 0 ćemo pretvoriti u 24.

Potom ćemo prikazati ime odabranog grada. Neka nam prvi prikazani grad bude London. Preporučljivo je ispred imena grada dodati 2 razmaka radi bolje čitljivosti.

Korak 13

Zatim ćemo izračunati pojasno vrijeme tog grada tako da varijabli sat dodamo ili oduzmemo odgovarajuću vremensku razliku. Pošto ta vrijednost često premašuje broj 23, stvarnu vrijednost ćemo dobiti kao ostatak pri dijeljenju s 24.

Iz odjeljka Variables odabiremo naredbu set item to 0. Naziv item mijenjamo, u ovom slučaju, u naziv London. Ako još nemamo varijablu London, treba je napraviti.

Umjesto broja 0 treba umetnuti naredbu remainder of 0 ÷ 1 iz odjeljka Math, pododjeljka More.

Korak 14

U toj naredbi treba umjesto broja 1 napisati broj 24, a umjesto broja 0 staviti naredbu za oduzimanje iz odjeljka Math.

Oduzimanje je potrebno zato što je London zapadno od nas, pa se vremenska razlika oduzima. Kod gradova koji su istočno od nas, koristit ćemo naredbu zbrajanja.

U naredbi oduzimanja treba lijevi broj 0 zamijeniti varijablom sat iz odjeljka Variables, a desni broj 0 brojem 1, jer je između Zagreba i Londona vremenska razlika 1 sat.

Cijela naredba izgleda ovako:

Korak 15

Potom treba ispisati vrijednost varijable London, što ćemo učiniti korištenjem naredbe show number 0 iz odjeljka Osnovno te umetanja varijable London iz odjeljka Variables umjesto broja 0.

Cijeli dio programa za prikaz koliko je sati u Londonu izgled ovako:

Korak 16

Na isti način ćemo napraviti i prikaze koliko je sati u drugim gradovima. Obratimo posebnu pozornost na to kolika je vremenska razlika i treba li je dodavati ili oduzimati.

Moskva ima vremensku razliku +2 spram nas.

Tokyo ima vremensku razliku +8 spram nas.

New York ima vremensku razliku -6 spram nas.

Los Angeles ima vremensku razliku -9 spram nas.

Gotov program

Za one koje žele znati više

Lako možemo primijetiti da prikaz sati u drugim gradovima na micro:bitu ne teče glatko kad se radi o jednoznamenkastim brojevima. To je stoga što naredba show number prikazuje statične brojeve kad se radi o jednoznamenkastom broju, a pomiče ih kad broj ima više od jedne znamenke.

Ako želimo da se i jednoznamenkasti brojevi pomiču, trebalo bi broj pretvoriti u znakovni niz i dodati ga na naziv grada, kao da slažemo rečenicu. To ne možemo učiniti koristeći blokove, jer nema odgovarajuće blokovske naredbe, ali možemo ako ih natipkamo u JavaSciptu. U tu svrhu prvo odabiremo JavaScript oblik prikaza pomoću gumba na vrhu ekrana.

Dosad složene blokovske naredbe proizvele su ovakav dio koda u naredbi on button A+B pressed:

Ako želimo glatko pomicanje u svim slučajevima, taj dio treba izgledati ovako:

Vidimo da se preračunavanje vremenske razlike nije mijenjalo. Ostala je i naredba basic.showString koja služi za prikaz znakovnih nizova. Zamijetimo da nema više naredbe basic.showNumber jer ne prikazujemo brojeve. Varijabla koja sadrži broj pretvorena je u znakovni niz pomoću metode toString() pa smo je mogli pridodati nazivu grada i sve zajedno prikazati kao znakovni niz koji se lijepo pomiče preko ekrana.

Kako to izgleda u blokovima možemo pogledati klikom na gumb Blokovi na vrhu ekrana.

Dio programa koji će se izvršiti kad istovremeno pritisnemo gumbe A i B sad izgleda ovako:

Sivi blokovi poput sat.toString() ili London.toString() označavaju naredbe koje postoje u JavaScriptu, ali ne postoje u blokovskom prikazu. Micro:bit je pun iznenađenja, zar ne?

Isprobaj i preuzmi

Link za preuzimanje hex. datoteke s gotovim programom za micro:bit je ovdje.

Link za preuzimanje hex. datoteke s gotovim programom za micro:bit je ovdje.

Nešto vam nije jasno u programu? Pogledajte u našim uputama što vas zanima.