1 / 55

Objektno orijentirani programi, nastanak programa 3. Dio

(c) S.

Antony
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. 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. (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.

More Related