Uvod u programiranje Programski jezici Programski jezik C

  • Slides: 12
Download presentation
Uvod u programiranje: Programski jezici Programski jezik C++ 1 29. 1. 2015

Uvod u programiranje: Programski jezici Programski jezik C++ 1 29. 1. 2015

Program, algoritam Program je niz instrukcija koji ostvaruje neki algoritam. Algoritam je svaki jasan

Program, algoritam Program je niz instrukcija koji ostvaruje neki algoritam. Algoritam je svaki jasan precizan, uređen i nedvosmislen niz koraka koji u konačnom vremenu dovodi do rješenja nekog problema – ukoliko problem ima rješenje; odnosno u konačnom vremenu daje odgovor da problem nema rješenje – ukoliko je to doista tako. Programski jezik C++ 2 29. 1. 2015

Naredbe - program Računar može riješiti postavljeni zadatak samo ako dobije uputstvo (niz naredbi)

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čunar razumjeti. Programski jezik C++ 3 29. 1. 2015

Programski jezik – ključne riječi i sintaksa Programski jezici su jezici kojima se pišu

Programski jezik – ključne riječi i sintaksa Programski jezici su jezici kojima se pišu računarski programi. Svaki programski jezik koristi vlastiti, ograničeni skup riječi koje imaju posebna značenja a nazivamo ih ključnim riječima. Za svaki su programski jezik propisana pravila slaganja ključnih riječi u naredbe. Takva se pravila nazivaju sintaksa. Ako se ne zadovolji propisana sintaksa, program će biti neispravan i neće se moći izvršiti. Programski jezik C++ 4 29. 1. 2015

Strojni (mašinski) jezik Prvi računari bila su vrlo složeni za korištenje. Njih su koristili

Strojni (mašinski) jezik Prvi računari bila su vrlo složeni za korištenje. Njih su koristili isključivo stručnjaci koji su bili osposobljeni za komunikaciju s računarom. Ta komunikacija se sastojala od dva osnovna koraka: davanje instrukcija računaru i čitanje rezultata obrade. I dok se čitanje rezultata vrlo brzo učinilo koliko-toliko snošljivim uvođenjem štampača na kojima su se rezultati ispisivali, unošenje instrukcija - programiranje - se sastojalo od mukotrpnog unosa niza nula i jedinica. Ti nizovi su davali računaru upute kao što su: "saberi dva broja", "premjesti podatak s neke memorijske lokacije na drugu i slično. Programski jezik koji omogućava ovu komunikaciju naziva se strojni (mašinski) jezik. Programski jezik C++ 5 29. 1. 2015

Strojni (mašinski) jezik U užem smislu strojni jezik računara (engl. machine language, machine code)

Strojni (mašinski) jezik U užem smislu strojni jezik računara (engl. machine language, machine code) je binarni prikaz programa za računar. To je ujedno i jedini oblik programa koji računar “razumije” te se svaki drugi oblik programa mora prije izvođenja prevesti u strojni oblik. Program napisan u strojnom jeziku za jednu vrstu računara, tj. jedan tip procesora, nije primjenljiv na drugoj vrsti procesora. Svaki procesor ima sebi svojstven strojni jezik. Program napisan u strojnom jeziku nazivamo izvršni program ili izvršni kod budući da ga računar može neposredno izvršiti. Programski jezik C++ 6 29. 1. 2015

Asembler Pisanje instrukcija u binarnom kodu dosta je nepraktično pa su razvijeni simbolički jezici

Asembler Pisanje instrukcija u binarnom kodu dosta je nepraktično pa su razvijeni simbolički jezici u kojima su binarne instrukcije zamijenjene mnemoničkim oznakama. Programer unosi program napisan u mnemoničkim oznakama u tekstualnu datoteku pomoću editora teksta i zatim poziva program koji mnemoničke oznake prevodi u binarne instrukcije strojnog jezika. Program koji vrši konverziju naziva se asembler (eng. assembler) a sam se programski jezik naziva asemblerski jezik ili jednostavno asembler. Programski jezik C++ 7 29. 1. 2015

Asembler, nastavak Program napisan u asemblerskom jeziku nazivamo izvorni program (eng. source code). Pisanje

Asembler, nastavak Program napisan u asemblerskom jeziku nazivamo izvorni program (eng. source code). Pisanje programa time postaje dvostepeni proces koji obuhvata: 1. pisanje izvornog programa i 2. prevođenje izvornog programa u izvršni program. Programer se tako oslobađa mukotrponog pisanja binarnih instrukcija te se dobiva do određene mjere strojna neovisnost izvornog programa. Programski jezik C++ 8 29. 1. 2015

Primjer Sljedeći primjer pokazuje dio izvršnog koda (strojni jezik) i njemu ekvivalentan izvorni, asemblerski

Primjer Sljedeći primjer pokazuje dio izvršnog koda (strojni jezik) i njemu ekvivalentan izvorni, asemblerski kod. (Radi se o asembleru za Intelov mikroprocesor 8086): Programski jezik C++ 9 29. 1. 2015

Programiranje na asembleru Pisanje programa u asemblerskom jeziku daje programeru potpunu kontrolu nad svim

Programiranje na asembleru Pisanje programa u asemblerskom jeziku daje programeru potpunu kontrolu nad svim komponentama računara. Programer stoga mora poznavati arhitekturu računara za kojeg piše program te kontrolirati sve operacije koje računar izvršava. Program napisan u asembleru mora biti preveden u binarni oblik odgovarajućim programom prevoditeljem da bi ga procesor “razumio”. Oni su ešto čitljiviji i lakši za razumijevanje od binarnog zapisa, ali ih je još uvijek teško pisati i ispravljati. I oni ovise od vrste i unutrašnje građe računara pa se u načelu mogu izvršavati samo na procesoru za koji su pisani. Programski jezik C++ 10 29. 1. 2015

Viši programski jezici Izvorni program napisan u asembleru nije prenosiv između računara različite arhitekture.

Viši programski jezici Izvorni program napisan u asembleru nije prenosiv između računara različite arhitekture. Zbog svih tih razloga za većinu programerskih zadataka koriste se viši programski jezici. Viši programski jezici (C, Pascal, FORTRAN, C++, Java, Perl, Python, . . . ) razvijeni su kako bi se prevladali nedostaci asemblerskog jezika. Oni oslobadaju programera potrebe poznavanja arhitekture računala, omogućavaju prenosivost programa izmedu računara različitih arhitektura te brže i jednostavnije programiranje. Programski jezik C++ 11 29. 1. 2015

Viši programski jezici Programi napisani u višem programskom jeziku moraju prije izvodenja proći postupak

Viši programski jezici Programi napisani u višem programskom jeziku moraju prije izvodenja proći postupak prevodenja u izvršni kod što je zadatak prevodioca (eng. compiler). Naredbe višeg programskog jezika prilagođene su tipu podataka s kojima programski jezik manipuliše i operacijama koje nad podacima treba vršiti. To je osnovna razlika naspram asemblera koji je prilagoden načinu funkcioniranja mikroprocesora i pridodatih logičkih sklopova. Programski jezik C++ 12 29. 1. 2015