meny2.html – INF3110 - Høst 2003 – Universitetet i Oslo

Obligatorisk innleveringsoppgave 1


                            INF3110/4110
		       Obligatorisk oppgave 1
	      Innleveringsfrist onsdag 17/9/2003 kl. 1400
	          Leveres per e-post til gruppel�rer.
	       (Gruppe x sender til inf3110-x@ifi.uio.no)
	   --------------------------------------------------

1. Skriv en ML-funksjon
       fun max3(x, y, z):int = ...
   som returnerer det st�rste av de tre argumentene.
   For eksempel skal max3(4,6,2) gi 6.

2. Skriv en ML-funksjon
       fun antall(l:int list):int = ...
   som teller antall elementer i listen l.
   For eksempel skal antall([1,3,5,7]) gi 4.

3. Skriv en ML-funksjon
      fun tell(l:int list,n:int):int = ...
   som returnerer antall elementer i listen l som er st�rre enn n.
   For eksempel skal tell([3,9,1,~8,4,6],4) v�re lik 2.

4. Skriv en ML-funksjon
       fun plukk(l:int list, n:int):int list = ...
   som plukker ut de elementene i listen l som er st�rre enn n.
   For eksempel skal plukk([3,9,1,~8,4,6],4) gi [9,6].

5. Skriv en ML-funksjon
       fun korrekt(l: int list, n: int) = ...
   som sjekker hvorvidt antall(plukk(l,n)) er lik tell(l,n).
   Hvis funksjonene over er korrekte, s� skal denne alltid returnere
   true.

6. Skriv en ML-funksjon
       fun ekspander(x: 'a, n: int): 'a list = ...
   som returnerer en liste med n forekomster av x. For eksempel skal
   ekspander("test", 3) gi ["test","test","test"].

7. Skriv en ML-funksjon
       dupliser (l: 'a list, n: int) : 'a list = ...
   som returnerer en liste hvor hvert element fra l forekommer n
   ganger.  For eksempel skal dupliser([1,2,3],4) gi
   [1,1,1,1,2,2,2,2,3,3,3,3] og dupliser(["hipp", "hurra"], 3) gi
   ["hipp","hipp","hipp","hurra","hurra","hurra"].