5. vježbe
Primjer 5-1
Zadatak
Napišite program koji kao argument ima vektor (jednodimenzionalnu listu) te koristeći petlju While vraća vektor čiji su elementi navedeni u obrnutom poretku od elemenata argumenta.
Znači, ako je argument jednak {3, -1, 5} rezultat treba biti {5, -1, 3}.
Znamo:
1.) Naredba ArrayDepth[lista] vraća kao kao rezultat broj indeksa potrebnih da se odredi elemnent liste. Za vektor taj rezultat mora biti jednak 1, a za matricu rezultat mora biti jednak 2.
2.) Predložak oblika
uzorak /; uvjet
zadovljava svaki izraz koji zadovoljava navedni uzorak uz zahtjev da zadovoljava i navedeni uvjet. Tako, predložak
x_List/;ArrayDepth[x]==1
zadovoljavaju svi izrazi koji su lista i kojima, za dostup do elemenata, treba 1 indeks. Drugim riječima x mora biti vektor.
3.) Ako je x vektor tada je njegov i-ti element dobije sa
x[[i]].
npr. x[[3]] je treći element ektora x.
4.) Naredbom
Append[lista,element]
listi dodajemo element.
5.) Ako je x vektor tada naredba
Dimensions[x]
vraća jednočlanu listu koja sadrži broj elementata od x.
Postupak:
počevši od kraja do početka izdvajati ćemo elemente argumenta i dodavati ih rezultatu.
Izrada
In[1]:=
Testiranje
In[2]:=
Out[3]=
Primjer 5-2
Zadatak
Napišite program koji će učitavati prirodne brojeve, jedan po jedan koristeći naredbu Input i odrediti će koliko je upisano prostih brojeva. Postupak učitavanja brojeva se prekida kada se učita broj 0.
U programu ćemo koristiti funkciju
PrimeQ[broj]
koja vraća True (tj. istina) ako je broj prost i False (tj. neistina) u protivnom slučaju. Npr.
In[4]:=
Out[4]=
Out[5]=
Izrada
In[6]:=
Testiranje
In[7]:=
Out[7]=