Presentation is loading. Please wait.

Presentation is loading. Please wait.

OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU

Similar presentations


Presentation on theme: "OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU"— Presentation transcript:

1 OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
C++ OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU 2. dio

2 Leksika, sintaksa i semantika
Pisanje programa podliježe pravilima koja su slična pravilima pisanja u običnom govornom jeziku. Programski jezik određuju tri jezičke komponente: LEKSIKA SINTAKSA – određuje kojim redom se leksemi slažu u programske iskaze. SEMANTIKA - određuju značenje programskih iskaza.

3 Leksika, sintaksa i semantika
Leksika programskog jezika određuje alfabet jezika te kako se tvore leksemi - nizovi znakova koji čine prepoznatljivu nedjeljivu cjelinu. Sintaksa programskog jezika - skup pravila i dogovora kojima se opisuju pravilne konstrukcije (pravilne rečenice, iskazi) jezika. Sintaksa opisuje strukturu jezičnih izraza i predstavlja skup pravila kojima se definira struktura jezika. Semantika prog. jezika određuje značenje programskih iskaza.

4 Temeljne leksičke kategorije
Identifikatori - služe za zapis imena varijabli, funkcija i korisničkih tipova. Ključne riječi C++ jezika su: bool, break, catch, char, class, itd.. Ne smiju se koristiti kao identifikatori jer oni bitno određuju programske iskaze i strukture. Zapisuju se malim slovima. Literalne konstante služe za zapis numeričkih i tekstualnih (znakovnih) konstanti (pr. 135, 3.14, 'A', “Pozdrav”). Operatori (+ - */,..=, []..(), &, .+=,*=,...) služe označavanju aritmetičko- logičkih i drugih operacija koje se provode sa memorijskim objektima - varijablama i konstantama. Leksički separatori su znakovi koji odvajaju lekseme. Razmak, tabulator i kraj retka tretiraju se kao prazno mjesto, kojim se razdvajaju leksemi. Operatori, također, imaju značaj leksičkih separatora. Znak točka-zarez (‘;') predstavlja separator - terminator naredbi. Komentar se piše kao proizvoljni tekst. Dozvoljena su dva načina zapisa : // ovo je komentar /* i ovo je komentar */ Specijalne leksičke direktive se označavaju znakom # na početku retka. One se izvršavaju prije procesa kompajliranja. Primjerice, #include<iostream> je pretprocesorska direktiva da se u proces kompajliranja uvrsti i sadržaj datoteke imena iostream.

5 C++ ključne riječi

6 Varijable Varijable – podaci koji tijekom izvršavanja programa mogu mijenjati svoju vrijednost. Svaka varijabla ima jedinstvenu memorijsku adresu u obliku višeznamenkastog binarnog broja. Obzirom da je takav je način bilježenja neprikladan za korisnike varijable se označavaju simboličkim imenima (identifikatorima).

7 Varijable Imena varijabli su proizvoljna ali se moraju poštovati tri pravila: Mogu biti sastavljena od: slova engleskog alfabeta, znamenki znaka za podcrtavanje "_" (underscore) Prvi znak mora biti slovo ili "_“ Ne smiju biti jednaki ključnim riječima

8 Varijable Prilikom davanja imena varijablama treba voditi računa o tome da C++ razlikuje velika i mala slova. dvije različite varijable PrvaVar prvavar

9 Zadatak 3. Odredi koja imena varijabli su pravilno napisana. broj x x1
X_jedan brojač 2broj _sums namespace NEPRAVILNO razmak nije dopušten PRAVILNO PRAVILNO NEPRAVILNO nisu dopušteni naši dijakritički znakovi NEPRAVILNO ime varijable ne smije započeti brojem PRAVILNO NEPRAVILNO namespace je ključna riječ C++ jezika

10 Deklariranje varijabli
Deklariranje varijabli je postupak dodjeljivanja simboličkog imena varijabli i određivanja tipa podataka koji će u nju biti smješteni. Zašto se obavlja deklariranje varijabli? Da bi prevoditelj pohranio podatke prema određenim pravilima. Da bi prevoditelj znao kako provoditi operacije nad varijablama. int a float x oznaka tipa podataka simboličko ime varijable

11 Pridruživanje vrijednosti varijablama
Deklariranoj varijabli se može pridružiti vrijednost operatorom pridruživanja. Operator pridruživanja je znak =. Pridruživanjem vrijednosti objektu se mijenja njegova vrijednost, a tip ostaje isti. objekt = vrijednost; a=10; // varijabli a pridruži vrijednost 10 x=x+3; // podatku u var. x dodaj 3 i zatim taj zbroj pohrani u var. x k=m+n; // zbroji vrijednosti u var. m i n te dobiveni zbroj pridruži var. k int x=5; //deklariranje i pridruživanje se može obavljati u istom retku

12 Tipovi podataka Tipovi podataka:
osnovni i ostali. Osnovni tipovi podataka u C++ jeziku su: brojevi cijeli brojevi tipa int i long int, realni brojevi tipa float, double i long double znakovi.

13 Cijeli brojevi – tip int
Varijabla označena sa int je cjelobrojna varijabla i može joj se dodijeliti samo cijeli broj. int a; int x, y, z; Za pohranu u memoriju su predviđena 4 B (32 b). Prvi bit je rezerviran za predznak broja, pa za pohranu broja ostaje 31 b, što omogućava pohranu brojeva u rasponu -231, 231-1 to jest od do

14 Cijeli brojevi – tip int
Cjelobrojne varijable mogu biti deklarirane i bez predznaka i tada je najveća vrijednost koja se može pohraniti = (sva 32 b se koriste za pohranu broja). unsigned int x;

15 Realni brojevi – tip float
Varijabla označena sa float je realna varijabla. C++ koristi decimalnu točku a ne zarez. float pi= ; Za pohranu realnog broja u memoriji predviđena su 4 B (32 b). Brojevi u rasponu: od -3.4x1038 do 3.4x1038

16 Realni brojevi – tip float
Realni brojevi se mogu prikazati: sa pomičnom decimalnom točkom (engl. floating point) u eksponencijalnom prikazu (npr. 7.65e-4) i sa nepomičnom decimalnom točkom (npr ) .

17 Realni brojevi – tip float
Eksponencijalni prikaz broja 7,65e-4 Broj ispred slova e je mantisa broja, a broj iza je eksponent baze (kod dekadskih brojeva baza je 10). Slovo e može biti zapisano kao malo ili veliko slovo. Praznine unutar zapisa broja nisu dozvoljene jer prazninu prevoditelj prihvaća kao kraj broja.

18 Realni brojevi – tip float
U realnu se varijablu sprema samo 7 decimalnih znamenki mantise. Pri unosu više od 7 znamenki, pri prevođenju se zanemaruju najmanje vrijedne decimalne znamenke, odnosno po potrebi zaokružuju. Treba uočiti razliku između broja znamenki koje se spremaju i broja znamenki koje se prikazuju na zaslonu!

19 Realni brojevi – tip float
Uobičajeno se realni brojevi prikazuju s do 6 znamenaka, računajući od prve različite od 0. Ako se broj ne može prikazati s toliko znamenaka bit će prikazan u eksponencijalnom prikazu.

20 Realni brojevi Ako točnost koju nudi tip float ne zadovoljava mogu se upotrijebiti varijable veće točnosti. To su varijable tipa: double (eksponent 308), sa točnošću 15 decimalnih znamenki, long double (eksponent 4932) sa točnošću 18 decimalnih znamenki.

21 Treći program #include <iostream> #include <conio.h> #include <climits> #include <cfloat> using namespace std; int main() { cout<<"Najmanji broj tipa int: " << INT_MIN <<endl; cout<<"Najveci broj tipa int: " << INT_MAX <<endl; cout<<"Najmanji broj tipa long: " << LONG_MIN <<endl; cout<<"Najveci broj tipa long: " << LONG_MAX <<endl; cout<<"Najmanji broj tipa float: " << FLT_MIN <<endl; cout<<"Najveci broj tipa float: " << FLT_MAX <<endl; cout<<"Najmanji broj tipa double: " << DBL_MIN <<endl; cout<<"Najveci broj tipa double: " << DBL_MAX <<endl; getch(); return 0; }

22 Znakovi – tip char Ako je podatak znak, njegova oznaka tipa je char. Podatak tipa char je predstavljen jednim znakom unutar jednostrukih navodnika ili ASCII vrijednošću odabranog znaka. char slovo=‘C’; ili char slovo=67; ASCII – akronim od American Standard Code for Information Interchange (Američki standardni kod za razmenu podataka). Izgovara se “aski”.

23 Znakovi – tip char Za pohranu znaka u memoriji je predviđen 1 B (8 b).
28 = 256 različitih znakova. Znak se pohranjuje kao broj - ASCII vrijednost odabranog znaka. Ako je potreban znak koji se ne može prikazati na zaslonu, koristi se slijed koji počinje lijevom kosom crtom (engl. backslash), kojeg dobijemo kombinacijom tipki Alt Gr + Q. Primjerice: ‘\a‘ – zvučni signal ‘\n‘ – pomak u novi red

24 ASCII tablica prvih 128 znakova

25 “2.d obožava programski jezik C++”
Znakovni niz Za pohranu teksta, odnosno niza znakova, koriste se znakovni nizovi (engl. character strings). Sadržaj znakovnog niza se navodi unutar para dvostrukih navodnika. “2.d obožava programski jezik C++”

26 Četvrti program // Primjer rada sa znakovnim varijablama i znakovnim nizovima #include<iostream> #include<conio.h> using namespace std; int main() { char a,b; a='A'; b=65; cout<<a<<'\a'<<'\n'; cout<<b<<'\a'<<'\n'; cout<<"Ovo je znakovni niz"<<'\n'; cout<<"Ovo je drugi znakovni niz"<<endl; getch(); return 0; }

27 Konstante Konstanta – vrijednost koja se tijekom izvršavanja programa ne mijenja. Konstante se spremaju u rezervirana mjesta u memoriji zbog lakšeg rukovanja i zbog zaštite od neželjenih promjena tijekom odvijanja programa. Primjer deklariranja konstante: const float pi = ;

28 Konstante Konstanta – vrijednost koja se tijekom izvršavanja programa ne mijenja. Konstante se spremaju u rezervirana mjesta u memoriji zbog lakšeg rukovanja i zbog zaštite od neželjenih promjena tijekom odvijanja programa. Primjer deklariranja konstante: const float pi = ;

29 Peti program // Deklariranje i ispis konstante #include<iostream> #include<conio.h> using namespace std; int main() { const float pi= ; cout<<"Ludolfov broj (pi)="<<pi<<'\a'<<endl; cout<<"Dvostruko veći broj od njega je "<<pi+pi<<'\n'; getch(); return 0; }

30 Zadatak 3. U prethodnom primjeru dodaj naredbu pi=pi+1;
odmah ispod deklaracije konstante pi. Pokušaj prevesti program, objasni što se desilo i zašto.

31 Zadatak 4. Korištenjem isključivo ASCII vrijednosti znakova na ekranu u prvom redu velikim slovima ispiši svoje ime i, u drugom redu, C++.

32 Zadatak 4. Rješenje #include<iostream> #include<conio.h>
using namespace std; int main() { char z1,z2,z3,z4; const char c=67; const char plus=43; z1=82; z2=79; z3=66;z4=73; cout<<z1<<z2<<z3<<z4<<endl; cout<<c<<plus<<plus<<endl; getch(); return 0; }


Download ppt "OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU"

Similar presentations


Ads by Google