© 1999-2003, Flemming Koch Jensen
Alle rettigheder forbeholdt
Funktioner

Vejledning løsninger
Opgaver

 

 

1
Lav følgende funktioner, idet du ikke må forkorte nogen af udtrykkene:

f(x) = x + 3 - 5

g(x, y) = x/y + y/x

h(x, y, z) = xyz/xy

 
2a
Lav følgende funktioner:

f(x) = 2x

g(x) = x2

2b
Lav dernæst en funktion: sum-func, der først tager to funktioner som parameter, og dernæst en tredie parameter. Funktionen skal returnere summen af funktionensværdierne for de to funktioner, taget på den tredie parameter.
Foretag kald af sum-func med f og g som parameter - prøv med forskellige værdier som tredie parameter.
2c
Lav også en funktion maximum, der tager to parametre og returnerer den største af disse.
Lav dernæst en funktion: max-func, der tager de samme formelle parametre som sum-func (to funktioner og en tredie parameter). Funktionen skal returnerer den af funktionsværdierne for de to funktioner, taget på den tredie parameter, der er størst.
Foretag kald af max-func med f og g som parameter - prøv med forskellige værdier som tredie parameter.
 
3*
Lav en funktion: liste-sum, der beregner summen af elementerne i en liste.
 
4*
Lav en funktion: liste-func, der tager en funktion og en liste som parameter. Funktionen skal returnere en liste hvor funktionen er taget på hver af elementer.
 
5a*
Lav en funktion: len, der tager en liste som parameter og returnerer dens længde - dvs. hvor mange elementer den indeholder.
5b
Lav en funktion: antal, der tager et variabelt antal parametre og returnerer hvor mange der blev anført i kaldet.
 
6a*
Tag funktionen maximum fra opgave 2c, og lav en funktion maximum-liste, der tager en liste som parameter og returnerer den største værdi. Du kan antage at alle værdier i listen er positive eller 0, og definere at maximum-liste på den tomme liste er 0.
6b
Lav en funktion: maximum-parameter, der tager et variabelt antal parametre og returnerer den største.
 
7
Lav en funktion: f, der tager 0, 1 eller 2 parametre. Funktionen skal returnere hvor mange parametre der var anført i kaldet.
hint: Udnyt at alt der er forskelligt fra nil, evalueres til sandt.
   
8
Lav en funktion f, der tager et tal som parameter. Funktionen udskriver tallene fra 0 op til det pågældende tal, og returnerer nil.
 
a: Lav funktionen med en loop-løkke
 
b: Lav funktionen med en do-løkke
   
9
Lav en funktion f, der tager et tal som parameter. Funktionen skal udskrive den tilhørende lille tabel for det pågældende tal. Hvis man f.eks. kalder f med parameteren 8, skal otte-tabellen udskrives.