1 / 49

Osnove C ++

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.

Download Presentation

Osnove C ++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Osnove C ++ Admir Džaferović

  2. 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.

  3. 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.

  4. Programski jezik • Programski jezici su jezici kojima se pišu računalni programi.

  5. Programski jezici - podjela • strojne jezike, • simboličke jezike niske razine, • simboličke jezike visoke razine.

  6. 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).

  7. Elementi algoritma

  8. Dijagram toka

  9. 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++

  10. 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++

  11. Instaliranje Dev-c++

  12. Naš prvi program

  13. Zadaci za vježbu • Napisati program na jeziku C koji ispisuje autorovo ime i prezime na ekranu.? • Napisati program koji ispisuje imena svih učenika grupe, tako što iza svakog imena ima prazan prostor • Napisati program koji ispisuje sijedeće:

  14. 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: • Smiju se rabiti slova engleske abecede, brojevi i znak _ (podcrtavanje). • Simboličko ime mora početi sa slovom ili sa znakom _ (podcrtavanje). • Broj znakova u simboličkom imenu (dužina) nije ograničen. • Napomene: • u simboličkom imenu ne smije se rabiti razmak. • u simboličkom imenu ne smiju se rabiti naši dijakritički znakovi (č,ć,ž,š,đ). • u simboličkom imenu ne smiju se rabiti ključne riječi ili oznake operatora programskog jezika.

  15. 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)

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

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

  18. 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. 

  19. 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;}

  20. 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;}

  21. 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.

  22. 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”.

  23. 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.

  24. 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.”

  25. Tipovi podataka • Podaci se mogu podijeliti u osnovne i ostale tipove. • Osnovni tipovi su: • brojevi (cijeli i realni), • znakovi. Brojevi • C++ razlikuje dvije osnovne vrste brojeva. To su: • cijeli brojevi (engl. integer), • realni brojevi (engl. floating point).

  26. 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

  27. 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

  28. 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: • zvučni signal ('\a') • praznina (' ') • (48 – 57) znamenke '0'-'9' • (65 – 90) velika slova 'A' do 'Z' • (97 –122) mala slova 'a' do 'z'

  29. 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

  30. 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;}

  31. 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

  32. 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; }

  33. 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 }

  34. 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 }

  35. 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; }

  36. Domaća zadaća • Napišite program koji će preračunavati temperaturu iz stepena celzijusovih u stepene kelvinove. • Ispisati ime, prezime i adresu stanovanja. • Učitati tri prirodna broja i ispisati njihov zbroj i umnožak. • Učitati stranicu i visinu trokuta i ispisati njegovu površinu (realni brojevi). • Učitati katete pravokutnog trokuta i ispisati hipotenuzu (realni brojevi). • Napišite program koji će učitati stranice trokuta, te izračunati njegovu površinu.

  37. The end Hvala Vam

More Related