1. Syntax & controlestructuren
1. Syntax & controlestructuren
Tijdens deze les oefen je op:
- De basis syntax van JavaScript
- Het gebruik van controlestructuren zoals lussen en condities.
- Het gebruik van functies en variabelen.
Syntax, variabelen en voorwaardelijke instructies
Oefening 1
Schrijf een script dat aan gebruikers vraagt om hun naam en voornaam apart in te geven. Vraag daarna aan de gebruiker of de juist correct ingegeven is, toon vervolgens een gepaste boodschap afhankelijk van het gekozen antwoord.
Geef je voornaam in: Sebastiaan
Geef je achternaam in: Henau
Je naam is Sebastiaan Henau
Is dit correct? [y/N] y
Bedankt voor de bevestiging!Geef je voornaam in: Sebastiaan
Geef je achternaam in: dqsfgqgq
Je naam is Sebastiaan dqsfgqgq
Is dit correct? [y/N] n
Sorry voor de verwarring, voeg het programma opnieuw uit om je correcte naam in te geven.Oefening 2
Vraag de gebruiker om twee getallen in te geven. Bereken vervolgens de som, het verschil, het product, het quotient en de rest na gehele deling (modulo) van deze getallen. Als de gebruiker op enter drukt zonder iets in te geven moet de defaultwaarde gebruikt worden. Voor het eerste getal is dit 0 en voor het tweede getal 1 (want delen door 0 kan niet).
Geef een eerste getal in: [0] 20
Geef een tweede getal in: [1] 9
De som van 20 en 9 is 29
Het verschil tussen 20 en 9 is 11
Het product van 20 en 9 is 180
Het quotiënt van 20 en 9 is 2.2222222222222223
De rest van de deling van 20 door 9 is 2Oefening 3
Vraag de gebruiker om één getal in te geven, print vervolgens uit of het getal even of oneven is.
Geef een getal in: 20
20 is een even getalGeef een getal in: 13
13 is een oneven getalOefening 4
Schrijf een script dat de gebruiker vraagt om een getal in te geven en afhankelijk van de waarde één van de volgende dingen uitprint.
- Als het getal kleiner is dan 10 print je "Het getal is kleiner dan 10".
- Als het getal groter is dan 20 print je "Het getal is groter dan 20".
- Als het getal tussen 10 en 20 ligt print je het kwadraat[1] uit.
Los deze oefening op met een if-then-else if-else.
Geef een getal in tussen 10 en 20: 5
Dit getal is kleiner dan 10Geef een getal in tussen 10 en 20: 26
Dit getal is groter dan 20Geef een getal in tussen 10 en 20: 15
Het kwadraat van dit getal is 225Oefening 5
Los de vorige oefening opnieuw op, maar gebruik dit keer een switch.
Oefening 6
Schrijf een programma dat uitrekent hoeveel iemand voor een bioscoopkaartje moet betalen.
Het programma vraagt gebruikers om hun leeftijd en beslist dan op basis van volgende regels.
a. Jonger dan 5 jaar: Gratis
b. Tussen 5 en 12 jaar: Halve prijs
c. Tussen 13 en 54 jaar: Vol tarief
d. Ouder dan 54 jaar: Gratis
c. De ingegeven leeftijd kan niet omgevormd worden naar een getal: Foutmelding
⋊> bun exercise6.js
Geef je leeftijd in: 8
Je betaalt je ticket aan halve prijs.
⋊> bun exercise6.js
Geef je leeftijd in: 30
Je krijgt geen korting.
⋊> bun exercise6.js
Geef je leeftijd in: 65
Je ticket is gratis.
⋊> bun exercise6.js
Geef je leeftijd in: Error
Je hebt geen geldige leeftijd ingegeven.Oefening 7
Vraag de gebruiker om drie getallen in te geven, geef vervolgens weer wat de kleinste, grootste en middelste waarde is.
Geef een eerste getal in: [0] 20
Geef een tweede getal in: [0] 49
Geef een derde getal in: [0] 10
Het kleinste getal is 10
Het middelste getal is 20
Het grootste getal is 49Oefening 8
Vraag de gebruiker om hun massa in te geven en om een planeet of maan te kiezen. Bereken vervolgens het gewicht van de gebruiker op de gekozen planeet of maan, hiervoor kan je volgende formule gebruiken:
In bovenstaande vergelijking geeft de valversnelling weer, hieronder vindt je de nodige waardes.
| Planeet/Maan | Valversnelling |
|---|---|
In het geval dat de gebruiker een ongeldige keuze maakt of geen geldige masse opgeeft, geef je een gepaste foutmelding terug.
Geef je massa in: 80
Op welke planeet wil je jouw gewicht berekenen?
A. Maan
B. Jupiter
C. Mars
D. Venus
E. Neptunus
Jouw keuze: A
Jouw gewicht op Maan is 130 NewtonGeef je massa in: 80*
Op welke planeet wil je jouw gewicht berekenen?
A. Maan
B. Jupiter
C. Mars
D. Venus
E. Neptunus
Jouw keuze: C
Je hebt geen geldige planeet gekozen of je opgegeven massa kon niet geconverteerd worden naar een getal.Geef je massa in: 80
Op welke planeet wil je jouw gewicht berekenen?
A. Maan
B. Jupiter
C. Mars
D. Venus
E. Neptunus
Jouw keuze: Z
Je hebt geen geldige planeet gekozen of je opgegeven massa kon niet geconverteerd worden naar een getal.Iteraties
Oefening 9
Neem je oplossing van oefening 1 en herschrijf deze het programma blijft draaien tot je een correcte naam hebt ingegeven.
Geef je voornaam in: Sebastiaan
Geef je achternaam in: Hena
Je naam is Sebastiaan Hena
Is dit correct? [y/N] n
Sorry voor de verwarring, geef je naam opnieuw in.
Geef je voornaam in: Sebastiaan
Geef je achternaam in: Henau
Je naam is Sebastiaan Henau
Is dit correct? [y/N] y
Bedankt voor de bevestiging!Oefening 10
Schrijf een programma dat de gebruiker vraagt om een getal in te lezen en dat vervolgens een overeenkomstig aantal plustekens uitprint.
⨯ bun exercise11.js
Geef een getal in: 11
+++++++++++
⨯ bun exercise11.js
Geef een getal in: 3
+++Oefening 11
Vraag de gebruiker om een getal. Vertrek van het ingegeven getal en tel er 12 bij op zolang de som kleiner blijft dan 100. Print de totale reeks uit in de console.
Geef een getal in: 4
4 16 28 40 52 64 76 88Oefening 12
In een natuurpark zijn 50 leeuwen aanwezig. Het aantal groeit jaarlijks met 15%. Ga na hoelang het duurt vooraleer er meer dan 1000 zijn.
Stel, voordat je de berekening uitvoert, de vraag of dat het jaartal getoond moet worden. Als dit zo is, moet je voor elk jaar uitprinten hoeveel leeuwen er zijn. Als het jaartal niet getoond moet worden, print je de hoeveelheid leeuwen op één lijn achter elkaar uit.
Wil je het aantal jaren zien? [y/N] n
50 57 65 74 85 97 111 127 146 167 192 220 252 289 332 381 438 503 578 664 763 877 1008Wil je het aantal jaren zien? [y/N] y
1: 57
2: 65
3: 74
4: 85
5: 97
6: 111
7: 127
8: 146
9: 167
10: 192
11: 220
12: 252
13: 289
14: 332
15: 381
16: 438
17: 503
18: 578
19: 664
20: 763
21: 877
22: 1008Functies
Oefening 13
Schrijf drie functies berekenSom, berekenVerschil en berekenProduct. Elk van deze functies heeft twee parameters, getal1 en getal2.
Vraag de gebruiker om twee getallen in te geven en roep vervolgens de drie functies op.
Geef getal1 in [0] 16
Geef getal2 in [0] 7
De ingegeven getallen zijn 16 en 7.
De som is: 23
Het verschil is: 9
Het product is: 112Oefening 14
Schrijf een functie waarmee de tafel van een opgegeven getal berekend en uitgeprint kan worden.
Geef getal [7] 7
1 x 7 = 7
2 x 7 = 14
3 x 7 = 21
4 x 7 = 28
5 x 7 = 35
6 x 7 = 42
7 x 7 = 49
8 x 7 = 56
9 x 7 = 63
10 x 7 = 70Oefening 15
Schijf een functie waarmee een rij gegenereerd kan worden. De functie heeft twee argumenten. De eerste parameter is een startgetal, het tweede argument is een anonieme functie die één getal als invoer krijgt en hier een bewerking op uitvoert (bv. vermenigvuldigen met 2) en het resultaat teruggeeft.
Zolang het laatste element in de rij kleiner is dan 100 moet de rij blijven groeien. Als het laatste element groter is dan 100 moet de functie stoppen en het resultaat teruggeven.
Gebruik de functie om twee rijen te genereren, de eerste rij start bij 1 en vermenigvuldigt elk getal met 2. De tweede rij start bij 2 en neemt telkens het kwadraat van het vorige getal.
Maal 2:
1 2 4 8 16 32 64 128
Kwadraat:
2 4 16 256Oefening 16
Pas bovenstaande opgave aan zodat de functie een derde argument heeft waarmee de stop waarde ingesteld kan worden. De default waarde is 100.
Maal 2 (met default):
1 2 4 8 16 32 64 128
Kwadraat (met de grens op 1000):
2 4 16 256 65536Oefening 17
Voeg nog een laatste uitbreiding toe aan de vorige opgave. Zorg ervoor dan de functie die de bewerking uitvoert twee signaturen kan hebben. De eerste vorm van de functie is diegene die je in de vorige oefeningen gebruikt hebt. De tweede vorm neemt een tweede parameter die de positie in de rij voorstelt.
Gebruik de tweede vorm van de functie om een rij te generen waar er afwisselend 5 opgeteld en 2 afgetrokken wordt.
Maal 2:
1 2 4 8 16 32 64 128
Afwisselend plus 5 en min 2 (grens op 30):
2 7 5 10 8 13 11 16 14 19 17 22 20 25 23 28 26 31Je kan het kwadraat berekenen door een getal met zichzelf te vermenigvuldigen, de machtsverheffing operator te gebruiken of via een wiskundige functie. ↩︎