-
Notifications
You must be signed in to change notification settings - Fork 0
Variabelen en functies
Bart Jacobs edited this page Feb 15, 2018
·
1 revision
Opdracht:
- Tik
let x = 3
in. - Tik dan
x + 5
in. - OCaml antwoordt met
- : int = 8
. De opdrachtlet x = 3
bindt de waarde 3 aan de variabelex
.
Opdracht:
- Tik
let f x = x + 1
in. - Tik dan
f 3
in. - OCaml antwoordt met
- : int = 4
. De opdrachtlet f x = x + 1
definieert de functief
met parameterx
en lichaamx + 1
. De uitdrukkingf 3
staat voor de toepassing van de functief
op het argument3
. De waarde van zo'n functietoepassing is de waarde van het lichaam van de functie, waarbij de parameter gebonden wordt aan het opgegeven argument. Dus, de waarde vanf 3
is de waarde vanx + 1
waarbijx
gebonden wordt aan3
.
Oefening:
- Definieer een functie
begroeting
zodanig datbegroeting "Jan"
evalueert tot"Hallo, Jan!"
enbegroeting "Piet"
evalueert tot"Hallo, Piet!"
.
Oefening:
- Definieer een functie
positief
zodanig datpositief 1
enpositief 10
evalueren tottrue
enpositief 0
enpositief (-7)
totfalse
.
Opdracht:
- Tik
let dubbel x = x + x
in. - Tik dan
dubbel 5
in. - OCaml antwoordt met
- : int = 10
.
Opdracht:
- Tik
let viervoud y = dubbel y + dubbel y
in. - Tik dan
viervoud 7
in. - OCaml antwoordt met
- : int = 28
. Je kan een functie gebruiken in het lichaam van een andere functie.
Oefening:
- Definieer de functie
citeer
, zodanig datciteer "Hallo"
evalueert tot"'Hallo'"
.
Opdracht:
- Tik
let spreuk x = citeer x ^ ", dat is de vraag."
in. - Tik dan
spreuk "Zijn of niet zijn?"
in. - OCaml antwoordt met
- : string = "'Zijn of niet zijn?', dat is de vraag."
.
Opdracht:
- Tik
let f x y = x + y
in. - Tik dan
f 10 30
in. - OCaml antwoordt met
- : int = 40
. Functies kunnen meerdere parameters hebben. Je scheidt ze gewoon met een spatie. - Tik dan
f 100 (f 10 30)
in. - OCaml antwoordt met
- : int = 140
. Je moet haakjes gebruiken als je een complexe uitdrukking wilt gebruiken als argument voor een functie-oproep.
Opdracht:
- Tik
let volledige_naam voornaam achternaam = voornaam ^ " " ^ achternaam
in. - Tik dan
volledige_naam "Jan" "Janssens"
in. - OCaml antwoordt met
"Jan Janssens"
. - Tik dan
volledige_naam "Piet" "Pieters"
in. - OCaml antwoordt met
"Piet Pieters"
.
Opdracht:
- Tik
let adres naam straat nummer postcode gemeente = naam ^ ", " ^ straat ^ " " ^ nummer ^ ", " ^ postcode ^ " " ^ gemeente
in. - Tik dan
let adres2 voornaam achternaam straat nummer postcode gemeente = adres (volledige_naam voornaam achternaam) straat nummer postcode gemeente
in. - Tik dan
adres2 "Jan" "Janssens" "Dorpsstraat" "10" "1000" "Brussel"
in. - OCaml antwoordt met
"Jan Janssens, Dorpsstraat 10, 1000 Brussel"
.
Oefening:
- Definieer een functie
gemiddelde
zodanig datgemiddelde 10 20
evalueert tot15
engemiddelde 3 7
evalueert tot5
.
Oefening:
- Definieer een functie
tussen
zodanig dattussen x y z
evalueert tottrue
als en slechts alsy
tussenx
enz
ligt.