Uvod u programiranje – SAU

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.

45 planiranih sati
2 skupa ishoda učenja
10 ishoda učenja

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

I2 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.
I3 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.
I4 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.

Završ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?