1 / 37

Osnove programiranja

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

cain-wilson
Download Presentation

Osnove programiranja

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 programiranja

  2. Literatura:Boris Motik & Julian ŠribarDemistificirani C++Dobro upoznajte protivnikada biste njime ovladaliElement, Zagreb 1997. *

  3. Literatura:Nina Lipljin: Programiranje/1 TIVA/FOI 2004 *

  4. Plan predavanja • Uvod • O programskim jezicima • O metodama programiranja • O objektnom pristupu *

  5. Uvod *

  6. Računala ne znaju apstraktno dijeliti niti množiti !!! *

  7. Zadaci: cjelobrojno dijeljenje(1) Učitati i podijeliti dva broja(2) Učitaj dva cijela broja A i B, podijeli A s B s cjelobrojnim rezultatom dijeljenja u D i ostatkom u Cponovi postupaknputa *

  8. Zadatak prvi: A/B=? C=A da START ne Učitaj: A, B A=94B=23 C=A-(C-B) D=D-1 C D 0 0 C=94-(115-23)=94-92=2 D=5-1=4 C=D=0 23 1 46 2 69 3 92 4 1155 ISPIS: A / B=D i ost. C C=C+B D=D+1 ISPIS: A / B=D da C<A STOP ne *

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

  10. Rješenje drugog zadatka START Još? d/n? učitaj: A,B d? da ne CJELOBROJNO DIJELJENJE STOP *

  11. Programski jezici *

  12. Razvoj programskih jezika 1960 1970 1990 2000 1950 1980 2010

  13. Razvoj programskih jezika • 1949 Asembler (John Mauchly) • Fortran (IBM) FLOW-MATIC (UNIVAC) • ALGOL (Miting u Zurichu) • COBOL (Short Term Commitee) 1960 1970 1990 2000 1950 1980 2010

  14. Razvoj programskih jezika Fortran ALGOL COBOL 1960 1961 1962 1963 1964 BASIC (Dortmauth Uni) 1965 1966 1967 1968 1969 1960 1970 1990 2000 1980 2010 1950

  15. Razvoj programskih jezika Fortran ALGOL BASIC COBOL 1970 1971 Pascal (Niklaus Wirth) 1972 C (Dennis Ritchie – Bell) 1973 1974 1975 1976 1977 Modula 2 (Niklaus Wirth) 1978 1979 1960 1970 1990 2000 1980 2010 1950

  16. Razvoj programskih jezika Fortran Pascal Modula 2 BASIC C COBOL 1980 1981 1982 1983 1984 C++ (Bjarne Stroustrup – Bell) 1985 1986 1987 1988 Oberon (Niklaus Wirth) 1989 1960 1970 1990 2000 1980 2010 1950

  17. Razvoj programskih jezika Fortran Pascal Modula 2 Oberon BASIC C C++ COBOL 1990 Visual Basic (Microsoft) 1991 1992 1993 1994 Java (Sun) 1995 Delphi (Anders Hejlsberg – Borland) 1996 1997 1998 1999 1960 1970 1990 2000 1980 2010 1950

  18. Razvoj programskih jezika Fortran Pascal Modula 2 Oberon Delphi BASIC Visual Basic C C++ Java COBOL 2000 2001 2002 C# (Anders Hejlsberg – Microsoft) 2003 2004 2005 2006 2007 2008 2009 1960 1970 1990 2000 1980 2010 1950

  19. Razvoj programskih jezika 1943. Godine Konrad Zuse je u svojoj doktorskoj disertaciji objavio svoj programski jezik koji se zvao Plankalkül. Jezik se pokretao na računalima koje je on sam napravio. Jezik je imao petlje, polja, matematičke izraze. Nažalost njegov rad bio je izgubljen sve do 70-tih godina. 1960 1970 1990 2000 1980 2010 1950

  20. Jezik C • (Dennis Ritchie, 1972) • direktan prethodnik jezika C++ • opća namjena • jednostavan za učenje • modularan • brz • omogućava optimalizaciju koda *

  21. C++ jezik(Bjarne Stroustrup, 1984) • potreba : da se jednom napisani kôd višekratno koristi • objektno orijentirani jezik • omogućavaobjektni pristuprješavanju problema *

  22. Prolog Datalog Flora Logičko programiranje SQL ML Daplex Funkcionalno programiranje C++ C BASIC Proceduralno progamiranje Pascal Fortran Oberon Objektno Orijentirano progamiranje Strukturno programiranje *

  23. Algoritmi+Strukture podataka=Programiranje N. Wirth - algoritam : općenito rješenje problema - Struktura podataka : način na koji program čuva podatke. Osnovni alati - Blok dijagram - pseudokod : rješenje u formi programa na ‘hrvatskom’ *

  24. Metode programiranja *

  25. Zadatak (1) Preko tastature se učitavaju dva cijela pozitivna broja A i B. Ponuda operacija: 1 = zbrajanje 2 = oduzimanje 3 = množenje 4 = dijeljenje Korisnik bira jednu od operacija. Izabrana operacija se izvršava, a rezultat ispisuje na ekran (zaslon). Izvođenje se ponavlja n puta Zadatak (2) Identičan predhodnome. Dodaje se: 5=izračunavanje postotka 6=ispis slijedećih 20 prijestupnih godina *

  26. Zadatak 1 Izbornik Učitavanjeselektorskevrijednosti Zbrajanje Oduzimanje Množenje Dijeljenje *

  27. Zadatak 2 Izbornik Učitavanjeselektorskevrijednosti Zbrajanje Oduzimanje Množenje Dijeljenje Postotak Prijestupna *

  28. Algoritam (1) 1. Ispis Izbornika: 1 = zbrajanje 2 = oduzimanje 3 = množenje 4 = dijeljenje 2. Izbor akcije: učitavanje selektorske vrijednosti 3. Grananje, ovisno o selektorskoj vrijednosti: 3.1 zbrajanjeoduzimanjemnoženjedijeljenje učitavanje učitavanje učitavanje učitavanje računanje računanje računanje računanje ispis ispis ispis ispis 4. Izbor akcije: učitavanje indikatora kraja ‘d’= ponavljanje od 1. ‘n’ = prekid izvođenja *

  29. Algoritam (2) 1. Ispis Izbornika: 1 = zbrajanje 2 = oduzimanje 3 = množenje 4 = dijeljenje 2. Izbor akcije:učitavanje selektorske vrijednosti 3. Grananje, ovisno o selektorskoj vrijednosti: 3.1 zbrajanjeoduzimanjemnoženjedijeljenje učitavanje učitavanje učitavanje učitavanje računanje računanje računanje računanje ispis ispis ispis ispis 4. Izbor akcije:učitavanje indikatora kraja ‘d’= ponavljanje od 1. ‘n’ = prekid izvođenja 5 = postotak 6 = prestupna g. postotak prestupna učitavanje učitavanjeračunanje računanjeispis ispis *

  30. Pseudokôd(1) ponavljaj ispiši 1 = zbrajanje 2 = oduzimanje 3 = množenje 4 = dijeljenje učitaj (i) izvedi ovisno o (i)ZBRAJANJE ODUZIMANJE MNOŽENJE DIJELJENJE ispiši: ‘Još ? d/n’ učitaj (Z); sve do Z=‘n’ ZBRAJANJE učitaj (A,B) i ispiši (A+B) ODUZIMANJE učitaj (A,B) i ispiši (A-B) MNOŽENJE učitaj (A,B) i ispiši (A*B) DIJELJENJE učitaj (A,B) i ispiši (A/B) • 5 = postotak • 6 = prestupna POSTO učitaj (A,M) i ispiši (N=A*M/100) PRIJESTUPNA Učitaj G ponavljaj sve dok (i<> 20) OST = G / 4 (modulno) ako (OST = 0) i = i +1 ispiši G G = G +1 kraj_ ponavljanja POSTO PRIJESTUPNA *

  31. Objektno programiranje ili Objektni pristup programiranju ili Objektu orijentirano programiranje (engl. Object oriented programming) *

  32. Moderno programiranje • grafičko sučelje • programiranje: progonjeno događajima • program se ne odvija po unaprijed određenom slijedu • programom se upravlja pomoću niza događaja • miš, tipka, izbornik (MENU) • operacije moraju biti dostupne istodobno • objektni pristup • razbijanje rješenja na niz zatvorenih cjelina • radi se s objektima (operacije + podaci) *

  33. Glavna svojstva objektno orijentiranog jezika • enkapsulacija ili učahurivanje: spajanje podataka i operacija • skrivanje podataka: privatnost • ponovna iskoristivost: svojstvo nasljeđivanja • polimorfizam: važno je što, a ne kako je nešto izvedeno *

  34. Objektni pristup (1) -------------------------------------------------- OBJEKT PODACI cijeli broj (A) cijeli broj (B) FUNKCIJE MENU 1 = zbrajanje 2 = oduzimanje 3 = množenje 4 = dijeljenje UČITAJ Učitaj (A, B) ZBROJI UČITAJ Ispiši (A+B) ODUZMI UČITAJ Ispiši ( A-B) POMNOŽI UČITAJ Ispiši (A * B) PODIJELI UČITAJ Ispiši (A / B) IZVOĐENJE ponavljanje MENU 5 = kraj Učitaj (i) izvedi ovisno o (i) ZBROJI ODUZMI POMNOŽI PODIJELI sve do Z=‘n’ KRAJ KRAJ Ispis: ‘Još ? d/n’ Učitaj (Z); -------------------------------------------------- GLAVNI PROGRAM OBJEKT -------------------------------------------------- *

  35. Objektni pristup(2): -----------------------------------------------------NOVI OBJEKT OBJEKT PODACI cijeli broj (G) realni broj (A) realni broj (M) FUNKCIJE NOVI MENU MENU 5 = izračunavanje postotka 6 = prestupna godina POSTO Učitaj (A,M) Ispiši (N=A*M/100) PRESTUPNA Učitaj G cb OST, cb i = 0; ponavljaj sve dok (i<> 20) ost = G / 4 (modulno) ako (OST = 0) i = i +1 ispiši G G = G +1 kraj ponavljanja NOVO IZVOĐENJE ponavljanje NOVI MENU 7 = kraj Učitaj (i) izvedi ovisno o (i) ZBROJI ODUZMI POMNOŽI PODIJELI POSTO PRESTUPNA sve do Z=‘n’ KRAJ ---------------------------------------------GLAVNI PROGRAM NOVI OBJEKT --------------------------------------------- *

  36. REZULTAT • Dobiven jenovi kôd • Izvedena jeenkapsulacija(učahurivanje: 100%) • Podaci su privatni (skriveni) • Predhodno rješenjeponovno je iskorišteno(naslijeđeno) • Objekti supolimorfni(važno ještoa, nekakorade) *

  37. I to je to! Vidimo se za tjedan dana! *

More Related