Programski jezici.

Slides:



Advertisements
Сличне презентације
Упити Queries.
Advertisements

Konto, kontni okvir, kontni plan
Шта је наука?.
Програмски језик Parallaxis
2.1.(A) Grafičke naredbe u programu
Elektronički logički sklopovi i registri
Nastavna jedinica: 8.1. Upoznavanje alata za izradu prezentacija
Јелена Бошковић, проф. Рачунарства и информатике
Programiranje - Nizovi -
Uvod u funkcije Kolegij: Programski jezik C++ Ak. god. 2018/19
DIGITALNA MODULACIJA.
LabVIEW Kratak opis softvera
G4 Tim: Tatjana Ružman Krešo Barić Marija Đapić Darko Jovišić.
Programiranje - Naredbe za kontrolu toka programa – 4. dio
Nastavna jedinica: 1.5. Elektronički logički sklopovi i registri
PROJEKTOVANJE SOFTVERA
Елементи на програмски јазици
Predstavljanje podataka u računaru
Vrste datoteka, dokumenti
OPERA.
Предавач: Маја Димитријевић Асистент: Јована Сабљић
Основне функције оперативног система и њихова структура
Nastavna jedinica: 1.5. Elektronički logički sklopovi i registry
Osnove pseudo jezika operatori, funkcije
Primena softvera u usvajanju strategija samoregulacije
Preuzimanje i instaliranje programa
PC Istorija računara.
Uvod u programiranje - matematika – VIII predavanje
Funkcije.
PRIKAZIVANJE I ANALIZA PODATAKA
Vježbe 1. dio - Razvojne okoline -
Meni Home II dio.
Seminarski rad: Referentni sistemi
PyGame.
Људски рад је посебно и веома важно обележје људи.
Техничка школа Шабац Предмет: рачунарство и информатика
Podaci.
Logički sklopovi Zadaci.
Osnovni pojmovi; nastanak programa
Специјализована ИТ одељења
Računarska grafika Vrste i podjela.
Programiranje - Blokovi naredbi i logički tipovi –
BAZE PODATAKA.
Novosti u regulativi vezano za protupožarna vrata / Rad odbora TO 92
JEZIK RAČUNALA: bit i bajt
Statičke i dinamičke web stranice
2. STROJNA I PROGRAMSKA OPREMA
Elektronički sklopovi računala
Bit i bajt.
I što bi smo trebali naučiti?
Programski jezik C++ - Vježbe - 3. dio
Osnovna Struktura programa
Jelena Franić Rihter, prof.
Mjerenje Pritiska Student:Amar Merdić.
Јелена Бошковић, проф. Рачунарства и информатике
BILANS STANJA.
Programski jezici.
Структура програма у Паскалу
Brojni sistemi Sastoje se od skupova znakova (cifri) i pravila za pisanje cifri. Dijele se na pozicijske i nepozicijske (npr. Rimski) Najvažniji sa stanovišta.
Integrisani informacioni sistemi
MEMORIJA.
2. Sklopovlje i prog. podrška
МЕЂУНАРОДНИ ДАН ПИСМЕНОСТИ
2. Jezik računala Bit i bajt.
Principi programiranja
Rešavanje problema pomoću računara
Vježbenica 3: struktura petlje – 2.dio
Informatika II-programiranje
Definicija i osobine digitalnih biblioteka
Транскрипт презентације:

Programski jezici

dipl.prof. Informatike Smajo Mekic Programski jezik Programski jezik računara je jezik koji računar razumije. Postoji mnogo programskih jezika, a svaki od njih ima područje primjene, prednosti i nedostatke. dipl.prof. Informatike Smajo Mekic

Programski jezici - podjela Programski jezici se mogu podijeliti na: mašinske jezike, simboličke jezike niskog nivoa, simboličke jezike visokog nivoa. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic mašinski jezik mašinski jezik (engl. machine language, machine code) je binarni prikaz programa za računar. To je ujedno i jedini oblik programa koji računar doslovno "razumije“. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic mašinski jezik mašinski je jezik vezan uz građu računara, odnosno ovisan je o centralnoj jedinici za obradu. Svaki procesor ima sebi svojstven mašinski jezik. Pisanje programa mašinskim jezikom je složeno i zahtijeva dobro poznavanje građe računara te se njime bave usko specijalizirani stručnjaci. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Simbolički jezici Simbolički su jezici nastali kako bi ljudima olakšali programiranje jer ljudi lakše pamte simbole nego binarne brojeve. Programi pisani simboličkim jezikom su čovjeku čitljiviji i lakši za razumijevanje od binarnog zapisa. dipl.prof. Informatike Smajo Mekic

Simbolički jezik niskog nivoa Asembler (engl. assembler) je simbolički jezik niskog nivoa u kome je svaka binarna naredba mašinskog jezika predočena odgovarajućim simbolom npr.: ADD SUB CMP dipl.prof. Informatike Smajo Mekic

Simbolički jezik niskog nivoa Svaka simbolička naredba obično je kratica engleskog opisa naredbe pa se lako pamti. Asembler je čovjeku čitljiviji i lakši za razumijevanje od binarnog zapisa ali još uvijek vrlo težak za pisanje i ispravljanje. dipl.prof. Informatike Smajo Mekic

Simbolički jezik niskog nivoa Program napisan u asembleru mora biti preveden u binarni oblik da bi ga procesor “razumio”, tj. da bi ga mogao izvršavati. Simbole u binarni oblik prevodi program prevodioc. dipl.prof. Informatike Smajo Mekic

Simbolički jezici visokog nivoa Simbolički jezici visokog nivoa su svi oni programski jezici kod kojih se veći ili manji skup naredbi mašinskog jezika nadomješta jednom naredbom višeg programskog jezika. Naredbe ovih jezika mnogo su više nalik govornom jeziku, lakše su za pamćenje i upotrebu. dipl.prof. Informatike Smajo Mekic

Simbolički jezici visokog nivoa Simbolički jezici visokog nivoa (viši programski jezici) stvoreni su da bi se: olakšalo programiranje, isti program mogao izvršavati na različitim računarima (procesorima). dipl.prof. Informatike Smajo Mekic

Simbolički jezici visokog nivoa dipl.prof. Informatike Smajo Mekic

Simbolički jezici visokog nivoa U drugoj polovini dvadesetog stoljeća nastaju programski jezici FORTRAN, COBOL, BASIC, PASCAL, programski jezik C i mnogi drugi. Simbolički jezici visokog nivoa se mogu podijeliti na jezike opće namjene i jezike prilagođene određenoj vrsti problema. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Izvorni program Program napisan simboličkim programskim jezikom (u obliku koji nije mašinski) zove se izvorni program (engl. source code). Izvorne programe treba prevesti u mašinski oblik. Prevode ih programi koji se nazivaju jezički prevodioci. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic jezički prevodioci jezički prevodioci se međusobno razlikuju složenošću i djelotvornošću, a načelno se mogu podijeliti u dvije grupe: interpreteri (interpretatori, engl. interpreter), kompajleri (kompilatori, engl. compiler). dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Interpreter Interpreter svaku naredbu izvornog programa prevodi u mašinski oblik u trenutku izvođenja programa. Simbolička naredba se prevodi u jednu ili više naredbi mašinskog jezika i zatim se izvrši. Nakon toga se prevede sljedeća simbolička naredba i izvrši, i tako redom. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Interpreter Prevođenje naredbu po naredbu omogućava trenutno otkrivanje određene vrste pogrešaka i interaktivno ispravljanje. Nedostaci su relativno sporiji rad i nužnost isporuke izvornoga kôda programa korisniku. Izvorni program je moguće izvršiti samo ako je na računaru prisutan i interpreter. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Kompajler Kompajler prevodi izvorni program tako da analizira i prevede cjelokupni izvorni program odjednom. Kao rezultat tog rada nastaje izvršni tj. mašinski oblik programa. Za razliku od interpretera, kod kompajlera su izvorni program i izvršni program potpuno odvojeni i pri izvođenju neovisni. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic kompajliranje dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic primjer #include<iostream> using namespace std; int main() { cout<<„Sretan i uspjesan pocetak zeli Vam prof.Smajo" ; cout << endl; system("Pause"); return 0; } dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Kompajler Izvršni program se može izvršavati bez postojanja izvornog programa. Korisniku se najčešće predaje samo izvršna verzija programa. Pošto je taj oblik za čovjeka nečitljiv i nerazumljiv (produžetak naziva com ili exe) na temeljit se način tako štiti trud programera od neovlaštenih prepravaka ili krađe dijelova programa. dipl.prof. Informatike Smajo Mekic

računarske komponente računarse sastoji od mnogo komponenti. dipl.prof. Informatike Smajo Mekic

računarske komponente Pouzdanost i djelotvornost računara ovisi o pouzdanosti i djelotvornosti svake od ugrađenih komponenata. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Konstruktor računara Konstruktor računara koristi mnogo komponenata koje spaja u cjelinu. Kada bi se morao baviti unutarnjom građom, kvalitetom i pouzdanošću svake od komponenti projektiranje računara bilo bi vrlo otežano. dipl.prof. Informatike Smajo Mekic

Proizvođači komponeneti Umjesto konstruktora računara, za unutarnju građu i pouzdanost svake komponente brine se njen proizvođač. Proizvođač pojedine komponente može se tehnološki specijalizirati za njezinu proizvodnju te tako proizvoditi komponente visoke kvalitete i pouzdanosti. Npr. postoje proizvođači koji su se specijalizirali za proizvodnju tvrdih diskova, tastatura, monitora itd. dipl.prof. Informatike Smajo Mekic

Proizvođači komponenti Komponente su normirane pa se mogu ugraditi u različite elektroničke uređaje što omogućava proizvodnju velikih serija i sniženje cijena. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Konstruktor računara Konstruktor koristi gotove komponente i ne mora poznavati njihovu unutarnju građu. Dovoljno je da zna zadaću koju komponenta obavlja i način njezina spajanja s ostalim dijelovima računara. To mu bitno olakšava posao i omogućuje izradu pouzdanijih i djelotvornijih računara. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Objekti Zamisao upotrebe gotovih komponenti pri gradnji složenih sistema primjenjena je i pri izradi programa Zadatak se dijeli na manje dijelove koji se mogu neovisno rješavati i provjeravati. Gotovi dijelovi programa (komponente) nazivaju se objekti (engl. object). dipl.prof. Informatike Smajo Mekic

Objektno orijentirani program Programi koji koriste objekte nazivaju se objektno orijentirani programi (engl. OOP, object oriented programs). Objekti se mogu pisati i provjeravati odvojeno od cjeline i koristiti u različitim programima. dipl.prof. Informatike Smajo Mekic

Prenosivi programski jezici Prenosivi (engl. portable) programski jezici ne ovise o hardveru i operativnom sistemu. To, na primjer, znači da se isti program može, bez izmjena, izvoditi na različitim računarima koji rade pod različitim opertivnim sistemima. dipl.prof. Informatike Smajo Mekic

Prenosivi programski jezici S pojavom Interneta raste potreba za prenosivosti. Razvijaju se novi programski jezici od kojih je najpoznatiji Java. Java je snažan objektno orijentirani programski jezik opće namjene. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Java prevodioci Prenosivost je riješena pomoću dva programa prevoditelja: Java kompajler (program koji se mora nalaziti na računaru na kojem programer piše i prevodi izvorni program), Java prividno računar(program koji se mora nalaziti na računaru na kojem se program želi izvršiti). dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Java kompajler Programer piše izvorni program naredbama programskog jezika Java. Zatim se izvorni program prevodi Java kompajlerom. Prevođenjem nastaje program Java bytecodes što je međukorak do konačnog mašinskog oblika programa. Java bytecodes je oblik programa koji se ne može direktno izvršiti niti na jednom računaru ali se može proslijediti u istom obliku svakom računaru bez obzira na vrstu i opertivni sistem. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Java bytecodes Java bytecodes je potpuno prenosiv oblik programa, dakle prihvatljiv svakom računaru. To nije mašinski oblik programa ni za jedno stvarno računar već je "mašinski oblik" za Java prividno ili virtualno računar(engl. Java virtual machine, Java engine). dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Java prividno računar Java prividni računar(Java virtualni računar) je računarski program prevoditelj koji prevodi Java bytecodes u mašinski jezik računara na kojem se program izvršava. Rezultat java prividnog računara je mašinski jezik koji računlao ”razumije” i može ga izvršiti. Za svaki procesor mora postojati posebno Java prividno računar(program prevoditelj) koji će Java bytecodes pretvoriti u mašinski jezik tog procesora. dipl.prof. Informatike Smajo Mekic

dipl.prof. Informatike Smajo Mekic Java program dipl.prof. Informatike Smajo Mekic