Skip to content

Variabelen en functies

Bart Jacobs edited this page Feb 15, 2018 · 1 revision

Variabelen

Opdracht:

  • Tik let x = 3 in.
  • Tik dan x + 5 in.
  • OCaml antwoordt met - : int = 8. De opdracht let x = 3 bindt de waarde 3 aan de variabele x.

Functies

Opdracht:

  • Tik let f x = x + 1 in.
  • Tik dan f 3 in.
  • OCaml antwoordt met - : int = 4. De opdracht let f x = x + 1 definieert de functie f met parameter x en lichaam x + 1. De uitdrukking f 3 staat voor de toepassing van de functie f op het argument 3. 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 van f 3 is de waarde van x + 1 waarbij x gebonden wordt aan 3.

Oefening:

  • Definieer een functie begroeting zodanig dat begroeting "Jan" evalueert tot "Hallo, Jan!" en begroeting "Piet" evalueert tot "Hallo, Piet!".

Oefening:

  • Definieer een functie positief zodanig dat positief 1 en positief 10 evalueren tot true en positief 0 en positief (-7) tot false.

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 dat citeer "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 dat gemiddelde 10 20 evalueert tot 15 en gemiddelde 3 7 evalueert tot 5.

Oefening:

  • Definieer een functie tussen zodanig dat tussen x y z evalueert tot true als en slechts als y tussen x en z ligt.
Clone this wiki locally