small basic 4- uslovi i grananje

Upload: sutjeskapg

Post on 04-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    1/25

    Uslovi i grananje

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    2/25

    MotivacijaVratimo se za trenutak na na prvi program

    Bilo bi dobro, da kada bi umjesto to samo

    kae Hello World, program moe da kaeGood Morning World ili Good EveningWorld, u zavisnosti od dijela dana

    U naem sledeem programu, uiniemo da

    program kae Good Morning World ako jonije podne 12PM, a Good Evening World ako

    je podne ve prolo

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    3/25

    ProgramIf (Clock.Hour < 12) Then

    TextWindow.WriteLine("Good Morning

    World")EndIfIf (Clock.Hour >= 12) Then

    TextWindow.WriteLine("Good EveningWorld")EndIf

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    4/25

    RezultatiU zavisnosti od toga kada ste pokrenuli

    program, vidjeete jedan od sledeih rezultata

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    5/25

    AnalizaAnalizirajmo prve tri linije koda

    Sigurno ste ve shvatili da ove linije govore

    raunaru, da ako je Clock.Hour manje od 12,on odtampa Good Morning World

    Rijei If, Then i Endifsu specijalne rijei kojeraunar razumije, kada je program pokrenut

    Rije Ifje uvjek praena uslovom, u ovomsluaju (Clock.Hour

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    6/25

    AnalizaUslov je praen sa Then i operacijom koju

    treba izvriti

    Nakon operacije dolazi EndIfOvo govori raunaru da je uslovno izvravanje

    zavreno

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    7/25

    OperacijeIzmeu Then i EndIf, moe stajati vie odjedne operacije, a raunar e ih sve izvritiako je uslov ispravan (validan)

    Npr. moete napisati neto ovako:

    If (Clock.Hour < 12) ThenTextWindow.Write("Good Morning. ")

    TextWindow.WriteLine("How wasbreakfast?")EndIf

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    8/25

    ElseU programu zapoetom u ovom poglavlju,

    moete primjetiti da je drugi uslov na nekinain suvian

    Clock.Hour je ili manje od 12 ili nije

    Stoga, nije postojala stvarna potreba daradimo drugu provjeru

    U ovakvim situacijama, dvije if..then..endifnaredbe, moemo zamijeniti sa samo jednom,koristei novu rije else

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    9/25

    Else u naem programuAko bi izmijenili na program tako da koristi

    else naredbu, izgledao bi ovako

    If (Clock.Hour < 12) ThenTextWindow.WriteLine("Good Morning

    World")

    ElseTextWindow.WriteLine("Good Evening

    World")EndIf

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    10/25

    Razliiti nainiOvaj program e uraditi istu stvar kao i

    prethodni, to nas dovodi do vane injenicekoju moramo znati o programiranju:

    rogramiranju, obino postoji vie naina da uradimo istu stekad jedan nain ima vie smisla od drugog. Izbor je ostavlgrameru. Kako budete pisali sve vie programa, i postajali

    sniji, poeete da primjeujete razliite tehnike, kao i njihodnosti i mane

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    11/25

    Uvlaenje tekstaU svim primjerima raenim u ovom poglavlju,

    moete primjetiti da su linije izmeu If, Else iEndIfuvuene

    Ovo uvlaenje nije neophodno

    Program e sasvim dobro razumjeti program ibez njih

    Meutim, one nam pomau da lake vidimo ishvatimo strukturu programa

    Stoga, uvijek je preporuljivo napravitiuvlaenje naredbi unutar takvih blokova

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    12/25

    Parni i neparniSada kad smo nauili If..Then..Else..EndIf

    naredbu, napiimo program koji, za unijeti brojvraa informaciju da li je paran ili neparan

    TextWindow.Write("Enter a number: ")num = TextWindow.ReadNumber()remainder = Math.Remainder(num, 2)

    If (remainder = 0) ThenTextWindow.WriteLine("The number is

    Even")Else

    TextWindow.WriteLine("The number isOdd")

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    13/25

    Rezultat izvravanja

    programaKada pokrenete navedeni program, dobiete

    rezultat u sledeem obliku:

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    14/25

    Math.RemainderU navedenom programu smo predstavili novu

    korisnu operaciju, Math.Remainder

    Kao to vjerovatno predpostavljate,Math.Remainder e prvi broj podijelitidrugim, a zatim vratiti ostatak

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    15/25

    GrananjeKao to se sjeate, prilikom analize prvog

    programa nauili smo da raunar u jednomtrenutku obrauje jednu po jednu naredbu, ito po redosledu, odozgo ka dolje

    Ipak, postoji posebna naredba koja kaeraunaru da zanemari redosled, i izvri skokna odreenu naredbu

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    16/25

    PrimjerPrimjer takve naredbe moemo da vidimo u

    sledeem programu:

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

    If (i < 25) ThenGoto startEndIf

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    17/25

    Rezultat

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    18/25

    start:U navedenom programu, promjenljivoj i smo

    dodjelili vrijednost 1

    Nakon toga smo dodali lnovu narebu koja sezavrava sa :

    Radi se o naredbi start:

    Ona se naziva labela oznaka. Labele su

    poput oznaenih taaka koje raunarrazumije

    Labelu moete nazvati kako god elite,avaem programu moete dodati proizvoljan

    broj labela, sve dok je svaka od njih razliito

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    19/25

    i=i+1Jo jedna zanimljiva naredba ovdje je i=i+1

    Ovo govori raunaru da promjenljivu i sabere

    sa brojem 1, i novu vrijednost smjesti natrag upromjenljivu i

    Dakle, ako je vrijednost promjenljive i prijeove naredbe bila 1, nakon izvravanja

    naredbe e biti 2

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    20/25

    GotoI konano,

    Ovaj dio govori raunaru da ako je vrijednostpromjenljive i manja od 25, skoi do labele

    starti odatle nastavi izvravanje naredbe

    If (i < 25) ThenGoto start

    EndIf

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    21/25

    Beskonano izvravanjeKoristei Goto naredbu, moete rei

    raunaru da neto ponovi koliko god putaelite

    Naprimjer, moete uzeti program kojiprovjerava da li je broj paran ili neparan, iizmijeniti ga na taj nain da se izvravazauvijek

    Program moete zasustaviti klikom naClose(X) dugme u gornjem desnom uglukonzole

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    22/25

    Primjerbegin:TextWindow.Write("Enter a number: ")num = TextWindow.ReadNumber()

    remainder = Math.Remainder(num, 2)If (remainder = 0) Then

    TextWindow.WriteLine("The number isEven")

    ElseTextWindow.WriteLine("The number is

    Odd")EndIfGoto begin

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    23/25

    Rezultat

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    24/25

    ZadaciUitati broj a. Ako je uitani broj a vei od

    nule napisati "POZITIVAN

    Provjeriti da li je od dva uitana broja prvidjeljiv sa drugim.

    Uitati broj x. Ako je jednak nuli ispisati nepostoji reciprona vrijednost inae izraunati

    i ispisati njegovu recipronu vrijednost (y = 1 /x).

    Ispisati znak upisanog broja prema izrazu:.

  • 7/29/2019 Small Basic 4- Uslovi i grananje

    25/25

    ZadaciOd tri upisana broja (a, b, c) sa tastature nai

    najvei.

    Provjeriti da li je upisani broj pozitivan,negativan ili nula.

    Napisati program za izraunavanje vrijednostiy prema izrazu