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]:=

05vj-rijesene_1.gif

Testiranje

In[2]:=

05vj-rijesene_2.gif

Out[3]=

05vj-rijesene_3.gif

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]:=

05vj-rijesene_4.gif

Out[4]=

05vj-rijesene_5.gif

Out[5]=

05vj-rijesene_6.gif

Izrada

In[6]:=

05vj-rijesene_7.gif

Testiranje

In[7]:=

05vj-rijesene_8.gif

Out[7]=

05vj-rijesene_9.gif

Spikey Created with Wolfram Mathematica 7.0