Objektno orijentirani programi, nastanak programa 3. Dio

Objektno orijentirani programi, nastanak programa 3. Dio PowerPoint PPT Presentation


  • 246 Views
  • Uploaded on
  • Presentation posted in: General

(c) S.

Download Presentation

Objektno orijentirani programi, nastanak programa 3. Dio

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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 poboljšanjima 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 olakšanje rada konstruktoru racunala posao se dijeli, pa o gradi i pouzdanosti svake od komponenti brine njen proizvodac. Proizvodac pojedine komponente tehnološki 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 sniženje 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 olakšava posao i omogucuje izradu pouzdanijih i djelotvornijih racunala.

8. (c) S.Šutalo i D.Grundler, 2007. 8 Objekti Zamisao uporabe gotovih komponenti pri gradnji složenih sustava primjenjena je i pri izradi programa. Programski se zadatak dijeli na manje dijelove koji se mogu neovisno rješavati 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 snižava 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 tržištu postoji više 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 podrška (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 može se skinuti sa adrese http://www.delorie.com/djgpp djgpp može se koristiti i na Windows platformama, pokretanjem iz DOS/komandnog prozora. Prevoditelj po prevodenju i povezivanju stvara izvedbenu datoteku a.outJavno dostupna programska podrška (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 može se skinuti sa adrese http://www.delorie.com/djgpp djgpp može 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 može se podijeliti na: pisanje izvornog koda, prevodenje izvornog koda, povezivanje u izvršni 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 Izvršni oblik Programi se mogu izvršiti na racunalu samo ako su u binarnom obliku. Takav se oblik programa naziva izvršni oblik (engl. executable). Izvorni se kod mora prevesti u izvršni. 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 višeg programskog jezika u strojni oblik te provjerava sintaksu napisanog izvornog koda. Ako pronade pogreške (engl. compile-time error), ispisuje poruke i upozorenja o njima.

18. (c) S.Šutalo i D.Grundler, 2007. 18 Prevodenje izvornog koda Otkrivene pogreške 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 izvršni program i ne može se izravno izvršiti na racunalu. Objektni kod je medukorak do izvršnog koda i uz ostalo omogucava ukljucivanje gotovih dijelova programa iz drugih datoteka.

20. (c) S.Šutalo i D.Grundler, 2007. 20 Biblioteke Datoteke koje sadržavaju 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 više nije potrebno uvijek iznova zapisivati radnje (funkcije) koje se cesto rabe. Takve se radnje u program ukljucuju iz postojecih biblioteka. Npr. može postojati biblioteka formula za izracunavanje površina 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 pogreška (engl. link-time error), bit ce ispisana poruka o tome. Pogrešku valja ispraviti pa ponovno pokrenuti prevodenje i povezivanje.

23. (c) S.Šutalo i D.Grundler, 2007. 23 Povezivac Rezultat uspješnog povezivanja je izvršna datoteka (*.exe). U nacelu, izvršnoj datoteci nisu potrebni nikakvi dodaci pa se može izvršavati i bez izvornog programa, objektnih datoteka, prevoditelja, povezivaca itd.

24. (c) S.Šutalo i D.Grundler, 2007. 24 Izvršna datoteka Izvršna datoteka je oblik programa i može se izravno izvršiti na racunalu za koji je prevedena. Primjerice IBM i Apple racunala su medusobno nesukladna (nekompatibilna, tj. nisu udruživa), pa se izvršni program preveden za IBM PC sukladno racunalo ne može se izvršiti na Macintosh racunalu i obrnuto.

25. (c) S.Šutalo i D.Grundler, 2007. 25 Projekt Da bi se stvorila izvršna datoteka C++ programa potrebno je pokrenuti nekoliko programa (tekst editor, prevoditelj, povezivac). Kao posljedica nastaje više datoteka koje su medusobno vezane.

26. (c) S.Šutalo i D.Grundler, 2007. 26 Projekt Korisniku koji zadatak riješava C++ programom neprakticno je pamtiti koje programe i kojim redoslijedom treba pokrenuti, te koje su sve datoteke potrebne za stvaranje izvršne datoteke. Stoga se korisniku posao olakšava 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 izvršne datoteke. Projekt dakle “brine” o svemu što je potrebno uciniti da bi od izvornog koda nastala datoteka izvršnog koda.

28. (c) S.Šutalo i D.Grundler, 2007. 28 Pogreške Tijekom rada mogu se javiti tri vrste pogrešaka: sintakticke pogreške (otkriva ih program prevoditelj), pogreške povezivanja (otkriva ih program povezivac), logicke pogreške (mora ih pronaci korisnik sam).

29. (c) S.Šutalo i D.Grundler, 2007. 29 Provjera programa Za otkrivanje logickih pogrešaka (onih koje dovode do pogrešnih rezultata) potrebno je provjeriti program s podacima za koje je unaprijed poznat krajnji rezultat. Ispravljanje pogrešaka nastalih u ovoj fazi (engl. run-time error) je najteže. Logicke pogreške 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 sadrži 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 korištenih naredbi bit ce pojašnjeno u sljedecim vježbama.)

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 pogrešaka, u donjoj ce se plohi pojaviti poruka ovakva oblika:

47. (c) S.Šutalo i D.Grundler, 2007. 47 Pogreške pri prevodenju Namjerno cemo pokvariti program da bi se vidjelo kako se pri prevodenju otkrivaju pogreške. 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 Pogreške pri prevodenju Pošto sada postoje pogreške bit ce ispisane poruke i upozorenja o njima. Uz svaku je pogrešku ispisan, osim njenog opisa i broj retka u kojem je pogreška nastala.

50. (c) S.Šutalo i D.Grundler, 2007. 50 Datoteka izvršnog koda Sve pogreške treba ukloniti. Nakon toga je potrebno ponovno pokrenuti prevodenje i povezivanje. Krajnji je rezultat datoteka izvršnog koda.

51. (c) S.Šutalo i D.Grundler, 2007. 51 Datoteka izvršnog koda Datoteku izvršnog koda pokrece se: Build, Execute.

52. (c) S.Šutalo i D.Grundler, 2007. 52 Pokretanje izvršne datoteke Pokretanjem izvršne datoteke otvara se DOS prozor (ili Command Prompt). U njemu se po potrebi upisuju ulazni podaci i ispisuje rezultat programa. U našem 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 izvršne datoteke Izvršnu se datoteku može pokrenuti dvoklikom sa mjesta na koje je pohranjena. Može se dogoditi da se DOS prozor u kome je ispisan rezultat zatvori prebrzo, pa korisnik ne može procitati rezultat.

55. (c) S.Šutalo i D.Grundler, 2007. 55 Problem prebrzog zatvaranja prozora Prebrzo zatvaranje DOS prozora može se sprijeciti tako da se prethodni primjer dopuni na sljedeci nacin: Dopuna uvodi cekanje unosa znaka s tipkovnice prije nastavka izvodenja programa.

  • Login