Programiranje
3. predavanje
Tip argumenta programa
Zadavanje tipa argumenta
Oznaka argumenta i funkcije i programa mora sadržavati znak _ (podvlaka, underline); znak _ označava bilo koji izraz. Točnije rečeno znak _ je uzorak (pattern, predložak, "špranca"), i svaki izraz zadovoljava taj uzorak.
Oznaka x_ označava bilo koji izraz koji će se, u daljnjoj definciji funkcije ili programa zvati x.
Oznaka x_Tip označava bilo koji izraz koji će se, u daljnjoj definciji funkcije ili programa zvati x i koji je tipa Tip. Tipovi mogu biti razni, npr.
Integer, npr. 57
Real, npr. 57.75
List, npr. {2, 3.14, 7}
Symbol, npr y (ako y nije prije definirano), ili mtk ...
String, npr "Dobar dan"
Moguće je zadati više tipova za izraz x_. Različite tipove odvajamo znakom |, npr. x_Symbol|x_String
Ukratko ponovimo: izraz x_Tip je predložak (uzorak, "špranca", pattern) koji zadovoljavaju svi izrazi koji su tipa Tip. Tako npr. predoložak x_Integer zadovoljava svaki cjelobrojni izraz (koji se u daljnjem zove x).
|
Tip argumenta programa, 1. primjer
Zadatak:
Napišite program koji će primati realni argument, i vraćati će pozitivnu vrijednost treće potencije.
Izrada:
Poziv programa kub:
|
Tip argumenta programa, 2. primjer
Zadatak:
Napišite program koji će primati realni ili cjelobrojni arugument, i vraćati će pozitivnu vrijednost treće potencije.
Izrada:
Poziv funkcije kub2:
|
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 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
Testiranje
|
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
Testiranje
|
Notebook izradili: Vladimir Benić i Sonja Gorjanc
| Created by Wolfram Mathematica 6.0 (13 May 2008) |