PROGRAMIRANJE PROGRAMIRANJE Programiranje je postupak nastanka programa za

  • Slides: 22
Download presentation
PROGRAMIRANJE

PROGRAMIRANJE

PROGRAMIRANJE Programiranje je postupak nastanka programa za računalo Zahtjeva vrlo dobro poznavanje rada na

PROGRAMIRANJE Programiranje je postupak nastanka programa za računalo Zahtjeva vrlo dobro poznavanje rada na računala i programskog okruženja u kojem se program piše

PROGRAM • Program je skup naredbi čijim se izvršenjem obavlja željeni posao (svaka naredba

PROGRAM • Program je skup naredbi čijim se izvršenjem obavlja željeni posao (svaka naredba se sastoji od jedne ili više linija koda • Čovjek koji piše program za računalo zove se PROGRAM IDEXMP programer INTEGER BUS_NUM = 99 WRITE(*, *) ' TAKE BUS ', BUS_NUM END

NAREDBA • Svaki se program sastoji od naredbi • Naredba (engl. command ) je

NAREDBA • Svaki se program sastoji od naredbi • Naredba (engl. command ) je temeljni element programa • To je niz ključnih riječi kojima programer „naređuje” računalu obavljanje neke željene radnje • Postoje naredbe za različite operacije: naredba pridruživanja, naredba unosa, naredba ispisa, naredba zbrajanja, itd.

TIPOVI PROGRAMSKIH JEZIKA • Strojni jezik • Viši programski jezik • Objektno orijentirani jezik

TIPOVI PROGRAMSKIH JEZIKA • Strojni jezik • Viši programski jezik • Objektno orijentirani jezik • Programski jezici neovisni o sklopovlju i operacijskom sustavu

STROJNI JEZIK • Jedini jezik koji računalo razumije te se svaki drugi oblik programa

STROJNI JEZIK • Jedini jezik koji računalo razumije te se svaki drugi oblik programa mora prije izvođenja prevesti u strojni jezik • Program napisan u strojnom jeziku sastoji se od slovčanih kratica koje zamjenjuju nizove binarnih brojeva (naredbe) 100100 0101000101010

STROJNI JEZIK • PREDNOSTI: Djelotvorno iskorištenje memorije i velika brzina izvođenja napisanog programa •

STROJNI JEZIK • PREDNOSTI: Djelotvorno iskorištenje memorije i velika brzina izvođenja napisanog programa • NEDOSTACI: Složenost postupka izrade programa i ograničenost programa na jedan tip mikroprocesora (program napisan za jedan tip mikroprocesora nije primjenjiv na drugom tipu)

STROJNI JEZIK • Prikaz strojnog jezika s pomoću slovčanih kratica naziva se još i

STROJNI JEZIK • Prikaz strojnog jezika s pomoću slovčanih kratica naziva se još i SIMBOLIČKIM JEZIKOM ili ASEMBLEROM SIMBOLIČKI JEZIK PREVEDENO U STROJNI JEZIK (ASEMBLER) MOV AX, 5 ADD AX, BX 10111000 00000101 00000011 11000011

VIŠI PROGRAMSKI JEZICI • Viši programski jezici su svi oni koji nisu izravni prikaz

VIŠI PROGRAMSKI JEZICI • Viši programski jezici su svi oni koji nisu izravni prikaz binarnog oblika naredbe • Razlog uvođenja je da se strojni jezik nadomjesti lakšim i razumljivijim programskim jezikom • Veći ili manji skup naredba strojnog jezika se nadomješta jednom naredbom višeg programskog jezika

VIŠI PROGRAMSKI JEZICI 10 REM Izračunavanje opsega i površine pravokutnika 20 CLS 30 A

VIŠI PROGRAMSKI JEZICI 10 REM Izračunavanje opsega i površine pravokutnika 20 CLS 30 A = 12. 3 : REM Stranica A pravokutnika 40 B = 8. 2 : REM Stranica B pravokutnika 50 OPSEG = 2 * A + 2 * B : REM Formula za opseg 60 POV = A * B : REM Formula za površinu 70 PRINT OPSEG : REM Ispis opsega 80 PRINT POV : REM Ispis površine

VIŠI PROGRAMSKI JEZICI

VIŠI PROGRAMSKI JEZICI

VIŠI PROGRAMSKI JEZICI • Programer ne mora znati gotovo ništa o građi računala •

VIŠI PROGRAMSKI JEZICI • Programer ne mora znati gotovo ništa o građi računala • Za razliku od asemblera pri prevođenju se svaka naredba višeg programskog jezika prevede u mnogo bajtova • Drugi važan razlog uvođenja viših programskih jezika je potreba da se jedan te isti program primjeni na različitim modelima računala tj. različitim mikroprocesorima

VIŠI PROGRAMSKI JEZICI • Nisu namijenjeni strogo uskom području primjene već je njima moguće

VIŠI PROGRAMSKI JEZICI • Nisu namijenjeni strogo uskom području primjene već je njima moguće rješavati relativno širok raspon zadataka • BASIC • (Beginner’s all-purpose symbolic instruction code) učenje programiranja, jednostavniji programi • Pascal • Učenje strukturnog programiranja, jednostavniji programi • C (C++) • Jezik velikih mogućnosti kojim se služe profesionalni programeri

Primjer BASIC PRINT : PRINT "English to Metric Conversion" programa INPUT "Miles: ", Miles

Primjer BASIC PRINT : PRINT "English to Metric Conversion" programa INPUT "Miles: ", Miles INPUT "Yards: ", Yards INPUT "Feet: ", Feet INPUT "Inches: ", Inches = 63360 * Miles + 36 * Yards + 12 * Feet + Inches Meters# = Inches / 39. 37# Kilometers = INT(Meters# / 1000) Meters# = Meters# - 1000 * Kilometers Final. Meters = INT(Meters#) Centimeters = Meters# - Final. Meters Centimeters = 100 * Centimeters = INT((Centimeters +. 005) * 100) / 100 PRINT "Kilometers: "; Kilometers PRINT "Meters: "; Final. Meters PRINT "Centimeters: "; Centimeters END

Primjer Pascal programa program Povrsina. Kruga var povrsina, polumjer: real; begin write(‘Upisi polumjer kruga:

Primjer Pascal programa program Povrsina. Kruga var povrsina, polumjer: real; begin write(‘Upisi polumjer kruga: ‘); readln(polumjer); povrsina: =polumjer*3, 14; write(‘Povrsina je: ‘, povrsina); end.

Primjer C++ programa #include <iostream. h> void main() { int a, b, c; cout

Primjer C++ programa #include <iostream. h> void main() { int a, b, c; cout << "Please enter three numbersn"; cout << "a: "; cin >> a; cout << "nb: "; cin >> b; cout "nc: "; cin >> c; } if (c=(a-b)) { cout << "a: "; cout << a; cout << " minus b: "; cout << b; cout << " equals c: "; cout << c << endl; } else cout << "a-b does not equal c: " << endl;

JEZIČNI PREVODITELJI • Program napisan u prikazu koji nije binarni naziva se IZVORNI PROGRAM

JEZIČNI PREVODITELJI • Program napisan u prikazu koji nije binarni naziva se IZVORNI PROGRAM (eng. source code) i prije izvođenja ga je potrebno prevesti u strojni program • Jezični prevoditelji su računalni programi koji prevode viši oblik prikaza jezika u binarni

JEZIČNI PREVODITELJI • Kompajler (engl. compiler) • Kompajler je program koji prevodi izvorni program

JEZIČNI PREVODITELJI • Kompajler (engl. compiler) • Kompajler je program koji prevodi izvorni program u strojni jezik samo jednom • Prevedena inačica programa ima nastavak. exe • Prevedeni program može se izvršavati bez kompajlera • Interpreter • Prevodi svaki put kad se program izvršava i to naredbu po naredbu (prevede i izvrši, prevede i izvrši. . . ) • Omogućava trenutno otkrivanje određene vrste greške i interaktivno ispravljanje

OBJEKTNO ORIJENTIRANI PROGRAMSKI JEZICI • Razlog razvoja takvih programa je želja da se programi

OBJEKTNO ORIJENTIRANI PROGRAMSKI JEZICI • Razlog razvoja takvih programa je želja da se programi sastavljaju iz gotovih komponenata • Upotrebljavaju gotove dijelove programa (objekte, klase) pri gradnji složenijih programa • Postupak programiranja uz pomoć objekata naziva se objektno orjentirano programiranje • Popularni objektno orijentirani programi opće namjene: Visual Basic, Visual C++

PROGRAMSKI JEZICI NEOVISNI O SKLOPOVLJU I OPERACIJSKOM SUSTAVU • Takvi programski jezici su prenosivi

PROGRAMSKI JEZICI NEOVISNI O SKLOPOVLJU I OPERACIJSKOM SUSTAVU • Takvi programski jezici su prenosivi • Jedan te isti program napisan u C++ može se izvoditi na 2 i više različitih računala koji rade pod različitim operacijskim sustavima • Najpoznatiji: HTML i Java

HTML Ograničenih je mogućnosti i ne spada u jezike opće namjene Specijalizirani programski jezik

HTML Ograničenih je mogućnosti i ne spada u jezike opće namjene Specijalizirani programski jezik namijenjen izradi hipertekstovnih dokumenata Omogućuje prikaz mrežnog hipertekstovnog dokumenta na zaslonu monitora bez obzira na to o kakvoj je vrsti računala ili operacijskog sustava riječ <html> <head> <title>Naslov</title> </head> <body> <h 1> <font color="#FF 0000">Dobar dan</font> </h 1> </body> </html>

JAVA • Snažan objektno orijentirani programski jezik opće namjene • Nalikuje na C++ •

JAVA • Snažan objektno orijentirani programski jezik opće namjene • Nalikuje na C++ • Glavna značajka mu je potpuna prenosivost • Java program se uz pomoć Java kompajlera prevodi u Java Bytecodes koji je neovisan o računalu i operacijskom sustavu. To je strojni jezik za tzv. Java prividno ili virtualno računalo. Dalje se Java Bytecodes (na računalu na kojem se program izvršava) uz pomoć Interpretera prevodi u strojni jezik