62
Objektno orjentirano programiranje Predavanje 1 Uvod Ciljevi Prvi program Konstante i varijable

Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

  • Upload
    lehuong

  • View
    247

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Objektno orjentirano programiranje

Predavanje 1Uvod

CiljeviPrvi program

Konstante i varijable

Page 2: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Sadržaj

• Način provođenja nastave

• Obaveze studenata

• Sadržaj kolegija

• Oblik provođenja ispita

Page 3: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

• Toni Jakovčević

– A420

[email protected]

– Konzultacije : po dogovoru

Predavanja i laboratorijske vježbe

Page 4: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Način provođenja nastave

• Predavanja– 3 sata tjedno– Srijedom 11-14, B402

• Vježbe– 2 sata tjedno– Ulazni kolokvij– Termini:

– ČET 12:30-14:00 B525– ČET 14:00-15:30 B525

• Samostalni rad– Min. 2 sata tjedno– Vrijeme i mjesto: po želji

Page 5: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Obaveze studenata

• Pohađanje predavanja

– Aktivno sudjelovanje

• Pohađanje vježbi

– Priprema za vježbe

– Rješavanje dodjeljenih zadataka

• Samostalan rad

Page 6: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Obaveze nastavnika

• Priprema literature za učenje

• Priprema zadataka za samostalni rad

• konzultacije

Page 7: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Preduvjeti

• Osnovna znanja o računalima i programiranju.

– Poznavanje C programskog jezika

– Varijable, operatori, kontrola toka, funkcije...dinamička alokacija memorije

• Poznavanje engleskog jezika

Page 8: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Ispit

• Kolokviji

• Ispit

• Pismeni + usmeni

• Pismeni: programerski zadaci

– Dijelovi programa

• Usmeni: objasniti kod

Page 9: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Sadržaj kolegija

• Način razmišljanja na objektno orijentiran način• Osnove objektno orijentirane paradigme

• Principi programiranja. Vrste programskih jezika. Programski jezik C++. Varijable, funkcije. Kontola toka programa. Standardni ulaz i izlaz. Pojam klase i objekta. Elementi klase. Konstruktori, destruktori, mutatori pristupnici.

• Programski blokovi i moduli. Imenički prostori. • Apstraktni tipovi podataka. Operatori i preopterećenje

operatora. Nasljeđivanje i polimorfizam. • Korištenje gotovih klasa – lista, string, vektori, stog, red.

Generičke klase, generičko programiranje i predlošci• Rukovanje iznimkama.

Page 10: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Literatura

• Slajdovi sa predavanja • Elearning portal

• The Object-Oriented Thought Process (4th Edition) (Developer's Library) by Matt Weisfeld (Author) Addison-Wesley Professional; 4 edition (March 23, 2013)

• Code Complete: A Practical Handbook of Software Construction, Second Edition, by Steve McConnell (Author) Microsoft Press; 2nd edition

• Object-Oriented Analysis and Design with Applications (3rd Edition), by Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, Kelli A. Houston (Authors) Addison-Wesley Professional

• Na hrvatskom• Julijan Šribar i Boris Motik, Demistificirani C++

Page 11: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Razvojna okolina

• Microsoft Visual Studio

• ECLIPSE + CDT

(C/C++ Development

Tooling)

Page 12: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Kako naučiti C++ u 21 dan

Page 13: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Kako naučiti programirati

Page 14: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Zašto?

• Dobiti ocjenu?• Završiti fakultet?• Lakše se zaposliti?

• Rješavanje problema• Automatizacija akcija• Umjetna inteligencija• Pametni okoliši• ........

Page 15: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja
Page 16: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Programiranje

• Računalno programiranje ili kodiranje• Programiranje je pisanje uputa računalu• što i kako učiniti, • izvodi se u nekom od programskih jezika. • Programiranje je umjetnost i umijeće u stvaranju

programa za računala. • sadrži u sebi elemente

– dizajna, umjetnosti, znanosti, matematike kao i inžinjeringa.

• Osoba koja stvara program zove se programer.

wikipedia

Page 17: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Programiranje

Vještina programiranja objedinjuje najbolje od:

•Matematike: koristi formalni jezik za označavanje ideja

•Inženjerstva : dizajniranje novih proizvoda, slaganje i kombiniranje dostupnih komponenti , uspoređivanje uspješnosti konkurentnih rješenja

•Prirodnih znanosti: pročavanje ponašanja kompleksnih sustava, prredviđanje ponašanja ..

Page 18: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Osnovni dijelovi računala

Memorija

Procesor

Ulazno – izlazni uređaji

Page 19: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Osnovni dijelovi računala

• Procesor : srce (ili mozak) računala– Izvršava instrukcije

– Obično jedan čip koji je u stanju izvršavati naredbe napisane strojnim jezikom

– Razumije svoj strojni jezik

• Memorija– Radna memorija (RAM)

– Procesor čita naredbe iz memorije

– Memorija se koristi i za pohranu podataka koje koristi procesor u izvršavanju naredbi

Page 20: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Memorija• Memorija je organizirana kao niz

memorijskih lokacija

• Neke lokacije sadrže naredbe(program - code)

• Neke sadrže podatke (data)

• Stack – automatske varijable korištene u funkcijama

• Heap – dinamički alocirana memorija

• Podatke program dohvaća, čita i mijenja

Stack

Code

Static Data

Heap

Process

Page 21: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Uređaji za ulaz/izlaz

Page 22: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Programski jezici

• Više razine

• Niže razine

• Kompajlerski

• Interpreterski

Page 23: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Nestrukturirano programiranje

• Prvi programi su obično niz naredbi u main

modulu – bez struktrure

Page 24: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Proceduralno

• Niz povezanih naredbi koje ispunjavaju jedan zadatak su grupirane u procedure (funkcije)

• Glavni program koristi pozive procedure za izvršavanje niza naredbi

• Procedure mogu primati parametre

Page 25: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Modularno

• Skup procedura koje čine logičku cjelinu grupira se u module

• Podaci: svaki modul brine se o svojim podacima – Podaci modula = unutarnje

stanje

• Svaki modul jednom se uključuje u program

Page 26: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Objektno orjentirano

• Mane modula: ne možemo – uključivati više puta

– imati više verzija unutarnjih stanja

• Objekti su bolje rješenje

• Realni svjet sastavljen je od objekata a ne od funkcija

Page 27: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Objektno orjentirano programiranje

• Udruživanje podataka sa radnjama na njima

• Event driven programiranje

• Enkapsulacija

• Skrivanje podataka

• Nasljeđivanje

• Polimorfizam

Page 28: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Rješavanje problema

• Rješavanje problema:

– Formulirati problem

– Kreativno razmisliti o rješenju

– Izraziti rješenje točno i precizno

• Usvjanjem vještine programiranja:

– 1: problem: naučiti programirati

– 2: koristiti vještinu programiranja u rješavanju problema

Page 29: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Zahtjevi programiranja

• Pouzdanost - program mora raditi ono što se od njega traži. Za dobre podatke davati dobre rezultate

• Robustnost – nepodložan pogreškama sustava.

• Iskoristivost (usability) – ergonomičnost programa. Lak za korištenje krajnjim korisnicima

• Prenosivost – izvoditi se na različitim softverskim i hardverskim platformama

• Lako održavanje – proširenje, ispravke pogrešaka

• Efikasnost performansi - brzina izvođenja, zahtjev za memorijom, resursima....

Page 30: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja
Page 31: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Kako napisati svoj prvi program u c++

• Instalirati C++ kompajler

• Kopirati #include <iostream>

using namespace std;

int main() {

cout<<"Dobar Dan!!"<< endl;

}

• U tekstualnu datoteku

• Pohraniti datoteku na disk s imenom hello.cpp

• Kompajlirati kod

• Pokrenuti aplikaciju

Page 32: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Kompajliranje

• Pisanje uputa računalu• Izvorni kod:

– upute napisane u nekom programskom jeziku– Tekstualna datoteka!!

• Objektna datoteka– Izvorni kod nakon obrade kompajlera– Strojni kod– .obj (win) ili .o (linux) datoteke

• Izvršna datoteka– .exe nakon linkanja

Page 33: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Linkanje

• Broj .cpp i .obj datoteka je odnosa 1:1

– Jedna datoteka izvornog koda kompajlira se u jedan objektni kod

– Za dobiti izvršnu datoteku potrebno je još povezati obj u exe

– Linker

– Cl, gcc i c++ su istovremeno i kompajleri i linkeri

• Make

Page 34: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Kompajleri

• Windows

– Microsoft Visual C++ (cl)

– MinGW (c++ )

• Linux

– gnu c compiler (gcc)

• Razvojna okolina

– Visual studio

– ECLIPSE

Page 35: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

C++

• Nije potpuno objektno orjenitran

– (hibridni jezik)

• „C with classes”

• Potpuno komatibilan sa C jezikom

• Brz

Page 36: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

C++

• Bjarne Stroustrup

– Autor c++ jezika

Page 37: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Hello world!

#include <iostream>

using namespace std;

//comment!!

int main() {

cout<<"Dobar Dan!!"<< endl;

}

Page 38: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Ulaz / izlaz

• Std namespace

• cin i cout

• Operator toka << i >>

• endl

• cout<<"hello!”<<endl;

• cout<<"pick a number” <<endl;

• cin>>x;

Page 39: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Varijable

• Memorijski objekti: podaci koji se nalaze u memoriji za vrijeme izvršavanja programa

• Memorijska adresa: redni broj lokacije u memoriji na kojoj je podatak nalazi

• Procesor : može mijenjati podatke u memoriji.

• Varijable : promjenjivi memorijski objekti

• Imaju ime

• Imaju tip

Page 40: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja
Page 41: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Deklaracija i inicijalizacija

• Deklaracija : ime i tip varijable

• Rezervira se prostor za memorijski objekt

• Tip određuje veličinu prostora

• Inicijalizacija : deklaracija u kojoj se

određuje i početna vrijednost varijable.

Page 42: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Varijable

• Strongly typed (vs. weak )

• Staticly typed (vs. Dynamicly)

• Deklaracija varijable:

int i;

float j;

char z;

double d;

........

Page 43: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Tip podatka

• Određuje :

• način kodiranja podatka,

• način kako zauzima memoriju računala

• operacije koje su nad tim podatkom dozvoljene

• U većini programskih jezika standardni su tipovi podataka:

• numerički (cjelobrojni ili realni)

• logički

• znakovni

Page 44: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Osnovni tipovi podataka

Page 45: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

• // sizeof.cpp - Program koji ispisuje zauzeće memorije • // za sve proste tipove C++ jezika •

• #include <iostream> • using namespace std; •

• int main() • { • cout << "Sizeof(bool) = " << sizeof(bool) << endl; • cout << "Sizeof(unsigned char) = " << sizeof(unsigned char) << endl; • cout << "Sizeof(char) = " << sizeof(bool) << endl; • cout << "Sizeof(short) = " << sizeof(short) << endl; • cout << "Sizeof(unsigned short)= " << sizeof(unsigned short)<< endl; • cout << "Sizeof(int) = " << sizeof(int) << endl; • cout << "Sizeof(unsigned int) = " << sizeof(unsigned int) << endl; • cout << "Sizeof(long) = " << sizeof(long) << endl; • cout << "Sizeof(unsigned long) = " << sizeof(unsigned long) << endl; • cout << "Sizeof(float) = " << sizeof(float) << endl; • cout << "Sizeof(double) = " << sizeof(double) << endl; • return 0; • }

Page 46: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

• /* limits.cpp • * Program koji ispisuje maksimalnu i minimalnu vrijednost • * numeričkih tipova C++ jezika */ • #include <iostream> • #include <limits.h> • #include <float.h> • using namespace std; •

• int main( void ) • { • cout << "Tip " << "Interval vrijednosti\n" << endl; • cout << "bool " << false << "..." << true << endl; • cout << "char " << CHAR_MIN << "..." << CHAR_MAX << endl; • cout << "short int " << SHRT_MIN << "..." << SHRT_MAX << endl; • cout << "int " << INT_MIN << "..." << INT_MAX << endl; • cout << "long int " << LONG_MIN << "..." << LONG_MAX << endl; • cout << "float " << FLT_MIN << "..." << FLT_MAX << endl; • cout << "double " << DBL_MIN << "..." << DBL_MAX << endl; • cout << "long double " << LDBL_MIN << "..." << LDBL_MAX << endl; • return 0 ; • }

Page 47: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Konstante Tip

konstanteLiteralni

zapisZnačenje

char

’a’’A’’\035’’\x29’’\n’

znakovna konstanata aznakovna konstanata Aznakovna konstanata 35 oktalnoznakovna konstanata 29 heksadecimalnokontrolni znak nova linija

int15602340x9C

decimalna notacijaoktalna notacija cjelobrojne konstanteheksadecimalna notacija

unsigned156U0234U0x9cU

decimalnooktalnoheksadecimalno(sufiks U određuje kardinalni broj)

float15.6F1.56e1F

realni broj – jednostruki formatodređen je primjenom sufiksa F ili f

double15.61.56E1L

konstante su tipa "double" ukoliko se ne koristi prefiks F. Nije nužno pisati sufiks L.

Page 48: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Aritmetički operatori

Demistificirani c++

Page 49: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

• // area1.cpp - Program koji računa površinu kruga radijusa 2.1 m

• #include <iostream>• using namespace std;

• int main()• {• cout << "Povrsina kruga radijusa 2.1 m je " <<

2.1*2.1*3.14<< "m" << endl;

• cout << "Povrsina kruga radijusa 2 m je " << 2*2*3.14<< "m" << endl;

• return 0;• }

Page 50: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja
Page 51: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

• // charvalue.cpp-Program kojim se ispituje znakovne konstante• #include <iostream>• using namespace std;

• int main()• {• char c; // deklaracija varijable c tipa char• int x; // deklaracija varijable x tipa int• c = 'A'; // objema varijablama može se pridijeliti• x = 'A'; // vrijednost znakovne konstante 'A'

• cout << "c = " << c << endl;• cout << "Sizeof c = " << sizeof (c) << endl;• cout << "x = " << x << endl;• cout << "sizeof x = " << sizeof(x) << endl;• cout << "Sizeof 'A' = " << sizeof('A') << endl;• cout << 0.156e2<<endl;

• return 0;• }

Page 52: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Znak Opis

\b oznaka za povrat unatrag - backspace BS

\f oznaka za stranicu unaprijed - form feed FF

\n oznaka nove linije - new line NL

\r oznaka za povrat na početak reda CR

\t oznaka za horizontalni tabulator - HT

\v oznaka za vertikalni tabulator

\" uznaka za dvostruki navodnik

\‘ oznaka za jednostruki navodnik

\\ oznaka za znak \ - backslash

‘\ooo‘ znak kojem je ASCII kod zapisan oktalnim znamenkama ooo.

‘\xhh‘znak kojem je ASCII kod zapisan heksadecimalnim znamenkama hh.

Posebni znakovi

Page 53: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Konstante – niz literalnih znakova

• String• Niz znakova unutar dvostrukuh navodnika• "Hello World!\n„

• cout << "Hello World!" << endl; • cout << "Hello World!" << ‘\n‘; • cout << "Hello World!\n";

• "Ovaj string je zapisan \• u dva retka" • "Ovaj string" "ce biti pretvoren" "u jedan string" • "Ovaj \"string\" sadrži znak \’a\’"

Page 54: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Logičke konstante

• Vrijednosti logičke istine i neistine

• 0 – false

• Sve ostalo – true

• Eksplicitno:

• true =1

• false=0

Page 55: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Inicijalizacija varijabli

• int main() { • int y, x; // deklaracija varijabli x i y• x = 77; // početna vrijednost varijable x• y = x + 7; // početna vrijednost varijable y

• ....• int main() { • int y, x = 77; // deklaracija varijabli x i y• // i inicijalizacija x na vrijednost 77• y = x + 7; // početna vrijednost varijable y

• ....• int a(76); //c++• je ekvivalentno iskazu:• int a = 76;

Page 56: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Deklaracija simboličkih konstanti

• const double PI = 3.141592653589793;

• const char tab = '\t';

• const zip = 12440; //podrazumjeva se tip int

• Vrijednost konstanti se ne mijenja u toku programa

• PI=PI+1;

• Pokušaj izmjene– greška u kompajliranju

Page 57: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

#define - direktiva

• Pretprocesorska direktiva

• #define PI 3.141592653589793

• Kompajler će u kodu svaku pojavi znaka PI zamijeniti njegovom vrijednosšću

Pretprocesorska direktiva:- svaki program u C-u mora imati barem jednu pretprocesorsku direktivu- to su naredbe pretprocesoru te ne završavaju znakom točka-zarez

#include uljučivanje datoteka zaglavlja#define definiranje simboličkih konstanti

Page 58: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

• #include <iostream>

• using namespace std;

• #define MESSAGE "Vrijednost broja pi = "• #define PI 3.141592653589793• #define ENDL cout << "\n"

• int main( void)• {• cout << MESSAGE;• cout << PI;• ENDL;• return 0;• }

Page 59: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Korištenje standardnog ulaza

• Cin

• Dio biblioteke iostream

• int i;

• double x;

• char c;

• ...

• cin >> i >> x >> c;

Page 60: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

• /* cin.cpp – obrazac unosa i ispis podataka pomoću cin i cout */

• #include <iostream> • using namespace std; • int main(void) { • // 1. definiraj varijablu čiju vrijednost će unositi korisnik• int unos; • // 2. ispiši poruku korisniku da program očekuje unos broja:• cout << "Molim otipkajte jedan cijeli broj >"; • // 3. Za unos podataka koristi se standardni ulazni objekt -

cin• cin >> unos; • // 4. obavi radnje s tom varijablom

• ......• // 5. ispiši rezultat obrada c• cout << "Otkucali ste broj" << unos << endl ; • return 0; • }

Page 61: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja

Zadaci za vježbu

1. Napisati program koji pozdravlja korisnika po imenu

2. Napisati program koji zbraja dva unesena broja

3. Napisati program koji računa površinu kruga

4. Napisati program koji računa rješenja kvadratne jednadžbe

Page 62: Objektno orjentirano programiranje• // za sve proste tipove C++ jezika ... Zadaci za vježbu 1. Napisati program koji pozdravlja korisnika po imenu 2. Napisati program koji zbraja