E N D
1. (c) S.utalo i D.Grundler, 2007. 1 C++ Objektno orijentirani programi,
nastanak programa
3. Dio
2. (c) S.utalo i D.Grundler, 2007. 2 Racunalne komponente Racunalo se sastoji od mnogo komponenti.
3. (c) S.utalo i D.Grundler, 2007. 3 Racunalne komponente Pouzdanost i djelotvornost racunala ovisi o pouzdanosti i djelotvornosti svake od ugradenih komponenata.
4. (c) S.utalo i D.Grundler, 2007. 4 Konstruktor racunala Kada bi se konstruktor racunala morao baviti unutarnjom gradom svake od sastavnih komponenti te poboljanjima njihove kvalitete i pouzdanosti, njegov bi se posao bitno povecao, a pouzdanost racunala smanjila.
5. (c) S.utalo i D.Grundler, 2007. 5 Proizvodaci komponeneti Za olakanje rada konstruktoru racunala posao se dijeli, pa o gradi i pouzdanosti svake od komponenti brine njen proizvodac.
Proizvodac pojedine komponente tehnoloki je specijaliziran ba za tu komponentu, pa su njegovi proizvodi kvalitetni i pouzdani.
6. (c) S.utalo i D.Grundler, 2007. 6 Proizvodaci komponenti Komponente su normirane pa se mogu ugraditi u razlicite elektronicke uredaje to omogucava proizvodnju velikih serija i snienje cijena.
7. (c) S.utalo i D.Grundler, 2007. 7 Konstruktor racunala Konstruktor koristi gotove komponente i ne mora poznavati unutarnju gradu svake od njih, dovoljno je da zna zadacu koju ta komponenta obavlja i nacin njezina spajanja s ostalim dijelovima racunala.
To mu bitno olakava posao i omogucuje izradu pouzdanijih i djelotvornijih racunala.
8. (c) S.utalo i D.Grundler, 2007. 8 Objekti Zamisao uporabe gotovih komponenti pri gradnji sloenih sustava primjenjena je i pri izradi programa.
Programski se zadatak dijeli na manje dijelove koji se mogu neovisno rjeavati i provjeravati.
Gotovi dijelovi programa nazivaju se objekti (engl. object).
Objekti se mogu pisati i provjeravati odvojeno od cjeline i rabiti u razlicitim programima.
9. (c) S.utalo i D.Grundler, 2007. 9 Objektno orijentirani program Programi koji koriste objekte nazivaju se objektno orijentirani programi (engl. OOP, object oriented programs).
U objektno orijentirani program ugraduju se gotovi objekti.
Ovakav nacin rada povecava djelotvornost programera i kvalitetu programa, a sniava cijenu izrade programa.
10. (c) S.utalo i D.Grundler, 2007. 10 C++ Jezik C++ je jedan od objektno orijentiranih programa.
Jezik je nastao osamdesetih godina 20.tog stoljeca. Autor jezika je Bjarne Stroustrup.
11. (c) S.utalo i D.Grundler, 2007. 11 Inacice prevoditelja C++-a Na tritu postoji vie inacica prevoditelja jezika C++. Neke su komercijalne, a neke besplatne.
Najpoznatije su:
Microsoft Visual C++,
Borland C++ Builder,
Borland komandni C++prevoditelj,
GNU djgpp. Javno dostupna programska podrka (http://www.gnu.org) nudi besplatni gcc prevoditelj.
Prevoditelj se pokrece iz komandne linije, ali postoje dostupne i besplatne razvojne okoline koje se mogu povezati sa prevoditeljem.
Verzije za razne platforme http://www.gnu.org/software/gcc/gcc.html
Verzija za DOS zove se djgpp moe se skinuti sa adrese http://www.delorie.com/djgpp
djgpp moe se koristiti i na Windows platformama, pokretanjem iz DOS/komandnog prozora.
Prevoditelj po prevodenju i povezivanju stvara izvedbenu datoteku a.outJavno dostupna programska podrka (http://www.gnu.org) nudi besplatni gcc prevoditelj.
Prevoditelj se pokrece iz komandne linije, ali postoje dostupne i besplatne razvojne okoline koje se mogu povezati sa prevoditeljem.
Verzije za razne platforme http://www.gnu.org/software/gcc/gcc.html
Verzija za DOS zove se djgpp moe se skinuti sa adrese http://www.delorie.com/djgpp
djgpp moe se koristiti i na Windows platformama, pokretanjem iz DOS/komandnog prozora.
Prevoditelj po prevodenju i povezivanju stvara izvedbenu datoteku a.out
12. (c) S.utalo i D.Grundler, 2007. 12 Microsoft Visual C++ Osnove objektno orijentiranog programiranja bit ce pokazane pomocu programa Microsoft Visual C++.
13. (c) S.utalo i D.Grundler, 2007. 13 Nastanak programa Nastanak programa moe se podijeliti na:
pisanje izvornog koda,
prevodenje izvornog koda,
povezivanje u izvrni kod,
provjeravanje programa.
14. (c) S.utalo i D.Grundler, 2007. 14 Izvorni kod Kombinacijom naredbi programskog jezika nastaje izvorni kod (engl. source code).
Izvorni je kod moguce pisati u bilo kojem programu za uredivanje teksta (engl. text editor).
Danas se uglavnom programi za pisanje izvornog koda objedinjuju u cjelinu sa prevodiocem i povezivacem (integrirana razvojna okolina, IDE).
15. (c) S.utalo i D.Grundler, 2007. 15 Datoteka izvornog koda Izvorni kod programa C++ sprema se u datoteku izvornog koda pod smislenim imenom i nastavkom *.cpp
16. (c) S.utalo i D.Grundler, 2007. 16 Izvrni oblik Programi se mogu izvriti na racunalu samo ako su u binarnom obliku.
Takav se oblik programa naziva izvrni oblik (engl. executable).
Izvorni se kod mora prevesti u izvrni.
Prevodi se pomocu programa koji se nazivaju prevoditelj (engl. compiler) i povezivac (engl. linker).
17. (c) S.utalo i D.Grundler, 2007. 17 Prevodenje izvornog koda Program prevoditelj prevodi izvorni kod iz vieg programskog jezika u strojni oblik te provjerava sintaksu napisanog izvornog koda.
Ako pronade pogreke (engl. compile-time error), ispisuje poruke i upozorenja o njima.
18. (c) S.utalo i D.Grundler, 2007. 18 Prevodenje izvornog koda Otkrivene pogreke treba ispraviti pa ponovo pokrenuti program za prevodenje.
Prevodenjem nastaje datoteka objektnog koda (engl. object code), nastavka *.obj.
19. (c) S.utalo i D.Grundler, 2007. 19 Objektni kod Objektni kod nije izvrni program i ne moe se izravno izvriti na racunalu.
Objektni kod je medukorak do izvrnog koda i uz ostalo omogucava ukljucivanje gotovih dijelova programa iz drugih datoteka.
20. (c) S.utalo i D.Grundler, 2007. 20 Biblioteke Datoteke koje sadravaju gotove dijelove programa nazivaju se biblioteke (engl. libraries).
Takvi se gotovi dijelovi programa mogu rabiti u drugim programima.
21. (c) S.utalo i D.Grundler, 2007. 21 Biblioteke Kada se koriste biblioteke vie nije potrebno uvijek iznova zapisivati radnje (funkcije) koje se cesto rabe.
Takve se radnje u program ukljucuju iz postojecih biblioteka.
Npr. moe postojati biblioteka formula za izracunavanje povrina geometrijskih likova cije formule mogu rabiti drugi programi.
22. (c) S.utalo i D.Grundler, 2007. 22 Povezivac Program koji povezuje objektnu datoteku s bibliotekama i drugim potrebnim datotekama naziva se povezivac (engl. linker).
Ako se pri povezivanju pojavi pogreka (engl. link-time error), bit ce ispisana poruka o tome.
Pogreku valja ispraviti pa ponovno pokrenuti prevodenje i povezivanje.
23. (c) S.utalo i D.Grundler, 2007. 23 Povezivac Rezultat uspjenog povezivanja je izvrna datoteka (*.exe).
U nacelu, izvrnoj datoteci nisu potrebni nikakvi dodaci pa se moe izvravati i bez izvornog programa, objektnih datoteka, prevoditelja, povezivaca itd.
24. (c) S.utalo i D.Grundler, 2007. 24 Izvrna datoteka Izvrna datoteka je oblik programa i moe se izravno izvriti na racunalu za koji je prevedena.
Primjerice IBM i Apple racunala su medusobno nesukladna (nekompatibilna, tj. nisu udruiva), pa se izvrni program preveden za IBM PC sukladno racunalo ne moe se izvriti na Macintosh racunalu i obrnuto.
25. (c) S.utalo i D.Grundler, 2007. 25 Projekt Da bi se stvorila izvrna datoteka C++ programa potrebno je pokrenuti nekoliko programa (tekst editor, prevoditelj, povezivac).
Kao posljedica nastaje vie datoteka koje su medusobno vezane.
26. (c) S.utalo i D.Grundler, 2007. 26 Projekt Korisniku koji zadatak rijeava C++ programom neprakticno je pamtiti koje programe i kojim redoslijedom treba pokrenuti, te koje su sve datoteke potrebne za stvaranje izvrne datoteke.
Stoga se korisniku posao olakava pomocu takozvanog projekta (engl. project).
27. (c) S.utalo i D.Grundler, 2007. 27 Projekt Projekt je datoteka u kojoj su zapisane sve potrebne informacije o prevoditelju, povezivacu, datotekama, bibliotekama i ostalom potrebnom za izradu izvrne datoteke.
Projekt dakle brine o svemu to je potrebno uciniti da bi od izvornog koda nastala datoteka izvrnog koda.
28. (c) S.utalo i D.Grundler, 2007. 28 Pogreke Tijekom rada mogu se javiti tri vrste pogreaka:
sintakticke pogreke (otkriva ih program prevoditelj),
pogreke povezivanja (otkriva ih program povezivac),
logicke pogreke (mora ih pronaci korisnik sam).
29. (c) S.utalo i D.Grundler, 2007. 29 Provjera programa Za otkrivanje logickih pogreaka (onih koje dovode do pogrenih rezultata) potrebno je provjeriti program s podacima za koje je unaprijed poznat krajnji rezultat.
Ispravljanje pogreaka nastalih u ovoj fazi (engl. run-time error) je najtee.
Logicke pogreke otkriva i ispravlja covjek a ne racunalni program.
30. (c) S.utalo i D.Grundler, 2007. 30 Microsoft Visual C++ Program Microsoft Visual C++ se pokrece na uobicajeni nacin:
Start/Programs,
Microsoft Visual Studio 6.0,
Microsoft Visual C++ 6.0
31. (c) S.utalo i D.Grundler, 2007. 31 Prozor programa
32. (c) S.utalo i D.Grundler, 2007. 32 Novi projekt U prozoru New treba birati:
Projects,
Win32 Console Application.
Nakon toga treba zadati ime projekta i mjesto pohrane.
33. (c) S.utalo i D.Grundler, 2007. 33 Novi projekt
34. (c) S.utalo i D.Grundler, 2007. 34 Pohrana U okvir Project name upisuje se ime projekta.
35. (c) S.utalo i D.Grundler, 2007. 35 Pohrana
36. (c) S.utalo i D.Grundler, 2007. 36 Novi projekt Ovdje je potrebno odabrati novi, prazni projekt, pa Finish.
37. (c) S.utalo i D.Grundler, 2007. 37 Novi projekt Ovo su podaci o novootvorenom projektu koji jo uvijek ne sadri niti jednu datoteku.
38. (c) S.utalo i D.Grundler, 2007. 38 C++ datoteka izvornog koda Da bi se stvorila nova datoteka izvornog koda potrebno je u pogledu
FileView oznaciti stavku
Source Files koja se nalazi pod nazivom projekta (prvi).
Nakon toga File, New.
39. (c) S.utalo i D.Grundler, 2007. 39 C++ datoteka izvornog koda U prozoru New treba birati:
Files,
C++ Source File.
Nakon toga treba zadati ime datoteke.
40. (c) S.utalo i D.Grundler, 2007. 40 Pohrana
41. (c) S.utalo i D.Grundler, 2007. 41 C++ datoteka izvornog koda Stvorena je datoteka izvornog koda, nastavka *.cpp.
42. (c) S.utalo i D.Grundler, 2007. 42 Datoteka izvornog koda Otvara se radno podrucje za unos izvornog koda.
43. (c) S.utalo i D.Grundler, 2007. 43 Datoteka izvornog koda Unijeti sljedeci kod.
(Znacenje koritenih naredbi bit ce pojanjeno u sljedecim vjebama.)
44. (c) S.utalo i D.Grundler, 2007. 44 #include<iostream>
using namespace std;
int main()
{
cout<<"Puno uspjeha u ucenju!<<endl;
return 0;
}
45. (c) S.utalo i D.Grundler, 2007. 45 Prevodenje i povezivanje Po unosu, kod je potrebno prevesti i povezati:
Build,
Build.
ili birati za to predvideni gumb iz pripadajuce vrpce sa alatima.
46. (c) S.utalo i D.Grundler, 2007. 46 Prevodenje i povezivanje Ako nije bilo pogreaka, u donjoj ce se plohi pojaviti poruka ovakva oblika:
47. (c) S.utalo i D.Grundler, 2007. 47 Pogreke pri prevodenju Namjerno cemo pokvariti program da bi se vidjelo kako se pri prevodenju otkrivaju pogreke.
Prethodni kod treba prepraviti kao u primjeru.
48. (c) S.utalo i D.Grundler, 2007. 48 #include<iostream>
using namespace std;
int main()
{
cout<<"Puno uspjeha u ucenju!<<endl;
return 0;
}
49. (c) S.utalo i D.Grundler, 2007. 49 Pogreke pri prevodenju Poto sada postoje pogreke bit ce ispisane poruke i upozorenja o njima.
Uz svaku je pogreku ispisan, osim njenog opisa i broj retka u kojem je pogreka nastala.
50. (c) S.utalo i D.Grundler, 2007. 50 Datoteka izvrnog koda Sve pogreke treba ukloniti.
Nakon toga je potrebno ponovno pokrenuti prevodenje i povezivanje.
Krajnji je rezultat datoteka izvrnog koda.
51. (c) S.utalo i D.Grundler, 2007. 51 Datoteka izvrnog koda Datoteku izvrnog koda pokrece se:
Build,
Execute.
52. (c) S.utalo i D.Grundler, 2007. 52 Pokretanje izvrne datoteke Pokretanjem izvrne datoteke otvara se DOS prozor (ili Command Prompt).
U njemu se po potrebi upisuju ulazni podaci i ispisuje rezultat programa.
U naem ce primjeru biti ispisano:
53. (c) S.utalo i D.Grundler, 2007. 53 Projekt Posljedica stvaranja projekta:
54. (c) S.utalo i D.Grundler, 2007. 54 Pokretanje izvrne datoteke Izvrnu se datoteku moe pokrenuti dvoklikom sa mjesta na koje je pohranjena.
Moe se dogoditi da se DOS prozor u kome je ispisan rezultat zatvori prebrzo, pa korisnik ne moe procitati rezultat.
55. (c) S.utalo i D.Grundler, 2007. 55 Problem prebrzog zatvaranja prozora Prebrzo zatvaranje DOS prozora moe se sprijeciti tako da se prethodni primjer dopuni na sljedeci nacin:
Dopuna uvodi cekanje unosa znaka s tipkovnice prije nastavka izvodenja programa.