Les 1 - Soorten programmeertalen

Grammatica's
SOORTEN PROGRAMMEERTALEN
1 / 31
volgende
Slide 1: Tekstslide
InformaticaMiddelbare schoolhavo, vwoLeerjaar 4-6

In deze les zitten 31 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 50 min

Onderdelen in deze les

Grammatica's
SOORTEN PROGRAMMEERTALEN

Slide 1 - Tekstslide

Leerdoel
Je kunt het verschil tussen natuurlijke, kunstmatige en formele talen uitleggen. Vanuit formele talen kun je vervolgens het verschil tussen imperatieve en declaratieve talen uitleggen en weet je hierbinnen objectgeoriënteerde talen te plaatsen.

Slide 2 - Tekstslide

Inleiding
Iedere taal heeft regels, deze set regels noem je de grammatica van de taal.

We onderscheiden verschillende soorten talen:
  • Natuurlijke talen
  • Kunstmatige talen
  • Formele talen



Slide 3 - Tekstslide

Plaats de talen in de juiste categorie.
Natuurlijke taal
Kunstmatige taal
Formele taal
Klingon
Nederlands
Wiskunde
Esperanto
Javascript
Engels
Wettekst
Dothraki

Slide 4 - Sleepvraag

Natuurlijke talen
Mensen spreken natuurlijke talen, deze hebben een alfabet, woorden en zinnen.

Voorbeelden: Nederlands en Engels

Er zijn regels:
  • Spellingsregels bepalen de schrijfwijze van een woord
  • De grammatica bepaalt wat correcte zinnen zijn




Slide 5 - Tekstslide

Kunstmatige talen
Talen die door één of enkele mensen zijn gemaakt. Regels voor spelling en grammatica zijn vooraf vastgelegd en niet natuurlijk ontstaan.

Voorbeelden:
Esperanto: een kunstmatige taal, die echt gesproken wordt
Klingon: een taal uit het Star Trek-universum
Dothraki: een taal uit Game of Thrones





Slide 6 - Tekstslide

Formele talen
Bij een formele taal liggen de vorm en betekenis precies vast

Voorbeelden: Wiskunde, Javascript en een wettekst


Een computertaal is altijd formeel:
  • De instructies voor de computer moeten precies en eenduidig zijn (en dus ondubbelzinnig)




Slide 7 - Tekstslide

Verschil natuurlijk en formele talen
Menselijke talen zijn dubbelzinnig. De betekenis is afhankelijk van de context en interpretatie.

Wat betekent “Het jongetje zag een man op zijn telefoon staan.”?




Slide 8 - Tekstslide

Verschil natuurlijke en formele talen
Het jongetje zag een man op zijn telefoon staan.


Er zijn wel vier betekenissen, een mens kan uit de context de juiste betekenis opmaken:
  1. Het jongetje zag de afbeelding van een man op het scherm van zijn telefoon.
  2. Het jongetje zag de afbeelding van een staande man op het scherm van zijn telefoon.
  3. Het jongetje zag een man met zijn voeten bovenop zijn telefoon (die van het jongetje) staan.
  4. Het jongetje zag een man met zijn voeten bovenop zijn telefoon (die van de man) staan.

Bij een formele taal kan dit niet, de betekenis moet dan altijd duidelijk en eenduidig zijn.



Slide 9 - Tekstslide

Soorten programmeertalen
In de basis zijn er twee soorten
programmeertalen:

  • Imperatieve talen
  • Declaratieve talen





Slide 10 - Tekstslide

Imperatieve talen
Een imperatieve taal lijkt veel op hoe een computer werkt:
  • Ze bestaat uit een lijst van instructies
  • De instructies worden op volgorde uitgevoerd, dit bepaalt de werking
  • Met if-statements, for- en
     while-loops en functions
     verander je de volgorde









Slide 11 - Tekstslide

Opdracht 1 - verzendkosten
Bekijk de volgende programmacode. Hoeveel aan verzendkosten moet ik betalen?
timer
0:30

Slide 12 - Tekstslide

Hoeveel aan verzendkosten moet ik betalen?
A
Niks
B
€3,95
C
€42,50
D
€50

Slide 13 - Quizvraag

Antwoord 1 - verzendkosten
€42,50 < €50, dus dan moet ik €3,95 aan verzendkosten betalen.

Slide 14 - Tekstslide

Opdracht 2 - wisseltruc
De volgorde is bij imperatieve programmeertalen erg belangrijk. Welke zijn de enige 2 regels die ik kan omwisselen zonder de werking van het programma te verstoren?

A.  Regel 1 en 2
B.  Regel 3 en 4
C.  Regel 4 en 6
D.  Regel 3 en 5
timer
0:30

Slide 15 - Tekstslide

Hoeveel aan verzendkosten moet ik betalen?
A
Regel 1 en 2
B
Regel 3 en 4
C
Regel 4 en 6
D
Regel 3 en 5

Slide 16 - Quizvraag

Antwoord 2 - wisseltruc
Als je regel 1 en 2 omwisselt, verandert de volgorde waarin totaalbedrag en gratisverzenden hun waardes krijgen. Dat maakt in dit geval niet uit, dus de werking van het programma verandert niet.

A.  Regel 1 en 2
B.  Regel 3 en 4
C.  Regel 4 en 6
D.  Regel 3 en 5

Slide 17 - Tekstslide

Objectgeoriënteerde talen
De meeste imperatieve talen zijn tegenwoordig objectgeoriënteerd:
  • Ze werken met objecten
  • Dat zijn de bouwstenen van een applicatie
  • Voorbeelden zijn Python, C#, Java en PHP. Maar ook Microscript.

Een object bestaat uit:

  • Eigenschappen of attributen: data die is opgeslagen in het object
  • Methoden: acties die een object kan uitvoeren











Slide 18 - Tekstslide

Objectgeoriënteerde talen (2)
Elk object heeft een eigen taak en dus een eigen verantwoordelijkheid. Als je deze verantwoordelijkheden
netjes verdeelt, kun je een duidelijke
taakverdeling maken (ook met meerdere
programmeurs).

Voorbeeld: player uit de game die je in
Microstudio hebt gemaakt










Slide 19 - Tekstslide

Declaratieve talen
Een declaratieve taal beschrijft iets:
  • Informatie
  • Functionaliteit

De volgorde is minder belangrijk.











Slide 20 - Tekstslide

Declaratieve talen (2)
De meeste declaratieve talen beschrijven niet een programma.

Ze beschrijven bijvoorbeeld:
  • HTML: om websites mee te maken (voor webpagina's)
  • SQL: vraagtaal om met databases te werken (voor databasequery's)
  • XML (of JSON): maken het mogelijk om informatie gestructureerd weer te geven (voor datastructuren)












Slide 21 - Tekstslide

Vraag HTML-generator
Om een website te maken, bijvoorbeeld Instagram, moet je altijd gebruikmaken van HTML. Dat is immers de enige taal die een browser 'spreekt'.

Betekent dit dat websites alleen
declaratieve talen gebruiken?

Waarom wel of niet?












Slide 22 - Tekstslide

Antwoord HTML-generator
Nee, dat is niet zo. De meeste websites bieden extra functionaliteit aan, zoals het plaatsen van posts of het delen van foto’s. Zulke functionaliteiten worden gemaakt met andere programmeertalen, die vaak niet declaratief zijn (bijvoorbeeld Python of PHP). De programma’s die in deze andere talen zijn geschreven hebben HTML als uitvoer.


In het voorbeeld van Instagram is er een
Python-programma verantwoordelijk voor
de HTML-uitvoer. En zo verschijnt er een
Instagram-profiel in je browser.











Slide 23 - Tekstslide

Vraag SQL-query's
  • SQL beschrijft welke informatie moet worden opgehaald uit een database, hier gaan we over een paar weken mee aan de slag!
  • Het resultaat is een tabel met de gevraagde gegevens

Vraag: welke informatie
wordt hier uit de database
opgehaald?













Slide 24 - Tekstslide

Antwoord SQL-query's
In de query staat dat de namen en adressen van alle klanten uit Enschede uit de database moeten worden opgevraagd. Het resultaat van deze query is een tabel met die namen en adressen.

Slide 25 - Tekstslide

XML / JSON
Talen om data op een gestructureerde manier:
  • op te slaan
  • te verzenden
     (via internet)
  • weer te geven













Slide 26 - Tekstslide

Vraag XML
In welk jaar is
The Lord of the Rings
gepubliceerd?













timer
0:30

Slide 27 - Tekstslide

In welk jaar is The Lord of the Rings
gepubliceerd?

Slide 28 - Open vraag

Antwoord XML
The Lord of the Rings is
in 1954 gepubliceerd.













Slide 29 - Tekstslide

Leerdoel
Je kunt het verschil tussen natuurlijke, kunstmatige en formele talen uitleggen. Vanuit formele talen kun je vervolgens het verschil tussen imperatieve en declaratieve talen uitleggen en weet je hierbinnen objectgeoriënteerde talen te plaatsen.

Slide 30 - Tekstslide

Voor de volgende les
Fundament

  • Lees B4 - hoofdstuk
     1.1 t/m 1.4
    en 1.7 door.

Slide 31 - Tekstslide