osnove programiranja - c/c++fmpe.edu.ba/images/nastava/948/informatika_2017-18/osnove_progra… ·...

Download Osnove programiranja - C/C++fmpe.edu.ba/images/nastava/948/Informatika_2017-18/Osnove_progra… · Fakultet za menadžment i poslovnu ekonomiju predmet: INFORMATIKA Danas je intencija

If you can't read please download the document

Upload: ngohanh

Post on 06-Feb-2018

220 views

Category:

Documents


2 download

TRANSCRIPT

  • FAKULTET ZA MENADMENT I POSLOVNU EKONOMIJU predmet: INFORMATIKA

    Osnove programiranja -

    C/C++prof.dr. Demal Kulain

    Kiseljak-Tuzla, januar 2018.

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    Danas je intencija poznavati barem osnoveprogramiranja i...

    ...biti sposoban za koritenje barem jednogjezika za razvoj programa i/ili njihovemodifikacije...

    C... C++... C#... PHP... Java... VBA...

    Znaaj programskih jezika

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    Programski jezik je alat pomou kojegprogramer kreira sopstvene programe,generirajui posebne instrukcije koje raunar"razumije.

    Program je skup instrukcija programskogjezika.

    Znaaj programskih jezika

  • Faze u programiranju

    Raunar insistira na jasnoi...

    Zato, prvo trebamo: model rjeenja problema

    Dakle, trebaju nam faze analize i specifikacije problema, koje uglavnom podrazumijevaju:

    Algoritam i Dijagrama toka

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    ...Faze u programiranju

    Trea faza je kljuna, jer predstavljaimplementaciju podatkovnih objekataalgoritma i dijagrama u programski jezik

    Faza se oznaava kao: Kodiranje

    Rezultat: Izvorni program, Source code

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    ...Faze u programiranju

    etvrta faza je prevoenje izvornog programado jezika raunara Koji je to jezik?

    Faza se oznaava kao: Prevoenje ili Kompajliranje

    Izvodi se ako nema sintaksikih greaka!

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    ...Faze u programiranju

    Peta faza je provjera programa sa setompodataka za koje znamo unaprijed znamotaan izlaz Naime, esto se kod uspjeno kompajlira,

    ali rezultati nisu korektni!? Faza se oznaava kao: Testiranje

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    ...Faze u programiranju

    Peta faza su eventualne izmjene u kodu,nakon to je program stavljen u upotrebu

    Faza se oznaava kao: Odravanje Konano, u sloenijim rjeenjima, potrebno je

    napraviti i dokumentaciju Faza se oznaava kao: Dokumentiranje .

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    - Algoritam

    - Dijagram toka

    ***************************************************************

    - Kodiranje

    - Kompajliranje

    - Testiranje

    - Odravanje

    - Dokumentiranje

    Pregled faze u programiranju

    Analiza i specifikacija

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    Jedan od temeljnih programskih jezika je C.

    Poseban kvalitet C jezika je mogunostkoritenja komandi jezika visokog nivoa uzistovremenu mogunost pristupa hardverskimkomponentama.

    C je programski jezik koji se koristi kako zarazvoj aplikacija, tako i za razvoj operativnihsistema.

    Osnove jezika C/C++

  • C je, dakle, fleksibilan jezik sa irokom

    primjenom:

    CAD, igre, komercijalni sistemi, Vetaka inteligencija (ekspertni sistemi, robotika)

    Upravljanje procesima, real-time sistemiSistemski softver (operativni sistemi,

    kompajleri, linkeri itd.)

    Elektronski fakultet u Niu

    Primjena jezika C/C++

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    Jezik C spada u jezike visokog nivoa, i u tzv.kompajlerske jezike.

    Osnove jezika C/C++

    Kompajlerski jer...

    ...program se iz programskog jezika vieg nivoakompajlira (prevodi) do mainskog jezika, tj.jezika raunara!

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    Dakle...

    Instrukcije programskih jezika visokog nivoabliske su govornom jeziku i/ili standardnojmatematikoj notaciji.

    Oito, pravi se odmak od raunarskog izvornogkoda... Razlog?

    Osnove jezika C/C++

  • Fakultet za menadment i poslovnu ekonomijupredmet: INFORMATIKA

    No, da bi uope pristupili pisanju programskogkoda, potreban je odgovarajui software.

    Najbolje je koristiti razvojna okruenja pojedinihprogramskih alata.

    Npr. elimo li raditi u C/C++ moemo koristitirazvojno okruenje Dev C++:

    Osnove jezika C/C++

  • Razvojno okruenje jezika C/C++

    - Naravno, da bi napravili program, moramo znati odreene osnove odabranog jezika...

    - Dev C++

  • Predstavljanje cjelobrojnih podataka:

    - int cjelobrojni podatak za ije se predstavljanje koriste

    16 ili 32 bita

    - char mali cjelobrojni podatak (veliina 1 bajt)

    Predstavljanje realnih vrijednosti:

    - float realni podatak u jednostrukoj tanosti (32 bita)

    - double realni podatak u dvostrukoj tanosti (64 bita)

    Osnovni tipovi podataka jezika C/C++

  • Varijante navedenih tipova podataka dobijaju se dodavanjem kljunih rijei:

    - short ,

    - long ,

    - unsigned i signed

    short - memorijski prostor za predstavljanje podatka se smanjuje na pola,

    long - memorijski prostor za predstavljanje podatka se udvostruava,

    unsigned - radi se o neoznaenom podatku,

    signed radi se o oznaenom podatku

    Osnovni tipovi podataka jezika C/C++

  • Rezultati su, takoe, numerikog tipa

    Operatori inkrementiranja (++) i dekrementiranja (--)

    Operatori osnovnih operacija *, /, %

    Osnovni aritmetiki operatori

  • Ovoj grupi operatora pripadaju:

    < (manje),

    (vee),

    >= (vee ili jednako),

    == (jednako),

    != (razliito).

    Relacioni operatori

  • Operator dodjele

    Operator proste dodjele je = (ne treba ga mijeati sa relacionim operatorom ==)

    Lijevi operand ovog operatora je lijeva vrednost (ime promenljive), a desni operand je proizvoljni izraz.

    Bitno pravilo:

    Prvo se izraunava izraz na desnoj strani. Nakon toga se dobijena vrijednost upisuje u memorijsku lokaciju koja je rezervirana za uvanje te promenljive.

  • Openito, program predstavlja skup definicija:

    - promjenljivih,

    - simbolikih konstanti,

    - tipova i

    - funkcija.

    Obavezan dio svakog C/C++ programa je funkcija main, i svaki program sadri tano jednu definiciju funkcije main.

    Main poziva operativni sistem u trenutku poziva programa.

    Struktura C/C++ programa

  • Opi oblik deklaracije promjenljive je:

    Tip ime_varijable;

    Primjeri:

    int a, b;

    long int i;

    double zapremina;

    Varijable (Promjenljive)

  • Opi oblik deklaracije konstante je:

    Const Tip_konstante = izraz;

    Primjeri:

    const int a=3, b=5;

    const float Pi=3.14;

    Konstante

  • scanf i printf (u C),

    cin i cout (u C++)

    Deklaracije funkcija za upravljanje ulaznim/izlaznim resursima nalaze se u bibliotekama

    stdio.h i iostream

    Vano: Za ukljuivanje se koristi pretprocesorska direktiva include

    Naredbe ulaza i izlaza

  • Format include direktive:

    #include

    Dakle, kada se u programu koriste funkcije ulaza i izlaza,

    treba navesti sljedee:

    #include (u C)

    ili #include (u C++)

    Naredbe ulaza i izlaza

  • Naredbom IF implementira se osnovi tip selekcije (grananja)

    Dijagram toka ove strukture:

    izraz

    Naredba 1 Naredba 2

    FT

    Naredbe selekcije - IF

    Ekvivalentan kod je:

    if ()

    else

  • Programske petlje omoguavaju viestruko ponavljanje odreenog dijela programa u toku njegovog izvravanja.

    U programskom jeziku C postoje tri vrste programskih petlji:

    1) for

    2) while

    3) do-while

    Programske petlje

  • Programske petlje - FOR

    FOR (izraz1; izraz2; izraz3) {naredba

    }

    Pri tome, argumenti su:izraz1 poetno stanje kontrolne varijable izraz2 uvjet

    izraz3 prirast kontrolne varijable

  • naredba

    izraz

    da

    ne

    While petlja omoguava ponavljanje naredbe programa dok je definirani uvjet zadovoljen (Da, Istina, True)

    Ekvivalentan kod je:

    WHILE (izraz) {

    naredba }

    Programske petlje - While

  • Razlika: uvjet za ponavljanje petlje u kodu nalazi se iza njenog tijela tako da se naredba mora izvriti barem jednom!

    naredba

    izraz

    da

    ne

    Ekvivalentan kod je:

    DO {

    naredba }

    WHILE (izraz);

    Programske petlje DO - WHILE

  • Nastavna jedinka: