Šta je program i kako ga napisati

21
ŠTA JE PROGRAM I KAKO GA NAPISATI Admir Džaferović

Upload: britanni-fields

Post on 02-Jan-2016

88 views

Category:

Documents


9 download

DESCRIPTION

Šta je program i kako ga napisati. Admir Džaferović. Što je program?. Program je skup instrukcija koje računar treba izvršiti. Program. Podaci. Računar. Izlaz. Pojednostavljeni prikaz izvršavanja programa. Šta je program?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Šta je program i kako ga napisati

ŠTA JE PROGRAM I KAKO GA NAPISATI

Admir Džaferović

Page 2: Šta je program i kako ga napisati

ŠTO JE PROGRAM? Program je skup instrukcija koje računar treba izvršiti.

Program

Podaci

Računar

IzlazPojednostavljeni prikaz izvršavanja programa

Page 3: Šta je program i kako ga napisati

ŠTA JE PROGRAM? Ulaz računar čine dvije osnovne komponente: program i podaci. Računar slijedi instrukcije u programu i na neki način izvodi proces. Podaci su ono što smatramo ulazom programa. Npr. ako program zbraja dva broja, onda su ta dva broja podaci. Drugim riječima, podaci su ulaz programa, a podaci zajedno sa programom čine ulaz računara (putem operacijskog sustava).

Kada računaru zadamo da izvrši program i osiguramo podatke za program, a kažemo da smo pokrenuli program za te podatke, a za računar kažemo da izvršava program na podacima. Pojam podatak općenito označava svaku informaciju koja je računaru na raspolaganju.

Page 4: Šta je program i kako ga napisati

PROGRAMSKA PODRŠKA Računar može rješavati različite zadatke uz pomoć programske podrške. Programska podrška je skup svih programa koji se mogu izvršavati na računaru. Dio programa korisnik obično kupuje pri nabavi sklopovlja, a ostale nabavlja ovisno o svojim potrebama. Računalni program je skup uputa računaru što treba učiniti i kako to izvesti. Postoje razne vrste programa ovisno o zadatku koji želimo da program izvrši. Tako postoje tekst procesori za pisanje teksta, proračunske tablice za izradu tablica, baze podataka i dr. Računalni program se pomoću jezičnog prevoditelja mora prevesti u binarni brojevni sustav da bi ga računar razumio i izvršavao.

Page 5: Šta je program i kako ga napisati

NAREDBE - PROGRAM Računar može riješiti postavljeni zadatak samo ako dobije uputstvo (niz naredbi) kako to učiniti.

Kombinacijom naredbi nastaje program. Programer pišući program niže naredbe u smislenom redoslijedu.

Naredbe moraju biti u obliku u kojem će ih računalo razumjeti.

Page 6: Šta je program i kako ga napisati

PROGRAMSKI JEZICI

Programski jezici su jezici kojima se pišu računarski programi.

Page 7: Šta je program i kako ga napisati

O JEZICIMA? Jezik je skup pravila za komunikaciju između korisnika. • Pomoću jezika se predstavljaju i prenose informacije. Jezike možemo podijeliti na prirodne i vještačke. •Prirodni jezik se koristi za komunikaciju između ljudi u pisanoj i govornoj formi.

Page 8: Šta je program i kako ga napisati

PROGRAMSKI JEZIK Programski jezik je vještački jezik koji prvenstveno služi za komunikaciju između čovjeka i računara, mada se ponekad programski jezik koristi i za komunikaciju između ljudi. Programski jezik služi za opis programa. Preko programa se obavlja komunikacija između čovjeka i računara. Za razliku od prirodnih, programski jezici su jednoznačni. Poželjne osobine programskih jezika su: jednostavnost, izražajnost, prenosivost, efikasnost ...

Page 9: Šta je program i kako ga napisati

NAUKA O JEZIKU Sintaksa – opisuje skup pravila za određivanje pravilnih konstrukcija jezika.

Semantika – opisuje kako se sintaksom korektne strukture izvršavaju, tj. interpretiraju.

Gramatika – skup pravila koji opisuje sve validne konstrukcije datog jezika.

Osnovni elementi gramatike su: skup terminalnih simbola, skup neterminalnih simbola, skup pravila i startni simbol (startni simbol, naravno, ne sme biti terminalan simbol)

Pragmatika – nauka kojom se određuje utjecaj jezičnih konstrukcija na okruženje.

Page 10: Šta je program i kako ga napisati

ELEMENTI JEDNOG PROGRAMSKOG JEZIKA Većina komandi svakog programskog jezika se može podijeliti

u 5 glavnih kategorija:

Obrada ulaznih podataka - Podatke preuzeti sa tastature, iz datoteke ili nekog drugog izvora.

Obrada izlaznih podataka - Podatke predati monitoru, datoteci, bazi podataka ili nekom drugom medijumu.

Matematička obrada podataka - Podatke obraditi pomoću matematičke operacije, kao npr. sabiranje, oduzimanje ili dijeljenje.

Poređenje i izbor - Provjera određenih uslova i kontrola izvršavanja komandi.

Ponavljanje - Posebnim pravilima regulisano ponavljanje izvršavanja komandi (obično sa varijacijama podataka ili pravila ponavljanja).

Page 11: Šta je program i kako ga napisati

GENERACIJE PROGRAMSKIH JEZIKA1. Prva generacija (Mašinski jezici)

2. Druga generacija (Asembler jezici)

3. Treća generacija (Jezici višeg nivoa)

4. Četvrta generacija (Objektni i jezici posebne namjene)

5. Peta generacija (Opisni jezici)

Page 12: Šta je program i kako ga napisati

PRVA GENERACIJA Prva generacija programskih jezika (1GL) predstavlja jezike na mašinskom nivou.

Pojavljuju se uporedno sa prvim komercijalnim računarima 1953. 

Programiranje je rađeno korištenjem binarnog koda (kombinacije nula i jedinica).

Komande su se zapisivale direktno u mašinskom jeziku, u vidu niza naredbi koje su se učitavale u komandni registar procesora i tamo izvodile.

Komande su zavisile od arhitekture procesora, pa je portiranje ovakvih programa bilo skoro nemoguće.

Danas se ovakav način direktnog programiranja ne koristi, osim u posebnim slučajevima, na primjer kada se radi o kritičnim hardverskim operacijama.

Page 13: Šta je program i kako ga napisati

PRIMJER MAŠINSKOG KODA0010 0100 1011 01111000 1110 1100 10110101 1001 0010 00010111 0010 0011 11010001 0000 1001 01001000 1001 1011 11100001 0011 0101 10010111 0010 0011 11010001 0000 1001 00001000 1001 1011 11111001 1101 1001 11100111 0010 0011 11010001 0000 1001 00000111 0010 0011 1101

0001 0011 1001 1100

Page 14: Šta je program i kako ga napisati

DRUGA GENERACIJA Druga generacija programskih jezika (2GL) predstavljaju simbolički asembleri. Za razliku od kombinacija nula i jedinica (binarnog koda) se koriste simboli ili mnemonici. Prvi put se programi počinju prevoditi (kompajlirati). Uvode se i podprogrami, a jezički procesi se dijele na prevođenje i tumačenje.Jezici druge generacije su se ponekada koristili u kernelima i drajverima za uređaje (iako se C općenito koristi za ovo u modernim kernelima), ali mnogo češće su nalazili upotrebu u izuzetno intenzivnim procesima, kao što su igre, uređivanje videa, i grafička manipulacija/renderiranje.

Npr. ako treba zbrojiti dva broja, a mjesta u memoriji na kojima su ti brojevi zapisani označimo s X i Y, tada u asemblerskom jeziku pišemo ADD X,Y umjesto 0110 001110 010101 u nekom strojnom jeziku.

Page 15: Šta je program i kako ga napisati

ASEMBLERSKI JEZICINeke od glavnih mana takvih programa su loša čitljivost, (posebno izraženo pri velikim projektima), te složenost koda i praktično nemogućnost konvertiranja istog koda na drugu procesorsku arhitekturu. Zbog tih mana se assembler danas koristi samo u sistemima realnog vremena i ostalim specifičnim sistemima.

Page 16: Šta je program i kako ga napisati

TREĆA GENERACIJA Treća generacija programskih jezika (3GL) predstavlja jezike koji su dorađena verzija jezika druge generacije.

Jedna naredba ovih programskih jezika prevodi se u više naredbi mašinskog jezika. Odlikuje ih nezavisnost od računara što znači da nije potrebno poznavanje arhitekture, instrukcija i registara računara za koji se programira. Drugim riječima programi su bili prenosivi. Jedna od osnovnih karakteristika ovih programa je struktura, te se često klasificiraju kao strukturalni jezici što znači da se svi događaji dešavaju po predviđenoj strukturi programskog koda. Programski kod je algoritam napisan sintaksom određenog programskog jezika. U principu svi oni, uvažavajući specifičnosti svakog od njih, sadrže: ključne riječi, komentare, varijable, konstante, petlje i blokove. Veći dio programa ove vrste dozvoljava pozivanje vanjskih funkcija, te upotrebu potprograma i procedura.

Page 18: Šta je program i kako ga napisati

QBASIC: LOGO: INPUT AINPUT BC=A+BPRINT CEND 

TO ZBROJIMAKE “A READMAKE “B READMAKE “C :A+:BPR :C

END  

PASCAL: C++:program zbroji;var a, b: integer;begin

readln (a);readln (b);c:=a+b;writeln (c);

end.

#include <stdio.h>main (){

int a,b,c;scanf ("%d,%d", &a, &b);c=a+b;printf ("%d", c);

}

Page 19: Šta je program i kako ga napisati

ČETVRTA GENERACIJA Četvrta generacija programskih jezika (4GL) je produkt naglog razvoja tehnologija 80-ih godina 20. vijeka. Ove jezike nazivamo jezicima posebne namjene, jer se koriste za određene klase problema.

Mogu se podijeliti u nekoliko klasa:

1. Jezici 4GL za generalnu upotrebu: Agile Business Suite, Clipper, DataFlex

2. Jezici za pristupanje bazama podataka: Progress 4GL, SQL

3. Jezici za manipulisanje podacima i analize: ABAP, MATLAB, PL/SQL

4. Jezici za Web razvoj: ColdFusion itd.

Page 20: Šta je program i kako ga napisati

MATLAB

MATLAB je okruženje za numeričke proračune i programski jezik koji proizvodi firma MathWorks.

MATLAB omogućava lako manipulisanje matricama, iscrtanje funkcija i fitovanje, implementaciju algoritama, stvaranje korisničkog interfejsa kao i povezivanje sa programima pisanim u drugim jezicima.

Page 21: Šta je program i kako ga napisati