Što je program? 1 program je niz naredbi koje se izvode točno određenim redoslijedom s točno određenim ciljem naredba je temeljni dio programa programe izrađuju programeri koristeći jedan od ponuđenih programskih jezika (C++, C, Java, Python itd.) stvaraju naredbe za aktivnosti računala koje se pokreću na temelju korisnikovih akcija (pritiska miša, tipkovnice ili ekrana) korisnik komunicira s računalom s pomoću programa
Vrste programa 2 sistemski programi programi koji omogućuju i upravljaju radom računala i aplikacijskih programa operativni sustavi (Windows, Linux itd.), pokretački programi (engl. driveri) aplikacijski programi programi koji se dodatno instaliraju na računalo kako bi proširili funkcionalnost računala programi za obradu teksta, programi za izradu prezentacija, mrežni preglednici, igre itd.
Računalni jezik 3 jezici koji se koriste u komunikaciji s računalima tipovi računalnih jezika: programski jezici (Python, C#, C++, Pascal, Java itd.) – koriste se za izradu računalnih desktop programa i mobilnih aplikacija skriptnih jezici (JavaScript, JScript, ActionScript) – koriste se za izradu interaktivnog sadržaja na internetu (mrežne igre, interaktivne karte itd.) upitni jezici (SQL) – koriste se za komunikaciju s bazom podataka jezici za označavanje (HTML, XML) – jezici koji se koriste za označavanje različitih dijelova ljudskog teksta koje onda računalo s obzirom na oznaku obradi po zadanim uputama
Programski jezici 4 I. generacija skup ključnih riječ i pravila koje računalo razumije generacije programskih jezika: strojni jezici koriste se samo binarni sustav za komunikaciju (0 i 1) II. generacija asembler jezici numerički kodovi postaju zamijeni riječima (npr. ADD za zbrajanje, MUL za množenje) prebacuju se u binarne brojeve, tj. kompajliraju III. generacija viši programski jezici (dorađena verzija program druge generacije) nezavisni su od računala na kojem rade (kod se može prenosit s jednog računala na drugo za rad) C#, C++, Python, Ruby, C, Pascal, LOGO, BASIC IV. generacija npr. upitni jezici za baze podataka ne moraju ih nužno koristiti programeri jer su mnogo jednostavniji za rad (jednom naredbom može se dohvatiti ogromna količina podataka) niži programski jezici
5
Program koji zbraja dva broja 6 (c = a + b) strojni jezik 00100100000 10001001001 01000100100 01000100001 0011 asembler jezik LOAD a ADD b STORE c JAVA c = a+b
Jezični prevoditelji interpreteri izravno prevode i izvode svaku naredbu programa (red po red) pisanog u višem programskom jeziku (koriste ih Python i Ruby) kompajleri prevode programske jezike više generacije (npr. treće) u izvršni kod (binarni); tijekom prijevoda stvaraju datoteku za pokretanje programa (.exe) te knjižnice (engl. libraries) gdje je pohranjen dodatan kod za izvršavanje programa (koriste ih C i C++) 7 kompajler .exe nastajanje računalnog programa s pomoću kompiliranja
Primjena popularnih računalnih jezika 8 izrada mobilnih aplikacija Java (Android), Swift (iOS), C++, C# (Windows phone) izrada desktop programa C# (Windows), Java, Python (Linux), Swift i C (OS X) izrada i oblikovanje mrežnih stranica HTML, CSS, JavaScript, jQuery izrada mrežnih aplikacija Java, PHP, Ruby, Python, C#, JavaScript rad s bazama podataka: SQL pohrana i prijenos strukturiranih podataka između računalnih sustava XML, JSON
C 9 C je kompilirani (sažeti), proceduralni jezik razvijen 1972. Iako je C relativno star jezik, još uvijek se naširoko koristi u sistemskom programiranju, pisanju drugih programskih jezika i u ugrađenim sustavima. omogućuje i uključivanje naredbe pisane u asembleru, zbog čega je zajedno s mogućnošću direktnog pristupa pojedinim bitovima, bajtovima ili cijelim blokovima memorije, pogodan za pisanje sistemskog softvera
C# 10 C# je objektno orijentirani programski jezik koji je razvio Microsoft. Sličan je programskim jezicima Java i C++. Popularan alat za izradu videoigra Unity koristi se C# kao programskim jezikom za stvaranje logike igara. dosta se koristi u Microsoft Visual Studio alatu za izradu aplikacija
C++ 11 C++ je programski jezik opće namjene i srednje razine s podrškom za objektno orijentirano programiranje. Unatoč svojim godinama, C++ se koristi u širokom spektru aplikacija, od igara do uredskih alata.
Java 12 Java je objektno orijentirani programski jezik. Velika je prednost Jave u odnosu na većinu programskih jezika to što se programi pisani u Javi mogu izvoditi bez preinaka na svim operativnim sustavima za koje postoji JVM (Java Virtual Machine), dok je klasične programe pisane primjerice u C- u potrebno prilagođavati platformi(operativnom sustavu) na kojoj se izvode.
Swift 13 programski jezik koji je zamijenio objective- C kod razvoj aplikacija za Apple uređaje ima mogućnost prikaza rezultata programiranja u stvarno vrijeme
Ruby 14 Ruby je višeplatformski jezik opće namjene i otvorenog koda. Popularne primjene jezika uključuju sistemsku administraciju i izradu internetskih aplikacija, ali od 2006. programeri polako nalaze i neke netipične primjene kao stvaranje elektroničke glazbe, programiranje hardvera i stvaranje računalnih igara.
Python 15 Python je programski jezik opće namjene, interpretiran i visoke razine koji je stvorio Guido van Rossum 1990. godine. Zbog jednostavne sintakse smatra se jednim od najlakših programskih jezika. Može se koristiti za različite namjene poput izrade mrežnih aplikacija i obrade podataka. Poznate društvene mreže Pinterest i Instagram koriste se Pythonom u pozadini za obavljanje određenih funkcija.
HTML5 16 HTML je prezentacijski jezik za izradu mrežnih (engl. web) stranica. HTML je jednostavan za uporabu i lako se uči, što je jedan od razloga njegove opće prihvaćenosti i popularnosti.
CSS3 17 CSS je stilski jezik koji se korsti za grafičko oblikovanje HTML elemenata. Time se mnogo korsti u grafičkom dizajniranju stranica.
JavaScript JavaScript je skriptni programski jezik koji se izvršava na mrežnom pregledniku (engl web browser). Zbog lakšeg korištenja napravljen je da bude sličan Javi, ali nije objektno orijentiran kao Java 18
jQuery 19 jQuery je skriptna knjižnica koja pruža bržu i lakšu gradnju mrežnih stranica pisanih u jeziku JavaScript. S jednom linijom jQuery koda možemo postići isto što i s 10 linija JavaScript koda. JavaScript JQuery Dohvaćanje elementa mrežne stranice i njegovo spremanje u varijablu. var id = document.getElementById("id") var id = $("#id") Definiranje funkcije koja se izvršava prilikom klika na element. id.addEventListener('click',function(){alert("Hello"); id.click(function(){ alert("Hello"); }); Izmjena CSS svojstva elementa . var css = { "font- size": "12px", "left": "200px", "top": "100px" }; for(var svojstvo in css){id.style[svojstvo] = css[svojstvo];} id.css({fontsize: '12px', left: '200px', top: '100px'});
PHP 20 PHP je programski jezik namijenjen programiranju dinamičnih mrežnih stranica. PHP se ističe širokom podrškom raznih baza podataka i internetskih protokola te raspoloživosti brojnih programerskih knjižnica.
SQL 21 SQL je najpopularniji računalni jezik za izradu, traženje, ažuriranje i brisanje podataka iz računalnih baza.
XML ( EXtensible Markup Language ) jezik za strukturirano označavanje podataka jezik koji je čitljiv ljudima i računalima koristi se za pohranu i strukturu podataka koji se mogu prenositi među sustavima <?xml version="1.0"?> <kviz> <pitanje_odg val="pit1"> <pitanje> Koji se skriptni jezik koristi za izradu interaktivnog sadržaja na mrežnoj stranici? </pitanje> <odgovor val="1"> JavaScript </odgovor> <odgovor val ="2"> JAVA </odgovor> </ pitanje_odg > </kviz > 22
Algoritam 23 algoritam je precizna uputa kako obaviti neku radnju ili opisati rješenje određenog problema slijed dobro definiranih naredbi za ostvarenje zadatka u programiranju algoritam je slijed radnji ili postupaka (vezanih za pisanje koda) koji dovode do rješenja odeđenog programerskog problema
Algoritam kod algoritma mora jasno biti definiran početni objekt nad kojim se obavljaju operacije npr. dva višeznamenkasta prirodna broja (11, 13) algoritam mora biti sastavljen od konačnog broja koraka koji vode do završnog objekta npr. zbroji prve dvije višeznamenkaste brojke (11 + 13) kod algoritma pojavljuju se završni objekti (rezultat koji bi trebali dobiti algoritmom) npr. suma brojeva (24) 24
Algoritmi mogu biti: 25 specijalizirani mogu se primijeniti samo na pojedine početne objekte općeniti dozvoljavaju različite vrijednosti početnih objekata s time da se kod takvih algoritama određuje klasa ulaznih objekata koji su dozvoljeni
Algoritam algoritme je moguće prikazati dijagramom tijeka ili pseudokodom 26 dijagram tijeka pseudokod
Dijagram toka grafički prikazuju algoritam olakšavaju kasniju izradu programa pogodni su za analizu problema i traženje povoljnih rješenja - početak, kraj ili prekid programa 27 - ulaz podataka - izlaz podataka - priključne točke za povezivanje raznih dijelova programa - naredbe koje se obrađuju - grananje ili mjesto odluke
Primjeri dijagrama 28 Početak Kraj Upiši a, b z = a + b Početak Upiši a, b a = b Kraj NE a < b DA Algoritam za ispis zbroja dvaju brojeva Algoritam za ispis manjeg od dvaju upisanih brojeva
29
Pseudokod 30 zapis rješenja sličan klasičnom programu, ali nije vezan uz programski jezik koristi ključne riječi izdvojene iz govornog jezika i strukturu računalnog programa primjer psudokoda za ispis najmanjeg od triju učitanih brojeva početak učitaj (a, b, c) min:= a; ako je b < c onda ako je b < a onda min:=b; inače ako je c < a onda min:=c; ispiši (min); kraj
Pseudokod - sintaksa 31
Operatori 32 operator je znak ili riječ koja određuje operaciju osnovni logički operatori su: relacijski operatori: aritmetički operatori
Osnovni algoritamski postupci 33 slijed naredbe uvijek slijede jedna iza druge grananje programska struktura koja omogućuje različiti tijek odvijanja programa ovisno o rezultati postavljenog uvjeta ponavljanje (petlja) ponavlja se određeni niz naredbi sve dok se ne zadovolji određeni uvjet (ponekad znamo koliko puta se postupak treba ponoviti, a ponekad broj ponavljanja ovisi o rezultatima izvršenog niza naredbi koji se ponavlja) a < 7 DA NE
Postupak izrade programa 34 Analiza problema Opis ulaznih i izlaznih podataka Određivanje algoritma Crtanje dijagrama tijeka Pisanje programa u nekom od programskih jezika Prevođenje programa i ispravljanje formalnih pogrešaka Izvršavanje i testiranje programa te ispravljanje logičkih grešaka korištenje programa održavanje programa Konceptualni dio izrade Tehnički dio izrade
Varijable 35 podatak pohranjen u računalu kojem pridodajemo određenu vrijednost nazive varijabli sami određujemo te možemo manipulirati njihovim vrijednostima vrste vrijednosti: cjelobrojni brojevi (engl. integer) decimalni brojevi (engl. float ili double) (isključivo se odvajaju točkom) niz znakova (engl. string) - pišu se unutar dvostukih (" primjer ") ili jednostukih ( 'primjer ') navodnika liste rječnici itd.
Varijable 36 nazivi varijabli moraju biti napisani sa znakovima iz ASCII koda (nema č, ć, đ, ž, š) u primjeru ispod zelenom bojom su prikazani nazivi varijabli, a crvenom njihove vrijednosti varijable u sebi mogu sadržavati vrijednosti drugih varijabli npr. ime = ‘Josip’ prezime = ‘Mihaljević’ dob = 84 osoba = ime + prezime + dob (spremljena je vrijednost sve tri varijable u jednu varijablu) razlikuju se varijable napisane velikim i malim slovom ime nije isto kao i IME (to su dvije različite varijable)
Operatori 37 simboli koji predstavljaju računske operacije + - * / ** (potenciranje) % (ostatak od dijeljenja) osim za računanja brojeva operatori + i * mogu se koristiti za spajanje niza znakova print ‘tekst1’+ ‘ tekst2’ (tekst1tekst2) print ‘tri_puta’*3 (tri_putatri_putatri_puta)
Logički izrazi 38 izraz koji može biti točan ili netočan (true ili false; 1 ili 0) npr. 5 == 5 (true) 5 < 2 (false) 5 > 2 (true)
Logički operatori 39 postoje tri logička operatora: and or not sjetite se Boolove algebre: 5 < 2 and 3 > 2 (false) => ^ 1 5 > 2 and 3 > 2 (true) => 1 ^ 1 5 < 2 or 3 > 2 (true) => v 1 5 < 2 or 3 > 2 and 4 < 1 (false) => v 1 ^
Funkcija 40 iskaza koji obavlja izračune uzima argument i vrača izračun postoje ugrađene funkcije (npr. len, type, int) i funkcije koje korisnik sam definira(npr. stvorimo funkciju koja zbraja dva broja). varijable definirane unutar funkcije nazivaju se lokalnim varijablama varijablama se može pristupiti samo unutar funkcije
If - else uvjet 41 koristi se za grananje koda koji se treba izvršiti provjerava vrijednost ulaznog podatka te na temelju toga izvršava određeni kod nalazi se u svim programskim jezicima npr. if (broj > 5): print ‘broj je veći od 5’ elif (broj == 5): print ‘broj je jednak 5’ else: print ‘broj je manji od 5’
Iteracija ponavljanje radnje kroz određeni skup podataka onoliko puta koliko je zadano (izvršavaju određen dio kod onoliko puta koliko je zadao programer) koristi se za pregled i obradu velikih skupova podataka for i while petlja najčešće se koriste za iteraciju 42