Click here to load reader

Osnove programiranja

  • View
    124

  • Download
    4

Embed Size (px)

DESCRIPTION

Osnove programiranja. Literatura: Boris Motik & Julian Šribar Demistificirani C++ Dobro upoznajte protivnika da biste njime ovladali Element, Zagreb 1997. *. Literatura: Nina Lipljin: Programiranje/1 TIVA/FOI 2004. *. Plan predavanja Uvod O programskim jezicima O metodama programiranja - PowerPoint PPT Presentation

Text of Osnove programiranja

  • Literatura: Boris Motik & Julian ribar Demistificirani C++ Dobro upoznajte protivnika da biste njime ovladali Element, Zagreb 1997.*

  • Literatura: Nina Lipljin:Programiranje/1

    TIVA/FOI 2004*

  • Plan predavanjaUvodO programskim jezicimaO metodama programiranjaO objektnom pristupu*

  • Uvod*

  • Raunala ne znaju apstraktno dijeliti niti mnoiti !!!*

  • Zadaci: cjelobrojno dijeljenje (1) Uitati i podijeliti dva broja (2) Uitaj dva cijela broja A i B, podijeli A s B s cjelobrojnim rezultatom dijeljenja u D i ostatkom u C ponovi postupak n puta

    *

  • Zadatak prvi: A/B=?

    C D0 023 1

    C=94-(115-23)=94-92=2D=5-1=4da46 269 392 4115 5danene*A=94 B=23Uitaj: A, BISPIS:A / B=Di ost. CSTARTC=D=0C=C+BD=D+1C

  • Zadatak drugi: Uitaj dva cijela broja A i B. Podijeli A s B s cjelobrojnim rezultatom dijeljenja u D i ostatkom u C . Ponovi postupak n puta

    *

  • daneRjeenje drugog zadatka*STARTuitaj:A,BCJELOBROJNODIJELJENJEd/n?Jo?d?STOP

  • Programski jezici *

  • Razvoj programskih jezika1950196019701980199020002010

  • Razvoj programskih jezika19501960197019801990200020101949 Asembler (John Mauchly)

    Fortran (IBM) FLOW-MATIC (UNIVAC) ALGOL (Miting u Zurichu) COBOL (Short Term Commitee)

  • Razvoj programskih jezika1950196019701980199020002010 Fortran ALGOL COBOL1960 1961 196219631964 BASIC (Dortmauth Uni)19651966196719681969

  • Razvoj programskih jezika1950196019701980199020002010 Fortran ALGOL BASIC COBOL1970 1971 Pascal (Niklaus Wirth)1972 C (Dennis Ritchie Bell)19731974 197519761977 Modula 2 (Niklaus Wirth)19781979

  • Razvoj programskih jezika1950196019701980199020002010 Fortran Pascal Modula 2 BASIC C COBOL1980 198119821983 1984 C++ (Bjarne Stroustrup Bell) 1985198619871988 Oberon (Niklaus Wirth)1989

  • Razvoj programskih jezika1950196019701980199020002010 Fortran Pascal Modula 2 Oberon BASIC C C++ COBOL1990 Visual Basic (Microsoft)1991199219931994 Java (Sun)1995 Delphi (Anders Hejlsberg Borland)199619971998 1999

  • Razvoj programskih jezika1950196019701980199020002010 Fortran Pascal Modula 2 Oberon Delphi BASIC Visual Basic C C++ Java COBOL200020012002 C# (Anders Hejlsberg Microsoft)20032004 2005200620072008 2009

  • Razvoj programskih jezika19501960197019801990200020101943. Godine Konrad Zuse je u svojoj doktorskoj disertaciji objavio svoj programski jezik koji se zvao Plankalkl. Jezik se pokretao na raunalima koje je on sam napravio. Jezik je imao petlje, polja, matematike izraze. Naalost njegov rad bio je izgubljen sve do 70-tih godina.

  • Jezik C(Dennis Ritchie, 1972) direktan prethodnik jezika C++ opa namjena jednostavan za uenje modularan brz omoguava optimalizaciju koda*

  • C++ jezik (Bjarne Stroustrup, 1984)

    potreba : da se jednom napisani kd viekratno koristi objektno orijentirani jezik omoguava objektni pristup rjeavanju problema *

  • *StrukturnoprogramiranjeObjektnoOrijentiranoprogamiranjeProceduralnoprogamiranjeFunkcionalnoprogramiranjeLogikoprogramiranjeCPascalFortranBASICC++OberonSQLPrologDatalogDaplexFloraML

  • Algoritmi+Strukture podataka=ProgramiranjeN. Wirth- algoritam : openito rjeenje problema- Struktura podataka : nain na koji program uva podatke.

    Osnovni alati- Blok dijagram- pseudokod : rjeenje u formi programa na hrvatskom*

  • Metode programiranja *

  • Zadatak (1)Preko tastature se uitavaju dva cijela pozitivna broja A i B. Ponuda operacija:1 = zbrajanje2 = oduzimanje3 = mnoenje4 = dijeljenjeKorisnik bira jednu od operacija.Izabrana operacija se izvrava, a rezultat ispisuje na ekran (zaslon).Izvoenje se ponavlja n puta Zadatak (2)Identian predhodnome. Dodaje se:5=izraunavanje postotka6=ispis slijedeih 20 prijestupnih godina*

  • Zadatak 1IzbornikOduzimanjeZbrajanjeDijeljenjeMnoenjeUitavanje selektorske vrijednosti*

  • ZbrajanjeOduzimanjeMnoenjeDijeljenjePostotakPrijestupnaZadatak 2IzbornikUitavanje selektorske vrijednosti*

  • Algoritam (1)1. Ispis Izbornika:1 = zbrajanje2 = oduzimanje3 = mnoenje4 = dijeljenje2. Izbor akcije: uitavanje selektorske vrijednosti3. Grananje, ovisno o selektorskoj vrijednosti: 3.1zbrajanjeoduzimanjemnoenjedijeljenjeuitavanje uitavanjeuitavanje uitavanjeraunanjeraunanjeraunanjeraunanjeispis ispis ispis ispis4. Izbor akcije: uitavanje indikatora krajad= ponavljanje od 1.n = prekid izvoenja *

  • Algoritam (2)1. Ispis Izbornika:1 = zbrajanje2 = oduzimanje3 = mnoenje4 = dijeljenje2. Izbor akcije: uitavanje selektorske vrijednosti3. Grananje, ovisno o selektorskoj vrijednosti: 3.1zbrajanjeoduzimanjemnoenjedijeljenjeuitavanje uitavanjeuitavanje uitavanjeraunanjeraunanjeraunanjeraunanjeispis ispis ispis ispis

    4. Izbor akcije: uitavanje indikatora krajad= ponavljanje od 1.n = prekid izvoenja 5 = postotak6 = prestupna g.postotakprestupnauitavanje uitavanje raunanjeraunanje ispis ispis*

  • Pseudokd (1)ponavljajispii 1 = zbrajanje 2 = oduzimanje 3 = mnoenje 4 = dijeljenje uitaj (i) izvedi ovisno o (i) ZBRAJANJEODUZIMANJEMNOENJEDIJELJENJEispii: Jo ? d/nuitaj (Z);sve do Z=n

    ZBRAJANJEuitaj (A,B) i ispii (A+B)ODUZIMANJEuitaj (A,B) i ispii (A-B)MNOENJEuitaj (A,B) i ispii (A*B)DIJELJENJEuitaj (A,B) i ispii (A/B)*POSTOuitaj (A,M) i ispii (N=A*M/100)PRIJESTUPNA Uitaj G ponavljaj sve dok (i 20) OST = G / 4 (modulno) ako (OST = 0) i = i +1 ispii G G = G +1 kraj_ ponavljanja 5 = postotak6 = prestupna POSTOPRIJESTUPNA

  • Objektno programiranjeiliObjektni pristup programiranjuiliObjektu orijentirano programiranje

    (engl. Object oriented programming)*

  • Moderno programiranjegrafiko sueljeprogramiranje: progonjeno dogaajimaprogram se ne odvija po unaprijed odreenom slijeduprogramom se upravlja pomou niza dogaaja mi, tipka, izbornik (MENU) operacije moraju biti dostupne istodobnoobjektni pristup razbijanje rjeenja na niz zatvorenih cjelina radi se s objektima (operacije + podaci) *

  • Glavna svojstva objektno orijentiranog jezikaenkapsulacija ili uahurivanje: spajanje podataka i operacijaskrivanje podataka: privatnostponovna iskoristivost: svojstvo nasljeivanjapolimorfizam: vano je to, a ne kako je neto izvedeno*

  • Objektni pristup (1)-------------------------------------------------- OBJEKT PODACI cijeli broj (A)cijeli broj (B) FUNKCIJE MENU 1 = zbrajanje 2 = oduzimanje 3 = mnoenje 4 = dijeljenje UITAJ Uitaj (A, B)ZBROJI UITAJ Ispii (A+B)ODUZMI UITAJ Ispii ( A-B)POMNOI UITAJ Ispii (A * B)

    PODIJELI UITAJ Ispii (A / B)IZVOENJEponavljanje MENU 5 = kraj Uitaj (i) izvedi ovisno o (i) ZBROJI ODUZMI POMNOI PODIJELI sve do Z=n KRAJKRAJIspis: Jo ? d/nUitaj (Z);--------------------------------------------------GLAVNI PROGRAM OBJEKT--------------------------------------------------*

  • Objektni pristup (2): -----------------------------------------------------NOVI OBJEKT OBJEKT PODACI cijeli broj (G)realni broj (A)realni broj (M) FUNKCIJENOVI MENU MENU 5 = izraunavanje postotka 6 = prestupna godinaPOSTO Uitaj (A,M) Ispii (N=A*M/100)PRESTUPNA Uitaj G cb OST, cb i = 0; ponavljaj sve dok (i 20) ost = G / 4 (modulno) ako (OST = 0) i = i +1 ispii G G = G +1kraj ponavljanja NOVO IZVOENJE ponavljanje NOVI MENU 7 = kraj Uitaj (i) izvedi ovisno o (i) ZBROJI ODUZMI POMNOI PODIJELI POSTO PRESTUPNA sve do Z=n KRAJ---------------------------------------------GLAVNI PROGRAM NOVI OBJEKT---------------------------------------------*

  • REZULTATDobiven je novi kdIzvedena je enkapsulacija (uahurivanje: 100%)Podaci su privatni (skriveni)Predhodno rjeenje ponovno je iskoriteno (naslijeeno)Objekti su polimorfni (vano je to a, ne kako rade)*

  • Vidimo se za tjedan dana!*I to je to!

    ***********

Search related