Programiranje
3. predavanje
Ponavljanje naredbi, petlja Do
Pojam petlje
Petlja je takva naredba (funkcije) koja omogućava da se neke druge naredbe jednom napišu a izvedu više puta.
Opći oblik funkcije Do
Do[izrazi, lista].
Znači funkcija Do ima dva argumenta :
prvi argument je niz izraza čije izvođenje se ponavlja (svaki izraz završava s točka zarezom ;),
drugi argument je lista pomoću koje se kontrolira koliko puta će se ponavljati izvođenje prvog argumenta.
|
Ponavaljanje naredbi u petlji Do
Sintaksa naredbe Do
Do[izrazi, {i, imin, imax, istep}]
Određivanje postupka ponavljanja
Na početku brojač i poprima startnu vrijednost imin; ukoliko i nije veći od imax izrazi iz prvog argumenta se izvedu,
vrijednost brojača i poveća se za korak istep; ukoliko nova vrijednost nije veća od imax izrazi iz prvog argumenta se opet izvedu,
vrijednost brojača i se ponovo poveća za korak istep; ukoliko nova vrijednost nije veća od imax izrazi iz prvog argumenta se opet izvedu,
···
Na svakom koraku se vrijednsot brojača i promjeni tako da se staroj vrijednosti doda korak istep; kada vrijednost brojača i premaši imax funkcija Do završava i program se nastavlja na prvoj slijedećoj naredbi iza Do.
Ako se brojač istep ne navede tada se podrazumjeva da je jedank 1.
brojač se, naravno, ne mora zvati i; brojač, kako god ga zvali, je lokalna varijabla funkcije Do.
|
1. primjer petlje Do
Zadatak
Napišite program koji će učitati prirodni broj n i ispisati kvadrate svih brojeva od 1 do n.
Da bi osigurali pozitivnost argumenta koristiti ćemo izraz /; koji se koristi na slijedeći način.
uzorak /; uvjet
Ovakav predložak zadovoljavaju svi izrazi koji zadovoljavaju i navedeni uzorak i navedeni uvjet.
Npr. predložak
n_Integer /; n >0
zadovoljavju svi izrazi koji imaju cjelobrojnu vrijednost uz uvjet da su pozitivni. U daljnjem se takvi izrazi zovu n.
Izrada
In[1]:=
Testiranje
In[2]:=
In[3]:=
Out[3]=
|
2. primjer petlje Do
Zadatak
Napišite program koji prima kao argument vektor (listu) i vraća zbroj njenih elemenata.
U programu ćemo lokalnu varijablu zbroj postaviti na početnu vrijednost 0.
Izrada
In[4]:=
Testiranje
In[5]:=
Out[5]=
|
3. primjer petlje Do
Zadatak
Napišite program koji prima kao argument vektor (listu) i vraća njezin minimalni elemenat.
U programu ćemo lokalnu varijablu min postaviti na početnu vrijednost Infinity.
izrada
In[6]:=
Testiranje
In[7]:=
Out[7]=
|
Daljnje ideje
1. najveći sinus
2. najmanji kosinus
3. sinus najvećeg
4. kosinus najvećeg
5. aritmetička sredina negativnih
6. aritmetička sredina pozitivnih
7. gemoetrijska sredina pozitivnih
Notebook izradili: Vladimir Benić i Sonja Gorjanc