dr. sc. Marjan Sikora, viši asistent O kolegiju • jezik C – Tiobe indeks • sadržaj je programiranje u C-u, ali uz učenje algoritama i struktura podataka O predavanjima • prvi dio (do pokazivača) je ponavljanje i brže de se obraditi • nakon pokazivača de se ritam izlaganja gradiva usporiti • vježbe slijede predavanja i predstavljaju jednu cjelinu O predavanjima • prvi sat je izlaganje gradiva uz demonstraciju na računalu • primjeri de biti rješavani u programu MS Visual Studio 2010 • drugi sat de biti vježbanje ispitnih zadataka i pregled laboratorijske vježbe O laboratorijskim vježbama • nema kolokviranja laboratorija • prije vježbi studenti trebaju pripremiti korisničko ime i lozinku za računalni sustav • na vježbe treba donijeti "Priručnik za vježbe” • prije svake vježbe treba pročitati i proučiti poglavlja koja su naznačena na početku vježbe • na vježbama studenti rade korak po korak zadatke iz dotične vježbe • zadaci koji se rade na vježbama mogu se skinuti sa elearninga • nakon što izvrši vježbu student donosi priručnik sa izvršenom vježbom asistentu na potpis O laboratorijskim vježbama •studenti su obvezni odraditi sve vježbe •studenti smiju sa vježbi izostati 2 puta •vježbe se nadoknađuju kod kude ili u drugoj grupi istog asistenta •ukoliko se vježba odrađuje doma, ona se na pregled predaje na slijededim vježbama •vježbe se obavezno izvršavaju po redu •studenti se iz jedne grupe mogu prebaciti u drugu samo ako nađu zamjenu •zamjene grupa su mogude samo u prva dva tjedna vježbi Nastava • predavanja nisu obavezna • labosi obavezni Provjera znanja • provjera znanja se vrši na kolokvijima i ispitima • tri su kolokvija, prolaz je 40% bodova • prolaz prethodnog kolokvija je uvjet za izlazak na idudi • prvi kolokvij je do pokazivača • drugi kolokvij je do rekurzije • tredi kolokvij obuhvada strukture podataka • Ocjena(%) = 0,25*L + 0,75*(M1+M2+M3) – 50% do 61% dovoljan (2) – 62% do 74% dobar (3) – 75% do 87% vrlo dobar (4) – 88% do 100% izvrstan (5) Provjera znanja • četiri su ispitna roka • na prva dva roka se polaže samo gradivo koje nije položeno na kolokvijima • prolaz na ispitu je 50% bodova i dva u potpunosti riješena zadatka • 50% do 61% dovoljan (2) • 62% do 74% dobar (3) • 75% do 87% vrlo dobar (4) • 88% do 100% izvrstan (5) Literatura • Ivo Mateljan: “Računala programiranje i jezik C”, Split, 2010. • Brian Kernighan, Dennis Ritchie: “The C Programming Language”, Englewood Clifs, 1988. • Marjan Sikora: “Zbirka riješenih ispitnih zadataka” UVOD U PROGRAMIRANJE • knjiga - 1. UVOD U PROGRAMIRANJE • Računalo: – Hardver – Softver • Program: – Izvorni program – programski jezik – Izvršni program – strojni jezik DUALIZAM U PROGRAMIRANJU • Dualizam: – Program – algoritam - proceduralno – Podaci – strukture podataka - deklarativno ALGORITAM • Računalni algoritam: – Precizni opis uputstava za rješenje problema – Konačni broj koraka – Konačni vremenski interval – Tok izvršenja ovisi o podacima – memorijskim objektima DIJELOVI ALGORITMA • Sastavni dijelovi: – Proste naredbe – Blok naredbi – Naredbe selekcije – grananje – Iterativne naredbe - petlje ŠTO JE U STVARI ALGORITAM? • Primjer algoritma iz svakodnevnog života: – student - studi !!!!!!!!!!!!!!! DOVRŠI!!!!!!!!!!! DOBAR ALGORITAM • VAŽNO!!! – Bez obzira koje naredbe koristili, algoritam je dobar ako njime, u konačnom broju koraka, dobijemo rješenje problema. PODACI • Podaci: – Algoritam rezultira podacima - memorijskim objektima • Memorijski objekti se označavaju varijablama: x = 5; • Operacije nad memorijskim objektima: x = 2 * x + 5; OPERACIJE NAD PODACIMA • Znak jednako nije matematički! x 2 * x + 5; • Opisuje način rada u procesoru: – Dobavi (iz memorije u registar) – Izvrši (u registrima) – Spremi (iz registara u memoriju) • eng. fetch-execute-store APSTRAKCIJA • Apstrakcija je temelj programiranja • Apstrakcija je način zapisa podataka i algoritama, zanemarujudi stvarni mehanizam implementacije. • Princip crne kutije. • Omogudava koncentriranje na jednu razinu problema. APSTRAKCIJA • Razine apstrakcije: – Pseudo-algoritam u prirodnom jeziku – Kod u programskom jeziku – Izvršni kod u strojnom jeziku • Primjer apstrakcije iz svakodnevnog života: – Internet stranica • Opis Internet stranice u pretraživaču • Web adresa Internet stranice • Brojčana IP adresa – Automobil PROGRAMSKI JEZICI • Vrste programskih jezika: – Imperativni (proceduralni) programski jezici (C, Pascal, Modula-2, Basic, Fortran,..) [proceduralno] – Objektno orijentirani programski jezici (C++, C#, Java, Ada, Eiffel, Objective C, Smaltalk, Modula-3, ..) [proceduralno/deklarativno] – Funkcionalni programski jezici (Lisp, Sheme, ML, ..) [proceduralno/deklarativno] – Logički programski jezici (Prolog) [deklarativno] – Jezici specijalne namjene: pretraživanje baza podataka (SQL), vizuleno programiranje (Delphi, Visual Basic), uređivanje teksta (Perl, TeX), matematički proračuni (Matlab).