osnove c ++

49
OSNOVE C ++ Admir Džaferovi ć

Upload: tashya-stokes

Post on 02-Jan-2016

58 views

Category:

Documents


5 download

DESCRIPTION

Osnove C ++. Admir Džaferović. Programska podrška. Računalo može rješavati različite zadatke uz pomoć programske podrške. Programska podrška je skup svih programa koji se mogu izvršavati na računalu. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Osnove C ++

OSNOVE C ++

Admir Džaferović

Page 2: Osnove C ++

PROGRAMSKA PODRŠKA

Računalo može rješavati različite zadatke uz pomoć programske podrške. Programska podrška je skup svih programa koji se mogu izvršavati na računalu.

Dio programa korisnik obično kupuje pri nabavi sklopovlja, a ostale nabavlja ovisno o svojim potrebama.

Page 3: Osnove C ++

NAREDBE - PROGRAM Računalo 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čunalo razumjeti.

Page 4: Osnove C ++

PROGRAMSKI JEZIK Programski jezici su jezici kojima se pišu računalni programi.

Page 5: Osnove C ++

PROGRAMSKI JEZICI - PODJELA strojne jezike,

simboličke jezike niske razine,

simboličke jezike visoke razine.

Page 6: Osnove C ++

ALGORITAM Računalo zadatak može riješiti samo ako dobije upute kako to učiniti. Takve se upute nazivaju algoritmom. Algoritam je popis radnji (operacija, uputstava) koje treba izvršiti u navedenom redoslijedu da bi se dobilo rješenje postavljenog zadatka. Mnoge radnje u svakodnevnom životu izvršavamo prema unaprijed naučenom algoritmu (npr. slanje SMS poruke mobilnim telefonom). Promjena poretka izvršavanja osnovnih radnji algoritma najčešće dovodi do neželjenih rezultata (algoritam se mora izvršiti točno prema uputstvu).

Page 7: Osnove C ++

ELEMENTI ALGORITMA

Page 8: Osnove C ++

DIJAGRAM TOKAAlgoritam se može prikazati grafički. Grafički prikaz algoritma naziva se dijagram tijeka. Takav je prikaz koristan jer pregledno prikazuje algoritam, omogućava analizu problema, lakšu provjeru i traženje boljih postupaka rješavanja zadatka. Znakovi dijagrama tijeka:

početak ili kraj programa

ulaz podataka (ili )

donošenje odluke, grananje u programu

obrada podataka (jedna ili više naredbi obrade)

izlaz podataka (ili )

Page 9: Osnove C ++

PROGRAMIRANJE Da bismo napisali program, neophodna su nam dva specijalizovana programa: jedan koji koristimoda napišemo izvornu datoteku, i drugi (kompajler) sa kojim dobijamo izvršnu datoteku.

Danas seova dva prgrama najčešće kombinuju u jedinstven paket – razvojno okruženje. Najpoznatije C++okruženje predstavlja Microsoftov proizvod Visual C++.NET. Međutim, većina ovakvih programaje komercijalna i nije dostupna svim korisnicima.

Ipak, moguće je naći veliki broj besplatnih C++okruženja. Jedno

od takvih okruženja je i Dev-C++

Page 10: Osnove C ++

MALO HISTORIJE C++ Jezik C++ je jedan od objektno orijentiranih programa. Jezik je nastao osamdesetih godina 20.tog stoljeća. Autor jezika je Bjarne Stroustrup. Na tržištu postoji više inačica prevoditelja jezika C++. Neke su komercijalne, a neke besplatne. Najpoznatije su:

Microsoft Visual C++,

Borland C++ Builder,

Dev C++

Page 11: Osnove C ++

INSTALIRANJE DEV-C++

Page 12: Osnove C ++
Page 13: Osnove C ++
Page 14: Osnove C ++
Page 15: Osnove C ++
Page 16: Osnove C ++
Page 17: Osnove C ++
Page 18: Osnove C ++

NAŠ PRVI PROGRAM

Page 19: Osnove C ++
Page 20: Osnove C ++
Page 21: Osnove C ++
Page 22: Osnove C ++
Page 23: Osnove C ++
Page 24: Osnove C ++

ZADACI ZA VJEŽBU1. Napisati program na jeziku C koji ispisuje autorovo ime i prezime na ekranu.?

2. Napisati program koji ispisuje imena svih učenika grupe, tako što iza svakog imena ima prazan prostor

3. Napisati program koji ispisuje sijedeće:

Page 25: Osnove C ++

VARIJABLE Mjesto u memoriji rezervirano za pohranu podatka naziva se varijabla. Da bi se varijable međusobno razlikovale, dodjeljuju im se simbolička imena. Umjesto da korisnik rezervirana mjesta u memoriji razlikuje pomoću memorijskih adresa, može ih razlikovati na temelju njihovih simboličkih imena.

Simboličko ime određuje korisnik poštujući pravila:

1. Smiju se rabiti slova engleske abecede, brojevi i znak _ (podcrtavanje).

2. Simboličko ime mora početi sa slovom ili sa znakom _ (podcrtavanje).

Broj znakova u simboličkom imenu (dužina) nije ograničen.

Napomene:

1. u simboličkom imenu ne smije se rabiti razmak.

2. u simboličkom imenu ne smiju se rabiti naši dijakritički znakovi (č,ć,ž,š,đ).

3. u simboličkom imenu ne smiju se rabiti ključne riječi ili oznake operatora programskog jezika.

Page 26: Osnove C ++

VARIJABLE

Ispravna simbolička imena: Neispravna simbolička imena:

x 1Y (ne smije početi brojem)

promjer_kruga x[1] (ne smije sadržavati zagrade)

_kon1 Datum Upisa (ne smije sadržavati razmak)

DatumUpisa cout (ne smije biti ključna riječ)

Val23m1_X brojač1 (ne smije sadržavati naše dijakritičke znakove)

Page 27: Osnove C ++

#include<iostream>using namespace std;main(){string recenica;recenica = "Hello World!";cout << recenica;char a;cin >> a;return 0;}

Page 28: Osnove C ++

PRIMJER 1

#include<iostream>using namespace std;main(){string recenica;recenica = "Hello World!";cout << recenica;char a;cin >> a;return 0;}

Page 29: Osnove C ++

Dakle sa 

string recenica

deklariramo da će varijabla ''recenica'' biti string odnosno skup nekakvih znakova. String je tip podatka. 

recenica = ''Hello World'';

Sa ovime varijabli ''recenica'' pridružujemo vrijednost ''Hello World!''cout << recenica;

Sa ovim ispisujemo varijablu. 

Page 30: Osnove C ++

PRIMJER 2

#include<iostream>using namespace std;

main(){int a, b, rezultat;a = 7;b = 12;rezultat = a + b;cout << "Zbroj ta dva broja je " << rezultat;

char x;cin >> x;return 0;}

Page 31: Osnove C ++

PRIMJER 3

#include<iostream>using namespace std;

main(){int a, b, rezultat;cout << "Unesite prvi broj: ";cin >> a;cout << "Unesite drugi broj: ";cin >> b;rezultat = a + b;cout << "Zbroj ta dva broja je " << rezultat;

char x cin >> x;return 0;}

Page 32: Osnove C ++

OZNAKA TIPA PODATKA Postoje različite vrste podataka, npr. cijeli brojevi, realni brojevi, znakovi, nizovi itd.

Stoga svakoj varijabli osim imena treba dodijeliti i oznaku tipa podatka koji će u nju biti smješten.

Dodjela oznake tipa je potrebna da bi računalo “znalo” koliko mjesta u memoriji treba predvidjeti za pohranu tog podatka.

Program prevoditelj će pravilno prevesti izvorni kod samo ako je za svaku varijablu prije korištenja jednoznačno određen tip podatka.

Page 33: Osnove C ++
Page 34: Osnove C ++

DEKLARIRANJE Postupak pridjeljivanja simboličkog imena varijabli i određivanje tipa podatka naziva se deklariranje.

int a;

float b; 

oznaka tipa podatka simboličko ime podatka

 

Ako je podataka više, odvaja ih se zarezom.

int c, d, e;

Gornji se izraz može čitati ovako: “određuje se (deklarira) da su varijable c, d i e tipa int”.

Page 35: Osnove C ++

PRIDRUŽIVANJE VRIJEDNOSTI Svaka se varijabla mora deklarirati. Deklariranoj varijabli se može

pridružiti vrijednost. Varijabli se može pridružiti vrijednost pomoću operatora pridruživanja.

Operator pridruživanja je znak =. Ovdje se treba naviknuti na novo značenje znaka =, koji više ne označava izjednačavanje (jednakost) kao u matematici!

Objektu s lijeve strane operatora pridruživanja pridružuje se vrijednost sa njegove desne strane.

a = 5 ;

Gornji se izraz može čitati kao: “neka varijabla a poprimi vrijednost 5”. Objekti s lijeve strane operatora pridruživanja moraju biti varijable.

Page 36: Osnove C ++

S obzirom na novo značenje znaka jednakosti, u C++ ispravan je i sljedeći izraz:

a=a+3;

Treba ga čitati: “Vrijednost varijable a uvećaj za 3”(Podatku koji se nalazi u varijabli a dodaj vrijednost 3 i zatim taj zbroj pohrani u varijablu a.)

U istoj se naredbi može koristiti i više operatora pridruživanja (smjer operacije ide s desna na lijevo).

a=b=c=5;

Treba čitati: “Neka varijabla c poprimi vrijednost 5, a varijabla b poprimi istu vrijednost koju ima varijabla c. Neka varijabla a poprimi istu vrijednost koju ima varijabla b.”

 

Page 37: Osnove C ++

TIPOVI PODATAKA

Podaci se mogu podijeliti u osnovne i ostale tipove.

Osnovni tipovi su:

1. brojevi (cijeli i realni),

2. znakovi.

Brojevi

C++ razlikuje dvije osnovne vrste brojeva. To su:

1. cijeli brojevi (engl. integer),

2. realni brojevi (engl. floating point).

Page 38: Osnove C ++

CIJELI BROJEVI - INT

Ako je podatak cijeli broj njegova oznaka tipa je int. Varijabla označena sa int je cjelobrojna varijabla.

int a=10;

Cjelobrojnoj varijabli može se pridijeliti samo cijeli broj. Za pohranu cijelog broja u memoriji su predviđena 4 bajta (32 bita). Prvi je bit rezerviran za predznak, pa za pohranu broja ostaje 31 bit. 31 bit omogućava pohranu brojeva iz raspona:

-231, 231-1 to jest od

-2.147.483.648 do 2.147.483.647

 

Page 39: Osnove C ++

REALNI BROJEVI - FLOAT Ako je podatak realni broj njegova oznaka tipa je float. Varijabla označena sa float je realna

varijabla. float a=4.67;

Za pohranu realnog broja u memoriji su predviđena 4 bajta (32 bita). Omogućena je pohrana brojeva u rasponu:

od -3.4*1038 do -1.17*10-38 do 1.17*10-38 do 3.4*1038

Eksponencijalni zapis se zapisuje ovako:

9.11e-31

Page 40: Osnove C ++

ZNAKOVI - CHAR Ako je podatak znak, njegova oznaka tipa je char. Podatak tipa char je predstavljen jednim znakom unutar jednostrukih navodnika ili ASCII vrijednošću tog znaka.

char slovoA = 'A';

char SLOVOA = 65;

Za pohranu znakovnog podatka je u memoriji predviđen 1 bajt (8 bitova). Pošto je 28 = 256, moguće je prikazati 256 različitih znakova. Znak se pohranjuje kao broj koji predstavlja ASCII vrijednost odabranog znaka.

Neke ASCII vrijednosti:

1. zvučni signal ('\a')

2. praznina (' ')

3. (48 – 57) znamenke '0'-'9'

4. (65 – 90) velika slova 'A' do 'Z'

5. (97 –122) mala slova 'a' do 'z'

Page 41: Osnove C ++

KONSTANTE U programima se koriste vrijednosti koje se tijekom odvijanja programa ne smiju mijenjati. Takve se vrijednosti nazivaju konstante. Konstante se mogu spremiti u rezervirana mjesta u memoriji zbog lakšeg rukovanja s njima. Konstantu treba zaštititi od mogućih neželjenih promjena tijekom odvijanja programa. Za zaštitu se koristi ključna riječ const koja se dodaje ispred oznake tipa varijable.

 

const float pi = 3.141593

Page 42: Osnove C ++

PRIMJER

#include <iostream>#include <cmath> // ukljucili smo biblioteku cmathusing namespace std;

int main(){double baza, eksponent, rezultat;cout << "Unesite broj ";cin >> baza;cout << "Unesite eksponent ";cin >> eksponent; rezultat = pow(baza, eksponent);cout << "Rezultat = " << rezultat;

char x;cin >> x;return 0;}

Page 43: Osnove C ++

Napišite program koji će računati obim i površinu kvadrata na osnovu zadane stranice!

#include <iostream>

using namespace std;

int main (){

int a, povrsina, obim;

cout<<"Unesi stranicu kvadrata: ";

cin>>a;

povrsina=a*a;

obim=4*a;

cout<<"Povrsina kvadrata je "<<povrsina<<" a obim "<<obim<<endl;

system("Pause");

ret

Page 44: Osnove C ++

Napišite program koji će sabirati, oduzimati, množiti i dijeliti dva broja u skupu cijelih brojeva.!

#include <iostream>

using namespace std;

int main (){

int a, b, zbir,razl,proiz,kol;

cout<<"Unesi dva broja: ";

cin>>a>>b;

zbir=a+b;

razl=a-b;

proiz=a*b;

kol=a/b;

cout<<"Zbir brojeva je: "<<zbir<<endl;

cout<<"Razlika brojeva je: "<<razl<<endl;

cout<<"Proizvod brojeva je: "<<proiz<<endl;

cout<<"Kolicnik brojeva je: "<<kol<<endl;

system("Pause");

return 0;

}

Page 45: Osnove C ++

Napišite program koji će za uneseni broj ispisati njegovog prethodnika i sljedbenika

#include <iostream>

using namespace std;

int main (){

int broj;

cout<<"Unesi broj: ";

cin>>broj;

cout<<"Prethodnik broja "<<broj;

cout<<" je "<<broj-1<<endl;

cout<<"Sljedbenik broja "<<broj;

cout<<" je "<<broj+1<<endl;

system("Pause");

return 0

}

Page 46: Osnove C ++

Napišite program koji će za uneseni broj ispisati njegovog prethodnika i sljedbenika

#include <iostream>

using namespace std;

int main (){

int broj;

cout<<"Unesi broj: ";

cin>>broj;

cout<<"Prethodnik broja "<<broj;

cout<<" je "<<broj-1<<endl;

cout<<"Sljedbenik broja "<<broj;

cout<<" je "<<broj+1<<endl;

system("Pause");

return 0

}

Page 47: Osnove C ++

Napišite program koji će računati korijen datog broja! Korijen se u C++ računa funkcijom sqrt(broj),

gdje je varijabla broj tipa double. Ova funkcija se koristi na sličan način kao operator sizeof().

#include <iostream>

using namespace std;

int main (){

double broj, korijen;

cout<<"Unesi broj: ";

cin>>broj;

korijen=sqrt(broj);

cout<<"Korijeni broja "<<broj<<" su ";

cout<<korijen<<" i "<<-korijen<<endl;

system("Pause");

return 0;

}

Page 48: Osnove C ++

DOMAĆA ZADAĆA1. Napišite program koji će preračunavati temperaturu iz stepena

celzijusovih u stepene kelvinove.

2. Ispisati ime, prezime i adresu stanovanja.

3. Učitati tri prirodna broja i ispisati njihov zbroj i umnožak.

4. Učitati stranicu i visinu trokuta i ispisati njegovu površinu (realni brojevi).

5. Učitati katete pravokutnog trokuta i ispisati hipotenuzu (realni brojevi).

6. Napišite program koji će učitati stranice trokuta, te izračunati njegovu površinu.

Page 49: Osnove C ++

THE END Hvala Vam