Petlje (Loops)

Embed Size (px)

Citation preview

  • 7/29/2019 Petlje (Loops)

    1/21

    Petlje (Loops)

  • 7/29/2019 Petlje (Loops)

    2/21

    Podsjeanje Pogledajmo program koji smo napisali u prethodnom

    poglavlju:

    i = 1start:TextWindow.WriteLine(i)i = i + 1

    If (i < 25) ThenGoto start

    EndIf

  • 7/29/2019 Petlje (Loops)

    3/21

    Rezultat Navedeni program tampa brojeve od 1 do 24 po

    redosledu

    Ovakav proces uveavanja vrijednosti promjenljivih jetoliko est u programiranju, da gotovo svi programskijezici nude jednostavniji nain da se ovo zapie

  • 7/29/2019 Petlje (Loops)

    4/21

    For Navedeni program je ekvivalentan programu:

    iji je rezultat izvravanja:

    For i = 1 To 24

    TextWindow.WriteLine(i)EndFor

  • 7/29/2019 Petlje (Loops)

    5/21

    Optimizacija programa Primjetite da smo program od 7 linija sveli na program

    od 3 linije, a da on i dalje obavlja isti posao kao njegovprethodnik

    Ovo je dobar primjer toga kako isti zadatak moeterijeiti na vie razliitih naina

  • 7/29/2019 Petlje (Loops)

    6/21

    For...EndFor For..EndFor konstrukcija, se u programerskoj

    terminologiji naziva petlja

    Ona vam omoguava da uzmete promjenljivu,dodjelite joj poetnu i krajnju vrijednost, a raunarudozvolite da joj mijenja vrijednost umjesto vas

    Svaki put kad raunar promijeni vrijednost

    promjenljivoj, izvravaju se naredbe izmeu For iEndFor

  • 7/29/2019 Petlje (Loops)

    7/21

    i=i+2Ako vrijednost promjenljive treba uveavati za 2(a ne

    za 1), kao u sluaju kada elite da vam se tampajusamo neparni brojevi izmeu 1 i 24, takoe moetekoristiti petlju:

    For i = 1 To 24 Step 2TextWindow.WriteLine(i)

    EndFor

  • 7/29/2019 Petlje (Loops)

    8/21

    Izlaz Izlaz navedenog programa:

  • 7/29/2019 Petlje (Loops)

    9/21

    Step Step 2 (dio for naredbe) govori raunaru da uvea

    vrijednost promjenljive i za 2, umjesto za uobiajeno 1

    Koristei Step, moete definisati inkrement kakav godelite

    Moete ak koristiti negativne vrijednosti - to e reiraunaru da broji unazad:

    For i = 10 To 1 Step -1TextWindow.WriteLine(i)

    EndFor

  • 7/29/2019 Petlje (Loops)

    10/21

    Rezultat

  • 7/29/2019 Petlje (Loops)

    11/21

    While petljaWhile petlja je jo samo jedan oblik petlje

    Za razliku od For, obino se koristi kada unaprijed ne

    znamo taan broj ponavljanja Dakle, For petlja se izvrava za unaprijed zadat broj

    puta, dok se While petlja izvrava sve dok je zadatuuslov taan

  • 7/29/2019 Petlje (Loops)

    12/21

    Primjer

    number = 100

    While (number > 1)TextWindow.WriteLine(number)number = number / 2

    EndWhile

  • 7/29/2019 Petlje (Loops)

    13/21

    Rezultat U navedenom primjeru, unijeti broj dijelimo sa 2 sve

    dok je vei od 1

  • 7/29/2019 Petlje (Loops)

    14/21

    Rezultat U navedenom primjeru, broju number dodjeljujemo

    vrijednost 100, i izvravamo petlju sve dok je number> 1

    Unutar petlje, mi najprije tampamo vrijednost brojanumber, a zatim ga polovimo

    Kao rezultat, dobijamo niz brojeva od kojih je svaki

    sledei upola manji od prethodnika

  • 7/29/2019 Petlje (Loops)

    15/21

    While vs. For Navedeni program bi bilo dosta tee napisati pomou

    For petlje, poto ne znamo unaprijed koliko puta e sepetlja izvravati

    Sa While petljom je jednostavno provjeriti uslov, i naosnovu toga rei raunaru da nastavi ili zaustaviizvravanje petlji

  • 7/29/2019 Petlje (Loops)

    16/21

    While vs. If Interesantno je naglasiti da se svaka While naredba

    moe prikazati pomou If naredbe

    Na poslednji program moemo zapisati i ovako:number = 100startLabel:TextWindow.WriteLine(number)

    number = number / 2If (number > 1) Then

    Goto startLabelEndIf

  • 7/29/2019 Petlje (Loops)

    17/21

    Zapravo... Zapravo, svaki put kad koristimo While petlju, raunar

    je interno prevodi u naredbe koje koriste If..Then,zajedno sa jednom ili vie Goto naredbi

  • 7/29/2019 Petlje (Loops)

    18/21

    Zadaci For Ispisati prirodne brojeve od 1 do n.

    Ispisati prirodne brojeve od k do n.

    Ispisati trostruku vrijednosti prirodnih brojeva od a dob.

    Ispisati dvostruku vrijednost prirodnih brojeva od 8 do16 unazad.

    Suma prvih n prirodnih brojeva. Suma dvostruke vrijednosti od 1 do 2*n.

    Suma prirodnih brojeva od k do n.

    Izraunati aritmetiku sredinu parnih od 1 do n.

  • 7/29/2019 Petlje (Loops)

    19/21

    Zadaci For Izraunati aritmetiku sredinu neparnih od k do n.

    Proizvod djeljivih sa 3 u intervalu od 1 do k.

    Proizvod djeljivih sa 7 u intervalu od 1 do z.

  • 7/29/2019 Petlje (Loops)

    20/21

    Zadaci While Ispisati prirodne brojeve od 8 do 16.

    Ispisati trostruke vrijednosti prirodnih brojeve od k don.

    Suma prvih n prirodnih brojeva.

    Suma trostrukih vrijednosti prvih n prirodnih brojeva.

    Suma parnih prirodnih brojeva od 1 do n.

    Suma prirodnih brojeva od 1 do n koji su djeljivi sa 3.

    Suma prirodnih brojeva od k do n koji nisu djeljivi sa 7.

  • 7/29/2019 Petlje (Loops)

    21/21

    Zadaci While Proizvod prirodnih od k do n.

    Izraunati aritmetiku sredinu prirodnih brojeva od 1do n.

    Izraunati aritmetiku sredinu prirodnih brojeva od kdo n.

    Izraunati aritmetiku sredinu brojeva djeljivih sa 3 u

    intervalu od 1 do n. Izraunati aritmetiku sredinu brojeva koji nisu

    djeljivi sa 7 od u intervalu k do n.