Uvod u programiranje
Samostalne aktivnosti učenja
Zadaci, pitanja, istraživanja i aktivnosti za ponavljanje, uvježbavanje i proširivanje sadržaja obrađenih tijekom nastave. Aktivnosti se mogu prilagoditi predznanju, interesu i raspoloživom vremenu učenika.
SIU 1
Osnove programiranja
I1 Koristiti osnovne tipove podataka, matematičke, logičke i operatore usporedbe te ugrađene matematičke funkcije u linearnim problemima 7 sati
PZ1 · Istraživanje algoritma
Pronađi poznati algoritam iz svakodnevnog života, matematike, informatike ili nekog drugog područja. Opiši njegovu svrhu i korake.
- Koji se ulazni podaci koriste?
- Koji se rezultat očekuje?
- Koje bi podatkovne strukture algoritam mogao koristiti?
- Zašto su upravo te strukture prikladne?
Preporučeno vrijeme: 1 sat
PZ2 · Osobni C++ priručnik
Na najviše dvije stranice A4 pregledno sažmi osnovna pravila za pisanje programa u jeziku C++.
Priručnik može sadržavati:
- osnovnu strukturu programa;
- tipove podataka, varijable i konstante;
- unos i ispis podataka;
- operatore i izraze;
- matematičke funkcije;
- kratke primjere programa.
Pri vrednovanju se mogu uzeti u obzir točnost, potpunost, preglednost, praktičnost i originalnost prikaza.
Preporučeno vrijeme: 2 sata
Priprema radnog okruženja
Instaliraj ili pripremi razvojno okruženje koje ćeš koristiti. Izradi jednostavan program, spremi ga i ponovno otvori.
Prema mogućnostima uvježbaj osnovne Git naredbe: stvaranje repozitorija, dodavanje datoteka i spremanje promjena.
Preporučeno vrijeme: do 2 sata
Zadaci za uvježbavanje
Ulaz i izlaz podataka Linearni algoritmi Jednostavni programski zadaciI2 Odrediti korake za rješavanje problema pomoću pseudokoda 6 sati
Praćenje izvođenja algoritma
Za zadani pseudokod ili dijagram tijeka napravi tablicu praćenja. Zapiši vrijednosti varijabli nakon svakog važnog koraka.
- odredi ulazne podatke;
- prati promjene vrijednosti varijabli;
- predvidi izlaz;
- provjeri rezultat izvođenjem programa.
Izrada pseudokoda
Za tri problema različite težine prvo napiši rješenje prirodnim jezikom, a zatim ga pretvori u pseudokod.
Jedan primjer neka koristi slijed, drugi grananje, a treći ponavljanje.
Analiza algoritama
Usporedi dva moguća algoritma za isti problem. Objasni:
- jesu li oba algoritma ispravna;
- koji je jednostavniji za razumijevanje;
- koji izvodi manje nepotrebnih koraka;
- koje bi rješenje odabrao i zašto.
Primjeri i vježbe
Vježbe praćenja algoritama Pitanja i zadaci iz pseudokoda Pseudokod – dodatne vježbeI3 Izraditi algoritam i program rješavajući problem uporabom grananja 6 sati
Jednostruko i potpuno grananje
Izradi programe u kojima se na temelju jednog uvjeta donosi odluka. Primjeri mogu uključivati provjeru pozitivnog broja, parnosti, dopuštenog raspona ili prolaznosti.
Ugniježđeno grananje
Osmisli problem u kojem se druga odluka donosi tek nakon što je zadovoljen prvi uvjet. Prikaži rješenje dijagramom tijeka, pseudokodom i programom.
Višestruko grananje
Izradi jednostavan tekstualni izbornik uporabom naredbe
switch-case. Predvidi i obradu neispravnog odabira.
I4 Izraditi algoritam i program uporabom petlje s određenim brojem ponavljanja 6 sati
Petlja s poznatim brojem ponavljanja
Riješi zadatke s brojanjem, zbrajanjem, množenjem, traženjem minimuma ili maksimuma i ispisom niza vrijednosti.
Ugniježđene petlje
Izradi program koji ispisuje tablicu, koordinatnu mrežu ili uzorak sastavljen od znakova.
Prije pisanja programa objasni što predstavlja vanjska, a što unutarnja petlja.
I5 Izraditi algoritam i program uporabom petlje s uvjetom na početku ili kraju 6 sati
Petlja s uvjetom na početku
Izradi program koji ponavlja unos dok podatak ne zadovolji zadani uvjet. Objasni zbog čega se petlja možda neće izvršiti nijednom.
Petlja s uvjetom na kraju
Izradi izbornik koji se prikazuje barem jednom i ponavlja sve dok korisnik ne odabere završetak.
Usporedba petlji
Za isti problem napiši dvije inačice rješenja, primjerice uporabom
petlje for i while. Usporedi čitljivost,
uvjete i mogućnost pogreške.
SIU 2
Spremnički tipovi podataka
I1 Prikupiti i analizirati korisničke zahtjeve za programsko rješenje 2 sata
Korisnik i njegove potrebe
Odaberi jednostavan programski proizvod. Opiši njegova mogućeg korisnika, potrebe, ciljeve i poteškoće.
Intervju i korisničke izjave
Pripremi najmanje pet pitanja za razgovor s budućim korisnikom. Na temelju odgovora napiši korisničke izjave i odredi njihove prioritete.
Dokument sa zahtjevima
Izradi kratak dokument koji sadrži opis problema, cilj rješenja, funkcionalne zahtjeve i prioritete.
I2 Izraditi programsko rješenje uporabom jednodimenzionalnog ili dvodimenzionalnog slijednog spremnika 3 sata
Jednodimenzionalno polje
Izradi program koji unosi skup podataka, izračunava osnovne statističke vrijednosti i ispisuje elemente koji zadovoljavaju odabrani uvjet.
Dvodimenzionalno polje
Izradi program za obradu tabličnih podataka. Uključi barem jednu obradu po retcima i jednu po stupcima.
Nizovi znakova i stringovi
Izradi program koji analizira tekst: broj znakova, riječi, samoglasnika, pojavljivanje odabranog znaka ili provjeru palindroma.
I3 Izraditi programsko rješenje uporabom funkcija zbirke stog 3 sata
Osnovne operacije stoga
Napiši kratke primjere uporabe operacija push,
pop, top, empty i
size.
Problemski zadaci
- provjera pravilnog rasporeda zagrada;
- provjera palindroma;
- povijest preglednika;
- undo funkcionalnost;
- obrada niza znakova obrnutim redoslijedom.
Primjeri
Primjer implementacije Balansirane zagrade Palindrom uporabom stogaI4 Izraditi programsko rješenje uporabom funkcija zbirke red 3 sata
Osnovne operacije reda
Izradi kratke primjere operacija push, pop,
front, back, empty i
size.
Simulacija reda čekanja
Izradi program koji simulira dolazak i obradu korisnika, poslova, ispisa ili zahtjeva. Prikaži stanje reda nakon svake promjene.
Red objekata
Prema mogućnostima izradi jednostavnu strukturu ili klasu te pohrani njezine objekte u red.
I5 Koristiti funkcije zbirke elemenata čiji redoslijed nije zadan smještajem u memoriji — lista 3 sata
Osnovne operacije liste
Izradi primjere dodavanja, uklanjanja, pretraživanja, sortiranja i prolaska kroz listu.
Problemski zadatak
Osmisli problem u kojem se elementi često umeću ili uklanjaju unutar zbirke. Objasni zašto je lista prikladnija od vektora.
Odabir spremnika
Za nekoliko problemskih situacija odaberi između spremnika
vector, stack, queue i
list. Svaki izbor obrazloži.
Dodatni problemski sadržaji
Problemski zadaci s listama Odabir odgovarajućeg spremnika Usporedba STL spremnikaZavršna refleksija
Procijeni vlastito učenje
- Koje ishode mogu ostvariti samostalno?
- Kod kojih sadržaja još trebam primjer ili pomoć?
- Koju pogrešku sada mogu sam prepoznati i ispraviti?
- Koji bih sadržaj želio dodatno istražiti?
- Kako mi je AI pomogao, a što sam ipak morao provjeriti sam?