Matematika i micro:bit - 6. razred

Uputa za učitelje

Zbrajamo i oduzimamo cijele brojeve od -9 do 9

Naučimo kako pomoću micro:bita možemo vježbati zbrajanje i oduzimanje cijelih brojeva, kad su zadani brojevi mali, od -9 do 9. Pritiskom lijeve i desne tipke zajedno, u pozadini se (bez prikazivanja na ekranu) generira novi zadatak, odnosno dva broja između -9 i 9 koje će trebati zbrojiti ili oduzeti. Pritom se na ekranu prikaže smješko. Pritiskom na lijevu tipku, ispisuje se zadatak, npr. -9-6. Korisnik tada treba razmisliti koje je rješenje. Pritiskom na desnu tipku, rješenje se ispisuje. Prije nego se ponovo stisnu obje tipke istovremeno, svaka se tipka posebno može stisnuti koliko se puta želi. Pritom lijeva tipka uvijek daje (isti) zadatak, a desna tipka rješenje. Tek pritiskom obje tipke zajedno, u pozadini se generira novi zadatak, a na ekranu pojavljuje smješko.

Korištenje s učenicima

Predmet  Matematika
Razred 6., osnovna škola
Polugodište  2.
Nastavna cjelina Cijeli brojevi
 Tema Zbrajanje i oduzimanje cijelih brojeva od -9 do 9, automatizacija, račun napamet
Ključne riječi cijeli brojevi, zbrajanje, oduzimanje, automatizacija, račun napamet
Ideja i izrada materijala Antonija Horvatek

Učenici pomoću ponuđene datoteke mogu vježbati na razne načine. Jedan je da vježbaju samostalno kod kuće, na način prikazan u videu. Na isti način mogu vježbati i na dopunskoj nastavi, na kojoj obično imamo učenike s različitim teškoćama/potrebama, zbog čega za svakoga posebno treba pripremiti materijale. Učenici koji imaju poteškoća s ovakvim računom, jednostavno i samostalno mogu vježbati pomoći micro:bita. Osim što vježbaju gradivo matematike, time ih ujedno navikavamo na samoprocjenu svog znanja (kroz povratnu informaciju koju micro:bit daje o točnosti rezultata) i na uočavanje da i samostalnim radom (bez učitelja) mogu napredovati. Učenicima koji tako vježbaju, treba preporučiti da, kad dođu do zadatka čije im rješenje nije jasno, pozovu učitelja. Dok učitelj s ostalim učenicima nešto radi, ovaj učenik samostalno vježba s micro:bitom, a kad učitelj dođe do tog učenika, može ga ispitati bez micro:bita.

Na redovnoj nastavi također možemo koristiti micro:bit s danom datotekom. Jedan je način da na kraju sata, na kojem smo zajedno vježbali automatizaciju ovakvih zadataka, napravimo igru/natjecanje između učenika. Učenici će igrati u parovima. Na papiru trebaju napraviti tablicu s dva retka, na početku redaka napisati svoja imena, a zatim naizmjenice rješavati zadatke koje zadaje micro:bit, te u tablicu kod svog imena napisati plus ako je točno riješen zadatak, odnosno minus ako je netočno. Na donjoj slici prikazan je primjer u kojem je Ivan prvi zadatak točno riješio, Marko svoj prvi zadatak netočno, zatim je Ivan drugi zadatak riješio točno, Marko svoj također točno itd. Naravno, zadaci se (zbog dinamike i veće zanimljivosti) rješavaju usmeno – učenik protivnik će paziti je li izgovoreno rješenje točno.

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

Upute za izradu programa

Izradimo program pomoću kojeg možemo vježbati zbrajanje i oduzimanje cijelih brojeva (od -9 do 9).

Usput naučimo: definiranje varijable koja poprima slučajnu vrijednost između -9 i 9 tako da češće bude odabrana negativna vrijednost (posebno će se odabirati predznak, a posebno apsolutna vrijednost), definiranje znakovne varijable čiji će zapis biti jednak vrijednosti brojevne varijable (npr. 7 → “7”), ispis mješovitog zapisa sastavljenog iz brojevnih i znakovnih varijabli, korištenje ugniježđenih  IF-THEN-ELSE naredbi (jedne unutar drugih).

Program treba raditi tako da:

  1. pritiskom tipke A i tipke B istovremeno, ispiše se smješko i slučajnim odabirom se izabiru dva broja između -9 i 9 (ali se tad ne ispisuju). Pritom se negativni brojevi trebaju izabirati češće od pozitivnih,
  2. pritiskom tipke A ispisuje se zadatak, npr. -8 – 9,
  3. pritiskom tipke B ispisuje se rezultat.

Program se izrađuje u MakeCode Editoru, https://makecode.microbit.org/ .

Iz skupine Input izaberemo naredbu on button A pressed, kliknemo na strelicu pokraj A i izaberemo A+B. Sve što ćemo ugnijezditi unutar ove naredbe, izvršit će se kad na micro:bitu istovremeno stisnemo tipke A i B.

Budući da ovdje želimo da se češće pojavljuju negativni brojevi nego pozitivni, naredbu za slučajan odabir broja (pick random) nećemo koristiti na način da se jednostavno izabere broj između -9 i 9, već ćemo posebno izabirati predznak (tako da se minus izabire češće nego plus), a posebno apsolutnu vrijednost od 0 do 9. Tako ćemo učiniti za oba broja koja želimo generirati.

Definiramo varijable pr1, a, pr2 i b. Varijabla pr1 predstavlja predznak, dok varijabla a predstavlja apsolutnu vrijednost prvog broja. Varijable pr2 i b predstavljaju predznak i apsolutnu vrijednost drugog broja. Varijable pr1 i pr2 mogu slučajnim odabirom poprimiti vrijednosti 0, 1 i 2. Ako poprime vrijednost 0, uzet ćemo da je predznak plus, a ako poprime vrijednosti1 ili 2, to će predstavljati predznak minus. Budući da više brojeva predstavlja minus, time će biti osigurano da se češće pojavljuju negativni brojevi nego pozitivni (dvostruko češće).

Sad ćemo unutar bloka on button A+B pressed dodati i naredbe za iscrtavanje smješka, a nakon toga i za pauzu da se smješko kratko zadrži, te nakon toga obriše ekran. Naravno, iscrtavanje smješka može biti realizirano na razne načine; meni se svidio ovaj.

Još ćemo, unutar bloka on button A+B pressed, dodati i definicije varijabli as i bs (što su kratice za “a string” i “b string”) koje će biti znakovi “stringovi” koji sadrže isti zapis kao i varijabla a odnosno b. Npr. ako varijabla a poprimi vrijednost 7, varijabla as će postati string varijabla “7”. Varijable as i bs će nam trebati kasnije, kod ispisa zadatka.

U svrhu definicije takvih varijabli koristit ćemo ASCII tablicu, u kojoj vidimo da se npr. zapis “1” nalazi pod brojem 49, zapis “2” pod brojem 50 itd., otkuda zaključujemo da varijabli/broju treba dodati 48 i očitati znak s tog mjesta. U tu svrhu koristimo naredbe text from char code, kao što se vidi na slici.

Time smo završili kodiranje dijela koji se odnosi na istovremeni pritisak na tipke A i B.

Sad namjestimo da se pritiskom na tipku A ispiše zadatak, npr. -3+4 ili 2-9.

Ovdje ćemo morati koristiti IF-THEN-ELSE naredbe, budući da varijable pr1 i pr2 poprimaju vrijednosti brojeva od 0 do 2, a u ovisnosti o broju ispisuje se plus ili minus. Uz to, ako je prvi predznak plus, njega ne treba niti zapisati (npr. nećemo ispisati +2-9, već 2-9). Isto tako, ako je prva apsolutna vrijednost 0, također nećemo pisati nikakav predznak ispred, bez obzira na vrijednost varijable pr1 (npr. želimo ispis 0-6, a ne -0-6).

Prva IF naredba provjerava je li pr1=0 (što predstavlja početni predznak plus) ili je a=0. U oba ta slučaja ispred prve varijable ne ispisuje se nikakav predznak, već se kreće s ispisivanjem vrijednosti varijable a, odnosno as.

Prva ugniježđena IF naredba (koja se nalazi unutar THEN dijela početne IF naredbe) provjerava drugi predznak, odnosno vrijednost varijable pr2. Ako je pr2=0, to predstavlja predznak plus, te će on i biti ispisan (između varijabli as i bs), a ako nije onda će biti ispisan minus (između varijabli as i bs).

Naredba join spaja nekoliko stringova u jedan string, te će oni biti ispisani putujući jedan za drugim po ekranu.

U dijelu ELSE (od početne/glavne IF naredbe) nalaze se naredbe koje će se izvesti ako pr1 ne bude jednak 0 (što znači da će on predstavljati predznak minus) i ako a nije 0. U tom slučaju će predznak minus trebati biti ispisan. Stoga naredbe za ispis unutar tog ELSE dijela počinju s “-“. Ugniježđena IF-THEN-ELSE  naredba unutar toga opet provjerava što je s pr2, te ovisno o njegovoj vrijednosti ispisuje plus ili minus (između varijabli  as i bs).

Pitiskom na tipku B treba se ispisati rezultat.

Želimo da se rezultat ispisuje uvijek u istom stilu.

Koje stilove uopće micro:bit koristi?

Eksperimentiranjem možemo zaključiti:

  • broj 3 se ispisuje tako da se jednostavno pokaže na ekranu i ostane na njemu sve dok se nešto drugo ne treba pojaviti. Na taj se način ispisuju svi jednoznamenkasti brojevi (pozitivni).
  • Brojevi s višeznakovnim zapisom (višeznamenkasti brojevi, kao i negativni brojevi, npr. 124 ili -7) putuju po ekranu znak po znak, te na kraju ostaje vidljiva zadnja znamenka, ona se ne obriše. Dakle, u slučaju 124 na kraju ostaje vidljiv 4, a u slučaju
    -7 ostaje 7.
  • Ako se ispisuje string npr. “MODA”, slova jedno po jedno putuju po ekranu, i na kraju nestanu sva, uključujući i zadnje slovo A.

Napravit ćemo da se na zadnji opisani način ispisuje rezultat, dakle kao “string”. Time ćemo postići isti stil kod svih rezultata, a to će ujedno biti isti stil kojim je, pritiskom na tipku A, ispisan i zadatak.

Prvo ćemo unutar on button B pressed naredbe definirati izračunavanje varijable rez, koja će predstavljati rezultat računa koji se prikazuje pritiskom na tipku A.

Prvom IF-THEN-ELSE naredbom definiramo varijablu a1 koja postaje:

  • jednaka varijabli a u slučaju ako je pr1=0 (tj. ako je prvi predznak pozitivan),
  • odnosno jednaka -a ako pr1 nije jednak nuli (tj. ako je prvi predznak negativan).

Slično definiramo i varijablu b1, u ovisnosti o varijablama pr2 i b.

Konačno, varijablu rez definiramo kao a1+b1, dakle rez= a1+b1.

Ujedno definiramo i varijablu absrez kao apsolutnu vrijednost varijable rez.

Sad treba ispisati vrijednost varijable rez, ali tako da se ispiše kao string varijabla.

Ako je rez negativan, morat ćemo ispisati prvo “-“, a zatim apsolutnu vrijednost. Ako je rez pozitivan, onda nema ispisivanja nikakvog predznaka. Za ispitivanje i pravovaljani ispis koristi ćemo IF-THEN-ELSE naredbu.

No, ovdje imamo još jednu “komplikaciju”. Naime, vidjeli smo gore da broj pretvaramo u string tako da broju dodamo 48 i na to primijenimo naredbu text from char code. To vrijedi za jednoznamenkaste brojeve. Prije smo imali upravo takve, međutim ovdje rezultat može biti i dvoznamenkast, rez može poprimiti vrijednosti od -18 do 18. Stoga, u slučaju kad je rez dvoznamenkast (što ispitujemo sa IF apsrez<10), trebat će ispisati prvo znamenku “1”, a zatim od apsrez oduzeti 10 (da nam ostane samo druga znamenka), te njoj dodati 48 i primijeniti naredbu text from char code. Naravno, umjesto oduzimanja broja 10 i zatim dodavanja broja 48, to ćemo skratiti na dodavanje broja 38.

Ugniježđeni niz upravo opisanih naredbi izgleda ovako:

Sve što se treba dogoditi pritskom na tipku B prikazano je ovdje:

Time smo iskodirali sve željeno.

Sveukupni izrađeni program izgleda ovako:

Uživajte u učenju s micro:bitom! 🙂

Isprobaj i preuzmi

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.