CTK_logo_web_STEM
+387 (0) 63 282 733
ctk.mostar@gmail.com
Facebook
Instagram
  • Početna
  • Novosti
  • STEAM aktivnosti
  • Radionice za djecu i odrasle
    • Raspored radionica
  • O nama
  • Kontakt
  • Digitalno društvo

Programirajmo uz SCRATCH

March 31, 2020Novosti, ZnanostiLucija Zubac

Jedna od najpopularnijih i najkorisnijih vještina danas je programiranje. Tu vještinu lagano je usvojiti, a učenje programiranja može biti vrlo zabavno. U CTK takvo programiranje za djecu postoji već godinama kroz redovne tjedne radionice, no zbog nove situacije kojoj se svi moramo prilagoditi kako bi spasili svijet, sa redovnim radionicama u Centru smo stali, ali zato u tekstu donosimo kako možete naučiti programirati od kuće pomoću najpopularnijeg programskog jezika za djecu- SCRATCH-a.

PRVI DIO: GDJE POČETI SA SCRATCH-EM?

Učenje programiranja pomoću Scratcha -Prvi dio- Kretanje sa Scratchem

Sve što trebate je računalo, internet veza i dobra volja. Za početak treba otići na web stranicu www.scratch.mit.edu i registrirati se. Preporučujemo da se registrirate kako biste kasnije mogli lako pristupiti vašim kreacijama (projektima) te nastaviti gdje ste zadnji put stali.

Ucenje programiranja pomocu Scratcha - Registrirajte se na Scratch
Da bi krenuli sa Scratch-om, samo kliknite “Registriraj se” gumb.

Nakon registracije, kliknite na Kreirajte gore lijevo i zabava može početi! Čestitamo! Upravo ste ušli u editor u kojem ćete provoditi većinu vremena. Na prvi pogled može izgledati komplicirano, ali ne brinite, u nastavku ćemo vam objasniti osnovne koncepte koji će vam pomoći da se lakše snađete.

DIJELOVI EDITORA

Editor u Scratchu se sastoji od tri dijela: 1) Ekran za izvršavanje koda 2) Skripte 3) Područje za programiranje.

Ucenje programiranja pomocu Scratcha - Dijelovi ekrana
Ekran možemo podijeliti na 3 dijela: Skripte s lijeve strane, Područje za programiranje u sredini i Ekran za izvršavanje koda s desne strane ekrana.
1) EKRAN ZA IZVRŠAVANJE KODA

U ovom dijelu ćete vidjeti kako se vaš kod izvršava, odnosno što ste do sada isprogramirali. Tu ćete testirati svoj kod da vidite radi li ono što ste naumili. Na vrhu se nalazi zelena zastavica koja služi za pokretanje koda (programa) i crveni kružić za zaustavljanje. Dobar savjet je da svaki put kada napravite promjenu, kliknete na zastavicu da vidite kako ta promjena utječe na program. Vjerujte, program se neće uvijek ponašati kako ste zamislili (ne ponaša se niti najvećim ekspertima) i testiranje nakon svake promjene je potrebno kako biste lakše uočili i ispravili pogrešku. Zaključno, zelena zastavica – vaš najbolji prijatelj!

Ispod ekrana za izvršavanje koda se nalaze dva podekrana: a) pozornica i b) likovi.

  1. Pozornica – tu birate pozadinu vašeg programa, u bazi već postoji veliki broj pozadina, a možete ubaciti i vlastitu sliku.
  2. Likovi – tu birate lika, odnosno objekt koji će nešto raditi na pozadini. Isto tako, postoji već veliki broj ponuđenih, a možete i sami ubaciti svoj lik.

Važno je napomenuti da svaki lik i pozadina koju ste izabrali ima vlastito područje za programiranje gdje ćete unositi kod koji se odnosi baš na taj lik ili pozadinu. Znači, ako želite da se nešto događa s pozadinom, selektirate pozadinu i onda u području za programiranje ubacujete kod. Želite programirati lik? Selektirate njega i onda desno ubacujete kod.

 

2) SKRIPTE

Tu se nalaze sve funkcije ili skripte koje nam služe za programiranje. Baziraju se na drag and drop principu gdje željenu skriptu prevučemo na desni dio ekrana, u područje za programiranje, i skripta kreće s izvršavanjem.

Ovaj ekran je sastavljen od tri dijela: a) Skripte b) Kostimi ili pozadine c) Zvukovi.

  1. Skripte – kao što smo već spomenuli, najvažniji dio pomoću kojega ćete programirati što se događa. Neke funkcije nisu dostupne, ovisno da li vam je selektiran lik ili pozadina (npr. pozadina se ne može kretati pa nema ništa pod dijelom za kretanje). U početku preporučujemo da se najviše bazirate na liku, tako da budite sigurni da vam je lik selektiran. Kao što vidite, mnogo je skripti, ali za početak će vam najkorisniji biti događaji (okidači koji pokreću kod), kretanja (funkcije za kretanje lika), izgled (omogućuje da lik nešto kaže ili da dođe do neke vizualne promjene). Za početak, preporučujemo da se bazirate na te tri kategorije skripti i polako eksperimentirate s ostalim kategorijama.
  2. Kostimi/pozadine – ovaj dio služi za dodatnu grafičku doradu vašeg lika ili pozadine. Služi kao editor slika i tu možete mijenjati boje, veličinu, rotirati itd. kao u nekom od programa za obradu slika.
  3. Zvukovi – ovdje možete snimati vlastiti zvuk, ili odabrati već neki postojeći te ga ubaciti u vaš program.
3) PODRUČJE ZA PROGRAMIRANJE

Desni dio ekrana i najvažniji dio u koji ćete ubacivati željene funkcije koje se kasnije izvršavaju. Kako smo već spomenuli, programiranje u Scratchu se bazira na drag and drop principu i na ovaj dio stavljate sve skripte. Isto tako, skripte su poput puzzle-a te ih međusobno spajate na ovom dijelu ekrana. Kao niti puzzle, ne možemo spojiti ni sve skripte međusobno. Na sreću, postoje vizualni pokazatelji koji nam pomažu da vidimo što se može spojiti, a što ne. Eksperimentirajte s različitim skriptama i vidite što ćete dobiti, vrlo je zabavno!

DRUGI DIO: VARIJABLE I PETLJE

Učenje programiranja pomoću Scratcha -Drugi dio- Variable i Petlje

Što su to varijable i petlje u programiranju? Zašto ih koristiti i treba li ih uopće koristiti? Odgovorit ćemo na ova pitanja i pokazati vam kako pomoću Scratcha efikasnije napisati programski kod i učiti programirati. Nastavimo sa zabavnim programiranjem u drugom dijelu ovog vodiča za učenje programiranja pomoću Scratch-a.

OBJAŠNJENJE VARIJABLI

Varijable su vam najvjerojatnije poznate iz matematike, kao neke X i Y vrijednosti. One zapravo predstavljaju imena nekih vrijednost koje variraju, odnosno mogu se mijenjati.

Kod programiranja je vrlo slično. Varijable možemo zamisliti kao kutije u koje nešto spremamo. U tu kutiju možemo nešto staviti, izvaditi i staviti nešto drugo. Tako i u programiranju, u varijablu spremimo neku vrijednost, a možemo ju i promijeniti i spremiti neku drugu vrijednost. Te vrijednosti poslije možemo naći i “dozvati” pomoću njihovog imena – imena koje smo dali varijabli.

Uzmimo primjer iz stvarnog života. zamislite prodavača jabuka na tržnici koji viče prolaznicima “Kupite jabuke! Još samo deset i nestalo! U ovom slučaju količina jabuka je varijabla koja se mijenja ovisno o tome koliko kila jabuka je ostalo. Nakon što prodavač proda jednu jabuku, varijabla se mijenja i on nastavlja vikati “Kupite jabuke! Još samo devet i nestalo!”

OBJAŠNJENJE PETLJI

Petlje su jako korisne, kako u programiranju, tako i u stvarnom životu kada više puta ponavljamo identičnu radnju.

Petlje se sastoje od tri dijela:

  1. Početno stanje – vrijednost, ili bolje rečeno varijabla, koju zadajemo kao početnu vrijednost.
  2. Uvjet – predstavlja uvjet o kojem ovisi koliko dugo će se petlja izvršavati.
  3. Promjena vrijednosti početnog stanja – početno stanje moramo promijeniti kako bismo prekinuli petlju, inače će se ona izvršavati u beskonačnost ili u slučaju programa, dok se ne sruši. Taj fenomen je vrlo česti bug (greška) u programima i naziva se beskonačna petlja (infinite loop).
Jednostavna Petlja napravljena u Scratchu
Jednostavan primjer petlje gdje će ona stati kada brojač dođe do broja 6.

Hajdemo vidjeti na našem primjeru prodavača jabuka. Znamo da je došao na tržnicu s određenim brojem jabuka. Žena mu je rekla da se ne vraća kući dok ne proda sve jabuke.

U ovom slučaju, broj jabuka je početno stanje, a uvjet je da mora prodati sve jabuke. Svaki put kada proda jabuke dolazi do promjene vrijednosti početnog stanja. Početna vrijednost je 10 jabuka i on će ponavljati istu radnju (privlačiti kupce, vagati jabuke, pakirati ih u vrećicu, naplaćivati) sve dok ne dođe do 0 jabuka. Tada se radnja prekida i on izlazi iz petlje i konačno može kući.

Pri samoj pomisli na repetitivne radnje (petlje), gotovo svakom čovjeku pada mrak na oči. Ali za razliku od ljudi, računala ih obožavaju i odlična su u njima! Baš iz tog razloga su varijable i petlje korisne, jer nama štede ogromnu količinu vremena, a računalu je svejedno – ono ih odradi za par milisekundi.

Sada kada ste obogatili svoje znanje varijablama i petljama, spremni ste da ih iskoristite kako biste imali više vremena za druge zadatke. S ovim znanjem već možete isprogramirati zanimljive stvari i impresionirati prijatelje. Jedva čekamo da vidimo što ste vi napravili!

TREĆI DIO: FUNKCIJE

Učenje programiranja pomoću Scratcha -Treći dio- Funkcije

Sjećate li se funkcija iz srednjoškolskih dana? Vjerujemo da i vama, kao i većini ljudi nisu ostale u najboljem sjećanju. Unatoč tome, pokazat ćemo vam kako su funkcije u programiranju izuzetno korisne i kako vam mogu uvelike olakšati i ubrzati posao.

KAKO FUNKCIONIRAJU FUNKCIJE?

Zamislite da dolazite u prodavaonicu sa sendvičima i želite naručiti sendvič s tunom i rajčicom. Kažete prodavaču “Tuna i rajčica” i za par minuta, on vam donosi sendvič s tunom i rajčicom.

Da računalo priprema taj sendvič i da naručite na isti način dobili biste, doslovno, samo tunu i rajčicu.

To je zato što ljudi imaju sposobnost apstraktnog razmišljanja i znaju zaključiti što vi zapravo želite. S druge strane, računala su doslovna i napravit će samo ono što mu kažete da napravi.

Iz tog razloga, ako želite da vam računalo napravi sendvič, morate mu doslovno reći sve korake: “uzmi kruh, uzmi nož, odreži jednu šnitu kruha, uzmi odrezanu šnitu i na nju stavi tunu, na tunu stavi rajčicu…” i tako dalje dok mu ne kažete sve korake koji su potrebni za pripravak sendviča.

KORIŠTENJE FUNKCIJA

Kada bismo morali svaki put kada nešto želimo (npr. umjesto tune želimo piletinu) pisati kod za kompletan postupak, to bi vrlo brzo postalo prenaporno i ne bi nam dugo trebalo da odustanemo od bilo kakvih pokušaja programiranja. Sva sreća što postoje Funkcije. Funkcije nam služe da grupiramo programski kod koji onda možemo iznova koristiti mijenjajući samo određene dijelove.

Scratch, kao i svi ostali programski jezici dolaze s već puno definiranih funkcija koje koristimo bez potrebe da znamo kako su one definirane. Npr. ako uzmemo funkciju “govori” u Scratchu i u nju ubacimo “Lijep je dan”, nas ne zanima kako je ta funkcija “govori” definirana, važan nam je samo rezultat, tj. to da će ona ispisati “Lijep je dan”.
“Lijep je dan” u spomenutom primjeru naziva se argument. On predstavlja varijabilni dio funkcije – mijenja se ovisno o našem inputu. Argument (jedan ili više njih) “dajemo” funkciji u trenutku kad je izvršavamo (zovemo).

DEFINIRANJE VLASTITIH FUNKCIJA

Ipak, u većini slučajeva ne postoje već unaprijed definirane funkcije za ono što želimo, već ih moramo sami definirati. Kao u slučaju našeg sendviča. Ako želimo da računalu, kao i čovjeku, možemo samo reći “tuna i rajčica” i da nam on napravi sendvič s tunom i rajčicom, sve ostale radnje što ulaze u izradu sendviča ćemo definirati unutar funkcije (bloka u Scratchu).

U Scratchu, odemo na Više blokova te zatim Napravi blok i spremni smo za definiranje bloka (funkcije).

Ucenje programiranja pomocu Scratcha - Definiranje funkcije
Da bismo koristili funkciju, prvo je moramo definirati. Zatim je jednostavno zovemo koristeći parametre.

Svaka funkcija mora imati ime, i to je prva stvar koju ćemo napraviti. Možemo dati ime koje želimo. Postoji izreka da je nazivanje stvari jedan od najtežih problema u računarstvu pa se pripremite na puno razmišljanja o tome. No zasad je dovoljno znati da se za ime funkcije najčešće koristi glagol koji opisuje radnju funkcije i piše se zajedno, s velikim početnim slovom svake riječi osim prve: npr. izradiSendvič.

Nakon toga moramo definirati hoće li nam inputi, ili varijabilni dio funkcije biti brojevi ili tekst te koliko će inputa funkcija sadržavati.

U slučaju sendviča, definirali bismo 2 inputa tekstualnog tipa. Ta dva inputa nazivamo parametri te oni predstavljaju varijabilni dio funkcije koje onda mijenjamo s pravim vrijednostima koje kasnije unosimo. Parametri trebaju imati smisleno ime jer time olakšavaju razumijevanje svrhe funkcije.

U ovom slučaju, ta dva parametra možemo nazvati meso i salata. Meso predstavlja sve moguće izbore mesa (tuna, šunka, piletina), a salata (krastavac, zelena, rajčica) sve moguće izbore salate za sendvič. Zamislite ih kao rezervirana mjesta koje će se popuniti argumentima s kojima zovemo funkciju. Kada naručimo “piletinu i krastavac”, umjesto mesa funkcija uzima piletinu a umjesto salate uzima krastavac. Trenutna definicija naše funkcije je izradiSendvič (meso, salata). To se naziva i zaglavlje funkcije.

 

Sada svaki put kad naručujemo sendvič s različitim sastojcima možemo pozvati funkciju “izradiSendvič” samo s tim sastojcima, budući da ostatak izrade sendviča ostaje isti. Taj ostatak naziva se tijelo funkcije.

U našem slučaju u tijelo bi stavili skup naredbi koje opisuju korake izrade sendviča. Uzimanje i rezanje kruha, redoslijed sastojaka i sve druge fiksne postupke. U trenutku pisanja funkcije ne znamo koje sastojke će netko naručiti i zato tu stavljamo generične parametre – meso i salatu. Unutar funkcije koristimo npr. govori(meso) i govori(salata). Kad zovemo funkciju, znamo koje vrijednosti želimo pa ih “pošaljemo” s funkcijom. Te prave vrijednosti zamijenit će sve generične.

Ako npr. pozovemo izradiSendvič(šunka, rajčica), svuda umjesto mesa ići će šunka, a umjesto salate rajčica. Znači možemo reći samo reći računalu koji sastojak da stavi umjesto mesa i koji sastojak umjesto salate i on će nam napraviti sendvič s tim sastojcima.

I to je to! Sada znate kako možete definirati vlastite funkcije kada se za to ukaže potreba. Funkcije su jedan od najvažnijih koncepata u programiranju i sada ste korak bliže u njihovom ovladavanju. Ako vam još djeluju zbunjujuće, ne brinite. Funkcije su dosta težak koncept za shvatiti, ali uz razmišljanje i vježbu ćete biti sve bolji i bolji. A kada sve sjedne na svoje mjesto, pitat ćete se kako ste prije živjeli bez njih!

Sretno kodiranje!

ŠTO ĆETE NAUČITI I KOJE VJEŠTINE ĆETE RAZVIJATI PROGRAMIRANJEM U SCRATCH-U?
  • Osnovne principe funkcioniranja Scratch programskog jezika
  • Osnovne principe programiranja
  • Logiku algoritmičkog načina razmišljanja
  • Vještine iz područja STEM tehnologije
  • Kreativnost
  • Divergentno mišljenje (razmišljanje izvan okvira)
  • Strpljenje i otpornost na frustraciju

Izvor: stemlittleexplorers.com

Previous post Preslatki keksići koji će vas osvojiti na prvu! Next post Kako napraviti vulkan kod kuće – STEM aktivnost iz znanosti

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • INTERA Tehnološki Park i Centar za tehničku kulturu (CTK) traže pojačanje
  • Klikerijada 2021: Mostarski osnovnoškolci pokazali kreativnost i inovativnost
  • Kako biti sretan i zdrav bez igara na sreću?
  • Prevencija adolescentskog kockanja – predavanje
  • “Primjena novih tehnologija“ – održano predavanje u CTK Mostar

Recent Comments

    Archives

    • March 2023
    • December 2021
    • November 2021
    • February 2021
    • January 2021
    • December 2020
    • November 2020
    • September 2020
    • August 2020
    • July 2020
    • June 2020
    • May 2020
    • April 2020
    • March 2020
    • February 2020
    • January 2020
    • December 2019
    • November 2019
    • October 2019
    • September 2019
    • August 2019
    • July 2019
    • June 2019
    • May 2019
    • April 2019
    • March 2019
    • February 2019
    • January 2019
    • December 2018
    • November 2018
    • September 2018
    • June 2018
    • May 2018
    • March 2018
    • February 2018
    • January 2018
    • December 2017
    • November 2017
    • October 2017
    • September 2017
    • August 2017
    • July 2017
    • June 2017
    • May 2017
    • April 2017
    • March 2017
    • February 2017
    • January 2017
    • December 2016

    Categories

    • Informatika
    • Novosti
    • Znanosti

    Meta

    • Log in
    • Entries feed
    • Comments feed
    • WordPress.org
    © 2016 Sva prava pridržana. Centar za tehničku kulturu Mostar