Materijali

Put od prve promenljive do ispitnih zadataka

Ovo je redosled novih oblasti. Između njih možemo ubaciti dodatne časove samo za zadatke, bez preskakanja na sledeću temu.

Pravilo za prelazak: sledeća oblast dolazi kada možeš da objasniš prethodnu i uradiš mali sličan primer bez vođenja.
01
Dostupno

Kako program radi

Krećemo od nule: šta je program, kojim redom računar izvršava naredbe, gde pamti podatke i kako se ista jednostavna ideja zapisuje pseudokodom i u C-u.

Podatak, promenljiva i prvi program
Otvori
02
Dostupno

Od algoritma do programa koji učitava podatke

Pravimo jasan algoritam, crtamo dijagram toka, prevodimo ga u C i prvi put učitavamo podatke sa tastature. Operatore / i % koristimo u programima za pakovanja, vreme i cifre.

Dijagram toka, scanf, / i %
Otvori
03
Dostupno

Program bira između dve putanje

Dijagram toka prvi put dobija grananje. Uslov proveravamo na konkretnom podatku, izvršavamo samo odgovarajuću granu i proveravamo program primerima oko granice.

Poređenja i jednostavan if/else
Otvori
04
Dostupno

Više uslova i više mogućih putanja

Program sada može da razlikuje više od dva slučaja. Gradimo else-if lanac, spajamo uslove operatorima &&, || i !, proveravamo neispravan ulaz i koristimo switch kada biramo između tačno određenih vrednosti.

else if, logički operatori i switch
Otvori
05
Dostupno

Petlje ponavljaju postupak bez kopiranja koda

Kada se isti postupak ponavlja, petlja čuva jednu verziju koda i kontroliše koliko puta se izvršava. Pratimo uslov i promenu brojača, sabiramo ili brojimo rezultate, obrađujemo cifre i biramo između while, for i do-while petlje.

while, for, do-while, brojač i zbir
Otvori
06
Dostupno

Petlje u zadacima sa brojevima

Uvežbavamo petlje na zadacima koji se često pojavljuju kao prvi zadatak na ispitu: obrada cifara, obrtanje broja, delioci i provera prostog broja.

cifre, delioci i prost broj
Otvori
07
Dostupno

Nizovi: čuvanje i osnovna obrada

Niz čuva više vrednosti istog tipa pod jednim imenom. Učimo kako se elementima pristupa preko indeksa, kako se niz učitava i prolazi petljom i kako se iz njega dobijaju zbir, prosek, minimum i maksimum.

Indeksi, prolazak, prosek, minimum i maksimum
Otvori
08
Dostupno

Nizovi: pretraga, izmene i sortiranje

Isti prolazak kroz niz koristimo za traženje i brojanje. Zatim učimo zašto se pri brisanju elementi pomeraju ulevo, pri ubacivanju udesno i kako bubble sort uređuje niz poređenjem susednih elemenata.

Pretraga, pomeranje elemenata i bubble sort
Otvori
09
Dostupno

Matrice: redovi, kolone i dijagonale

Matrica čuva podatke u vrstama i kolonama. Vežbamo dva indeksa, ugnježdene petlje, rezultate po vrstama i kolonama, dijagonale i osnovne oblasti kvadratne matrice.

Dva indeksa i osnovni prolazi
Otvori
10
Dostupno

Transformacije matrica

Sada ne računamo samo rezultat iz matrice, već menjamo izabrane elemente, premeštamo celu vrstu i gradimo novu matricu po preciznom pravilu.

uslov, zamena vrste i nova matrica
Otvori
11
Dostupno

Funkcije: jedan zadatak, jasni delovi

Poznat postupak izdvajamo u funkciju, da bismo ga mogli jasno proveriti, pozvati više puta i povezati sa nizovima i matricama.

prototip, parametri, return i poziv
Otvori
12
Dostupno

Pokazivači i funkcije koje menjaju podatke

Povezujemo promenljivu sa njenom adresom, pratimo pokazivač na crtežu i koristimo funkcije koje menjaju podatke pozivaoca ili upisuju više rezultata.

adresa, dereferenciranje i više rezultata
Otvori
13
Dostupno

Stringovi: tekst kao niz znakova

String povezujemo sa već poznatim nizovima: pratimo znakove do završnog nul znaka, bezbedno učitavamo ceo red, ručno prolazimo kroz tekst i tek zatim koristimo funkcije iz string.h.

nul znak, unos reda i obrada teksta
Otvori
14
Dostupno

Fajlovi: otvaranje, čitanje i upis

Podatke prvi put čuvamo van programa. Biramo režim r, w ili a, proveravamo svako otvaranje i čitanje, a zatim bezbedno zatvaramo svaki uspešno otvoren tok.

FILE*, fopen, fclose, fscanf i fprintf
Otvori
15
Dostupno

Fajlovi: prolazak, kopiranje i pozicioniranje

Čitamo sve podatke bez dupliranja poslednje vrednosti, kopiramo tekst red po red, zapisujemo binarne podatke i biramo tačnu poziciju u fajlu.

fgets, feof, binarni režim i fseek
Otvori
16
Dostupno

Strukture: povezani podaci kao jedna celina

Pravimo sopstveni tip sa imenovanim članovima, obrađujemo niz zapisa i prosleđujemo strukturu funkciji po vrednosti ili preko pokazivača.

struct, typedef, niz zapisa, . i ->
Otvori
17
Dostupno

Dinamička memorija: bezbedan životni ciklus bloka

Zauzimamo memoriju tek kada saznamo potrebnu veličinu, proveravamo rezultat, menjamo kapacitet bez gubitka podataka i jasno određujemo ko oslobađa blok.

malloc, calloc, realloc i free
Otvori
18
Dostupno

Sortiranje kao funkcija: segmenti i složeni zapisi

Poredimo tri osnovna algoritma, crtamo bubble sort u ispitnoj formi i zatim isti postupak ugrađujemo u funkcije, segmente i dinamičke nizove struktura.

selection, insertion i modularni sort
Otvori
19
Dostupno

Probni ispit: od zahteva do odbrane rešenja

Tri povezana ispitna zadatka prolazimo od izdvajanja uslova i graničnih slučajeva do celog C programa, provere rezultata i kratke odbrane napisanog rešenja.

kod, dijagram i usmeni
Otvori
20
Dostupno

Generalna proba: napiši, proveri, odbrani

Završna proba povezuje najvažnije oblasti: planiranje algoritma, ceo C program, nalaženje greške, izbor probnih ulaza i kratko obrazloženje rešenja.

cifre, niz, matrica i strukture
Otvori