Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

download Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

of 19

Transcript of Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    1/19

    SVEUILITE/UNIVERZITET VITEZ TRAVNIK

    FAKULTET POSLOVNE INFORMATIKE

    STUDIJ I CIKLUSA; GODINA STUDIJA: I CIKLUS: I GODINA

    SMIJER: INFORMACIONE TEHNOLOGIJE

    PROGRAMSKE PETLJE I NJIHOVA IMPLEMENTACIJA U

    PROGRAMSKOM JEZIKU C++

    SEMINARSKI RAD

    Travnik, 2013. godine

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    2/19

    SVEUILITE/UNIVERZITET VITEZTRAVNIKFAKULTET POSLOVNE INFORMATIKE

    STUDIJ I CIKLUSA; GODINA STUDIJA: I CIKLUS: I GODINA

    SMIJER: INFORMACIONE TEHNOLOGIJE

    PROGRAMSKE PETLJE I NJIHOVA IMPLEMENTACIJA U

    PROGRAMSKOM JEZIKU C++

    SEMINARSKI RAD

    IZJAVA: Ja, Amer Ali,student Sveuilita/Univerziteta VitezTravnik,Indeks broj: 0184-12/DIT odgovorno i uz moralnu i akademsku

    odgovornost izjavljujem da sam ovaj rad izradio potpuno samostalno uz

    koritenjecitirane literature i pomoprofesora odnosno asistenata.

    Potpis studenta:

    STUDENT: Amer AliPREDMET: Strukture podataka i algoritmiPROFESOR: Prof.dr Lazo RoljiASISTENT: Mr. Kenan Bradi

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    3/19

    3

    SADRAJ :

    1 UVOD ................................................................................................................... 4

    1.1 PROBLEM, PREDMET I OBJEKT ISTRAIVANJA................................ 4

    1.2 SVRHA I CILJEVI ISTRAIVANJA.......................................................... 4

    1.3 RADNA HIPOTEZA I POMONE HIPOTEZE......................................... 4

    1.4 ZNANSTVENE METODE ........................................................................... 5

    1.5 STRUKTURA RADA ................................................................................... 5

    2 UOPTENO O PROGRAMSKIM PETLJAMA................................................. 6

    3 TIPOVI PROGRAMSKIH PETLJI ...................................................................... 7

    3.1 FOR PETLJA ................................................................................................ 8

    3.2 WHILE PETLJA ........................................................................................... 8

    3.3 POREENJE PETLJI FOR I WHILE .......................................................... 9

    3.4 DO WHILE PETLJA .................................................................................. 11

    3.5 POREENJE WHILE I DO WHILE PETLJE........................................... 12

    4 UGNJEDENA PETLJA................................................................................... 15

    5 BESKONANA PETLJA.................................................................................. 17

    6 ZAKLJUAK: .................................................................................................... 18

    7 LITERATURA ................................................................................................... 19

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    4/19

    4

    1 UVOD

    1.1

    PROBLEM, PREDMET I OBJEKT ISTRAIVANJA

    Razliiti programski jezici zahtjevaju razliite nivoe znanja, umijea i detalja koje programer

    treba posjedovati.1 Programiranje ili raunarsko programiranje (engl. programming) je

    vjetina pomou koje programer stvara i izvrava algoritme koristei odreene programske

    jezike da bi napravio raunarski program.

    U tom procesu kreiranja programa, odnosno izvravanja algoritma kroz kd, programer mora

    sa kdom opisati algoritam, bilo da se radi o linijskoj, razgranatoj ili ciklinoj strukturi

    algoritma.

    U ovom seminarskom radu upravo elimo obraditi ciklinu strukturu, odnosno strukturu

    petlje, kroz primjere implementacije u programskom jeziku C++.

    1.2

    SVRHA I CILJEVI ISTRAIVANJA

    Cilj ovog rada i istraivanja jeprikazati petlje u njihovom prirodnom okruenju, te pokazati

    kako se koriste i dokazati koliko je bitno znati odabrati tip programske petlje da bi se rijeio

    odreeni problem.

    1.3 RADNA HIPOTEZA I POMONE HIPOTEZE

    Na temelju problema i predmeta istraivanja postavlja se glavna hipoteza:

    Kvalitet programiranja ovisi o koritenju, odnosno ne koritenjuprogramskih petlji u procesuizrade programa. .

    1Wikipedia,http://bs.wikipedia.org/wiki/Programiranje

    http://bs.wikipedia.org/wiki/Programiranjehttp://bs.wikipedia.org/wiki/Programiranje
  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    5/19

    5

    1.4 ZNANSTVENE METODE

    U ovom seminarskom radu koriste se naune(strune) metode:

    - Metoda analize i sinteze.

    -

    Metoda klasifikacije,

    - Metoda poreenja,

    - Matematikametoda,

    -

    Metoda modeliranja.

    1.5

    STRUKTURA RADA

    Struktura seminarskog rada je usklaena sa Uputstvom za pisanje seminarskog rada na

    prvom ciklusu studija kao i temi seminarskog rada. On sadri pet poglavlja.

    Prvo poglavlje, Uvod, sadri pet podpoglavlja, koje smo u tekstu iznad ve obradili:

    - Problem, predmet i objekt istraivanja,

    -

    Svrha i ciljevi istraivanja,

    - Radna hipoteza i pomone hipoteze,

    - Znanstvene metode,

    -

    Struktura rada.

    Drugo poglavlje, govori , o tome ta su programske petlje, o vrstama programskih petlji,

    te razvoju kroz historiju programiranja.

    Tree poglavlje,je primjena programskih petlji, nain na koji rade.

    etvrto poglavlje, Primjena programskih petlji u programskim jezicima, te implementacija

    u programskom jeziku C++.

    Peto poglavlje, daje generalnu ocjenu o programskim petljama.

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    6/19

    6

    2 UOPTENO O PROGRAMSKIM PETLJAMA

    Da bi shvatili ta su programske petlje, moraemo se osvrnuti i ukratko opisati osnovne

    algoritamske strukture.

    Algoritamske strukture se dijele u tri osnovne grupe:

    Linijska (sekvencija)

    Razgranata (selekcija)

    Ciklina (iteracija)

    Karakteristika linijske struktureje da se svi elementi izvravaju samo jednom i koraci se

    odvijaju u nizu jedan za drugim bez ponavljanja ili "skretanja". Programskim petljama

    moemo smatrati dio programskog kda, ili algoritamske strukture, koje slue kako se mogu

    izvravati unaprijed zadane operacije zadanibroj puta ili sve dok je odreeni uslov ispunjen.

    Svaki prolaz podatka kroz petlju zovemo iteracija.

    C++ Slika 1 : Algoritam

    #include

    using namespace std;

    int main()

    {

    int A,B,C;

    cin >> A >> B;

    C=A+B;

    cout B). Ako je uslov

    istinit, to jeste ako je prvi uneseni broj vei od drugog unesenog broja, onda e se izvriti ono

    to je u tijelu funkcije IF, u suprotnom e se ispisati poruka: Ne mogu izvrsiti radnju!.

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    7/19

    7

    C++ Slika 2 : Razgranata struktura

    #include

    using namespace std;

    int main()

    {

    int A,B,C;cin >> A >> B;

    C=A-B;

    if (A>B)

    {

    cout A;

    for (A; A

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    8/19

    8

    3.1 FOR PETLJA

    Kada govorimo o tipu petlje FORu programskom jeziku C++, onda je to petlja sa tri

    izraza, to je zajedniko svim programskim jezicima koji dijele zajedniku batinu sa C

    programskim jezikom.

    FOR petlju koristimo kada je broj iteracija (ponavljanja) unaprijed poznat. Primjer ove

    petlje je na slici iznad (Slika 3.)

    Slika 4 : Izrazi u FOR petlji

    Prvi izraz je inicijalizacija i u njemu moemo deklarisati varijablu i dati joj vrijednost, drugi

    izraz je u stvari jedini pravi uslov, a definiemo ga pomou poredbenih operatora, dok je trei

    izraz korak, a njega definiemo sa aritmetikim operatorima. Znak A++ na primjeru u stvari

    znai A=A+1 i ovo je takozvani inkrement, dok A-- ili A=A-1 predstavlja dekrement.

    Izrazi su odvojeni sa znakom taka-zarez, a dozvoljeno je da se neki od izraza, pa i svi izrazi

    izostave. U tom sluaju je potrebno ostaviti znak taka-zarez kao na primjeru:

    for (;A

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    9/19

    9

    U ovom tipu petlje kao uslov koji se treba ispuniti dozvoljeno je koristiti samo jedan izraz i to

    poredbeni izraz, odnosno izraz sa poredbenim operatorima, kao na primjer:

    while (A> A;

    for (A; A

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    10/19

    10

    int main()

    {

    int A;

    cin >> A;

    for (; A

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    11/19

    11

    }

    Petlja je gotovo identina FOR petlji iz prvog primjera sa jedinom razlikom u sedmoj liniji

    koda u kljunoj rijei poetka petlje i izostavljenim znakovima taka-zarez.

    WHILE petlja ima oblik:

    while (izraz) naredba;

    FOR petlja ima oblik:

    for (izraz_1; izraz_2; izraz_3)

    naredba;

    koja je ekvivalentna konstrukciji WHILE petlje :

    izraz1;

    while (izraz_2)

    {

    naredba;

    izraz_3;

    }

    3.4

    DO WHILE PETLJA

    Kod DO WHILE tipa petlje iteracija se vri dok se ne zadovolji odreen uslov, sa

    provjerom na kraju petlje.

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    12/19

    12

    DO WHILE petlja ima oblik:

    do

    naredba;

    while (izraz);

    Kod provjere istinitosti na kraju petlje, ne postoji mogunost da se ne izvri ni jedno

    ponavljanje. Razlog je jednostavan, provjera se vri u posljednjem redu bloka kda, te se

    mora proi barem jedanput kroz itav blok.

    Za ovu vrstu petlje u veini programa se koristi kljuna rije "DO WHILE" prilagoena

    sintaksi programskog jezika.Ovaj tip petlje koristimo ukoliko broj ponavljanja petlje nije

    unaprijed poznat, nego ovisi o ispunjenju zadanog uslova i ukoliko elimo bar jednom

    provjeriti, odnosno uporediti uneenu vrijednost sa uslovom u izrazu.

    3.5

    POREENJEWHILE I DO WHILE PETLJE

    WHILEpetlja

    #include

    using namespace std;

    int main()

    {

    int A;

    cin >> A;

    while (A > 0)

    {

    cout

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    13/19

    13

    return 0;

    }

    DO WHILEpetlja

    #include

    using namespace std;

    int main()

    {

    int A;

    cin >> A;

    do

    {

    cout 0);

    cout

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    14/19

    14

    tekstualna poruka: Kraj brojanja! Ostaloje -1 zvijezdica..

    Dakle. iako smo kao ulazni podatak upisali broj nula (0) izvrila se jedna iteracija, odnosno

    jedan prolaz kroz petlju, jer se provjera izvrava na izlazu iz petlje, to je karakteristika DO

    WHILEpetlji..

    Meutim ukoliko budemo htjeli napraviti situaciju u kojoj elimo da nam se prvo izvede neka

    operacija te da se, ovisno o njenom ishodu, ta operacija eventualno ponavlja, u tu svrhu esvakako posluiti DO WHILEpetlja.

    #include

    #include

    using namespace std;

    void main()

    {

    string lozinka;

    do

    {

    cout lozinka;

    }while (lozinka != "123");

    cout

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    15/19

    15

    4 UGNJEDENA PETLJA

    FORpetlje se mogu pisati jedna unutar druge, onda takve petlje zovemo ugnijeene

    FOR petlje. Naveden je primjer (Slika 8.) jedne ugnjedene FOR petlje i detaljnoopisano ta se deava kada pokrenemo ovaj dio programa.

    Slika 5. Ugnjedena FOR petlja

    Algoritam

    C++ kd

    #include

    #include

    using namespace std;

    int main()

    {

    int kolona,red;

    for(red=1;red

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    16/19

    16

    for(kolona=1;kolona

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    17/19

    17

    5 BESKONANA PETLJA

    Ako se dogodi da se pokrene program u kom je beskonana petlja,njegovo izvravanjeese

    prekinuti ako zatvorimo prozor programa.

    Moe se dogoditi da jeuslovpetlje uvijek ispunjen. Petlja e se tom sluaju izvoditi

    beskonano. To subeskonane petlje.

    Tabela 1. Beskonana FORpetlja

    Primjer beskonane petlje

    #includeusing namespace std;

    int main()

    {

    for(int b=3;b

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    18/19

    18

    6 ZAKLJUAK:

    Ono to moemo zakljuiti iz ovog rada ,jested a su petlje neizostavni dio programiranja i da

    bez njihove upotrebe posao programiranja bi bio sveden na runo upisivanje naredbi.

    Neizbjena situacija kojoj moramo vie puta ponoviti neki dio programa, odnosno slijed

    naredbi, to moemo raditi runo, ali ukoliko to treba uraditi vie puta, taj posao bi postao u

    najmanju ruku zamoran ,to se naziva rjeavanje programskih problema , posao olakavamo

    tako sto upotrebljavamo naredbe koje omoguavaju automasko ponavljanje naredbi odreeni

    dio puta ili do ispunjenja nekih uslova

    Kvalitet programiranja uveliko ovisi o korienju, odnosno ne korienju programskih petlji u

    procesu izrade programa,ime smo dokazali hipotezu rada.

  • 8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD

    19/19

    19

    7 LITERATURA

    Knjige :

    1.) Skripte sa vjebi Sveuilita univerziteta Vitez Travnik 2012.godina2.) J. ribar, B. Motik: Demistificirani C++ (2. izdanje), Element, Zagreb, 2003.

    Tekstovi s interneta :

    1.)http://bs.wikipedia.org/wiki/Programiranje

    http://bs.wikipedia.org/wiki/Programiranjehttp://bs.wikipedia.org/wiki/Programiranjehttp://bs.wikipedia.org/wiki/Programiranjehttp://bs.wikipedia.org/wiki/Programiranje