Opdrachten hoofdstuk 2

Vooraf bij de opdrachten

Het is raadzaam om niet alle opdrachten in 1 HTML/ JavaScript bestand te maken. Dit omdat als je een foutje maakt in een van je opdrachten je dan niet verder zou kunnen. Uiteraard als je code werkt kan je opdrachten wel combineren!

Debug altijd!

Als je aan het coderen/ programmeren bent, is het belangrijk dat je altijd aan het debuggen bent dus op het moment dat je jouw pagina/ werk bekijkt heb je natuurlijk altijd je developers console open staan!

Iets in je webbrowser tonen (in je HTML pagina)

Als je code wilt toevoegen aan je HTML pagina kan je dit op de onderstaande manier doen, later in deze website gaan we op deze werking verder in. Voor nu kopieren en plakken maar!

const myAge = 19;
document.body.innerHTML += myAge;
Zodoende voeg je aan de HTML van het body-element de waarde van de variabele myAge toe.
Vervolgens kan je met het attribute .innerHTML iets aan het body-element toevoegen.
Om dit te doen gebruiken we het += gedeelte. Vergeet je de + zal alles in het body-element gewist worden.

Zet met commentaar in je javascript file hoofdstuk en opdracht

Schrijf in commentaar boven je opdrachten welk hoofdstuk en welke opdracht het is, dus bijvoorbeeld:
//Hoofdstuk 2.4 Opdracht 1

Opdrachten

Klik op een titel om de opdrachten te openen

De opdrachten hebben we verborgen per titel/ onderwerp. Klik op een onderwerp om deze te openen of weer dicht te vouwen.

Opdrachten variabelen

  1. Maak een variabele die niet kan veranderen met jouw naam. Zorg ervoor dat de variabele een goede beschrijvende naam heeft. Toon de variabele in de developers console.
  2. Maak een variabele die kan veranderen met de temperatuur van vandaag. Zorg ervoor dat de variabele een goede beschrijvende naam heeft. Toon de waarde in een popup (alert).
  3. Verhoog de temperatuur met 5 graden. Toon de nieuwe waarde in je developers console.
  4. Toon in je HTML pagina/ in de webbrowser jouw naam en de temperatuur.

Opdrachten interactie

  1. Vraag de naam van de gebruiker op, en sla deze op in een variabele. Zorg voor een goede beschrijvende naam van de variabele.
  2. Toon de naam van de gebruiker in een popup (alert)
  3. Vraag toestemming om cookies te bewaren aan de gebruiker, de gebruiker kan dit goed of afkeuren. Sla het antwoord op in een variabele en toon deze in de developers console.
  4. Bekijk de onderstaande code, neem deze over in jouw javascript bestand en bekijk de fout in je developers console. Google de fout en bespreek met je collega's wat een mogelijke oplossing kan zijn.
    const myCity = 'Den Haag';
    aler('Ik woon in ' + myCity);

Opdrachten rekenen en operatoren

  1. Maak twee variabelen aan en noem die x en y. Geef de twee variabelen een numerieke waarde. Vraag aan de gebruiker om een derde getal en sla die op in een variabele die je z noemt.
    Maak 3 nieuwe variabelen (answerX, answerY en answerZ), de waarde van elke variabele is de berekening van de macht van deze variabele. (Als variabele x een waarde heeft van 2, dan bereken je in answerX de macht van 2.
    Toon in de body van je HTML-bestand (denk aan de .innerHTML oplossing hier boven) de macht van alle drie de variabelen in een zin, dus bijvoorbeeld:

    De macht van het getal 2 is 4.

  2. Vraag de leeftijd van de gebruiker op. Toon in de developers console in welke 2 jaren de gebruiker geboren kan zijn.
  3. Maak 2 variabelen aan v en w. Maak 4, een optelsom, aftreksom, deelsom en een vermedigvuldig som, waarbij je steeds de variabelen v en w gebruikt.
    Toon elke som met het antwoord de body van je HTML bestand (.innerHTML).

    Optelsom 2 + 3 = 6

    LET OP: Je krijgt dus 4 regels te zien.

  4. Vraag een willekeurig getal aan de gebruiker. Maak een variabele die de waarde heeft van restwaarde van het getal van de gebruiker gedeeld door 2. (Gebruik hier de modulo operator voor).
  5. Vul bij de vorige opdracht eens iets anders dan een getal in, wat zie je in de developers console? Bespreek dit met je collega/ mede-student.

Opdracht 6

Voor de volgende vergelijkingen is bij elke vergelijking let x = 5.
Wat is de uitkomst van onderstaande code;

  1. x = 5 + 5 + 6
  2. x = x + 5
  3. x = 4 + 1 + (4 * 2)
  4. x = x + 'Hoi'
  5. x = 3 + 2 + (4 * 2) + x + 1
  6. x -= 3
  7. x = x + (x * 3)
Schrijf de antwoorden in je HTML bestand op, dit hoeft niet met JavaScript.

Opdrachten vergelijkingen

Zijn de volgende beweringen waar true of niet waar false.

  1. (1 < 4)
  2. (4 > 6)
  3. ('A' < 'g')
  4. (5 == '5')
  5. (5 != '5')
  6. (421 >= 422)
  7. (8 === '8')
  8. (8 !== '8')
Schrijf de antwoorden in je HTML bestand op, dit hoeft niet met JavaScript.

Voor de volgende vergelijkingen gelden de twee volgende variabelen const x = 5 en const y = 8.
Zijn de volgende beweringen waar true of niet waar false.

  1. (x < y)
  2. (x === 5)
  3. (y === 'Z')
  4. (y !== 'z')
  5. (x+3 === y)
  6. (x+3+'hoi' === y+'hoi')
  7. (y+x === 13)
Schrijf de antwoorden in je HTML bestand op, dit hoeft niet met JavaScript.

Opdrachten if-statement

Werk in stapjes!

Lees de opdrachten goed door! Het helpt om bij grotere vraagstukken in kleine stapjes op te lossen. Maak bv. eerst de benodigde variabelen aan, daarna een if-statement. Schrijf ook niet alle code in een keer, maar schrijf kleine stukjes en test uitkomsten in de developers console

Opdracht 1a

Maak een script welke het deel van de dag toont in de console door middel van de volgende stappen:

  • Maak een variabele die de tijd aangeeft in uren in 24 uur notatie (verzin zelf een waarde)
  • Tussen 6 en 12 uur toont je script dat het ochtend is
  • Tussen 12 en 18 uur toon je dat het middag is
  • Tussen 18 en 24 uur toon je dat het avond is
  • Tussen 24 en 6 uur toon je dat het nacht is

Opdracht 1b

Gebruik bovenstaande opdracht maar met de volgende twee aanpassingen:

  • Vraag de tijd aan de gebruiker, als de tijd niet kan (kleiner dan 0 of groter dan 24) toon je een popup dat die tijd niet kan.
  • Toon het antwoord niet in de console maar in de browser.

Opdracht 2

Maak twee variabelen aan, een met de prijs van een product exclusief BTW (dit is een getal).
De tweede in tekst die aangeeft welk BTW percentage van toepassing is met een woord (HOOG, LAAG of GEEN)
Schrijf nu een script die de BTW en het bedrag inclusief BTW berekend. Toon alle informatie op het scherm (dus de prijs exclusief BTW, het bedrag aan BTW, het bedrag inclusief BTW en uiteraard hoeveel procent BTW er berekend is.
Pas zowel de prijs als het BTW percentage aan.

STRATEGIE TIP

Deze opdracht maak je in stapjes:
  1. Maak eerst de prijs variabele met een getal bv. 100
  2. Maak daarna de BTW variabele met een woord bv. HOOG
  3. Maak nog twee lege variabele aan voor het BTW bedrag en prijs incl BTW let btwPrice; let priceIncBTW;
  4. Maak daarna een if-statement met een vergelijking op de BTW variabele
  5. Vul de variabele btwPrice met de juiste percentage (21, 9 of 0)
  6. Vul de variabele priceIncBTW met de BTW som
  7. Toon aan het einde een zinnetje met alle variabele erin en de rekensom Voor het product van 100 Euro moet ik met BTW HOOG 21 Euro BTW betalen dus in totaal 121 Euro BTW

Opdracht 3a

Maak twee variabelen aan met een getal als waarde en schrijf een script die de variabele toont die de grootste waarde heeft. Test het script meerdere keren door de variabelen te veranderen.

Opdracht 3b

Bekijk je script nog eens goed, zou het korter/ kleiner kunnen? (circa 3 regelscode)

Opdracht 4

Vraag in een popup een dier aan de gebruiker en sla die op als variabele. Als het gekozen dier een van de volgende dieren is toon je het dier + het geluid wat het dier maakt op het scherm.
Is het geen van onderstaande dieren, toon dan de tekst Dit dier staat niet in ons systeem

  1. Kikker (kwaakt)
  2. Paard (hinnikt)
  3. Koe (loeit)
  4. Leeuw (brult)
  5. Slang (slist)
  6. Goudvis (blubt)

Opdracht 4 - EXTRA

Als je de lessen/ hoofdstukken goed gevolgd heb, heb je in de vorige opdracht een hele grote if-statement gemaakt. Dit kan korter/ sneller door middel van een switch te gebruiken. Echter heb je hier nog niets over geleerd. Probeer eens door middel van Google en goede zoek termen meer informatie te vinden over de JavaScript switch en herschrijf dan je if-statement.

Opdrachten functions

Opdracht 1

Declareer een variabele die de buitentemperatuur weer geeft, maar initialiseer deze nog niet (dus geef het geen waarde).
Maak een functie die de temperatuur variabele gebruikt en het volgende doet:

  1. Als de temperatuur onder de 10 graden is, toon je dat het koud is in een popup
  2. Als de temperatuur onder de 16 graden is, toon je in de browser (document.body.innerHTML) dat het niet warm is, en dat deze beter een jas aan kan doen.
  3. Als de temperatuur onder de 24 gradem is, toon je in de browser (document.body.innerHTML) dat het niet koud en niet heel warm is.
  4. Is de temperatuur boven de 24 graden vertel, toon in je in de browser (document.body.innerHTML) dat de gebruiker geen jas aan hoeft vandaag.
  5. Als de temperatuur boven de 30 graden is, toon je in de browser (document.body.innerHTML) dat de gebruiker vandaag maar beter goed kan insmeren.
Verzin 4 verschillende getallen/ temperaturen en voer de functie 4 keer achter elkaar uit. Je krijgt dus in je browser 4 regels.
HINT: zet aan het einde van het script een keer de volgende regel code:
document.body.innerHTML += '<br>';
Op deze manier komt elke regel op een aparte regel.

Opdracht 2

Maak een functie die een parameter accepteert, de parameter is een cijfer (van 1 t/m 10) die iemand gehaald heeft. Als het cijfer onder de 5.5 is toon je in de browser een melding dat de gebruiker een onvoldoende gehaald heeft. Als het cijfer gelijk of hoger dan 5.5 is dan toon je de melding dat de gebruiker een voldoende gehaald heef.
Voer de functie 3x uit met drie verschillende cijfers, toon de uitkomst in de browser (document.body.innerHTML)

Opdracht 3

Maak een functie die een parameter accepteert als getal en een waarde teruggeeft in de vorm van een boolean (true/ false). Als de parameter een even getal is geeft de functie true terug, anders geeft het een false terug.
Voer de functie vier keer uit, twee keer met een even getal en twee keer met een oneven getal (kies zelf een volgorde), toon de uitkomst in de webbrowser (document.body.innerHTML)
Toon de uitkomst van de functie telkens in de webbrowser.

Opdrachten loops

Opdracht 1

  • Vraag aan de gebruiker een getal tussen de 1 en de 15
  • Tel door middel van een loop (for of while) door van 0 t/m het gekozen getal
  • Toon alle getallen in de webbrowser
  • Maak zoveel mogelijk gebruik van variabelen

Opdracht 2

  • Maak een script welke steeds laat zien hoeveel foot de waarde heeft in centimeters (1 foot = 30.49 cm)
  • Tel door t/m 10 foot
  • Je krijgt in totaal dus 10 regels
Voorbeeld 1 foot is 30.48cm 2 foot is 60.96cm ... etc

Opdracht 3

Maak een script die de volgende twee blokken code geeft, uiteraard maak je gebruik van een for of een while loop.

Blok 1
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
Blok 2
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

Opdrachten arrays

Opdracht 1

  • Maak een array met de getallen: 4, 5, 8, 12, -1
  • Print de hele array in de developers console
  • Verander nu (op een nieuwe regel) het element op index 3 naar 21.
  • Print de hele array in de developers console
  • Programmeer nu 715 aan het begin van de array
  • Loop nu met een while-loop door de array en toon de elementen in de webbrowser, elk element staat los op een nieuwe regel.

Opdracht 2

  • Maak een array met de volgende kleuren: rood, groen, geel, blauw, roze
  • Toon de array in de developers console
  • Programmeer nu op een nieuwe regel de kleur groen naar paars
  • Toon de array in de developers console
  • Loop nu met een for-loop door de array en toon de elementen in de webbrowser, elk element staat los op een nieuwe regel.

Opdracht 3

  • Maak een array met de volgende rekensommen: 4+1, 5*9, 12/4, 4**5, 16%3
  • Toon de array in de developers console, controleer of alle sommen goed uitgerekend zijn
  • Programmeer nu dat aan het einde van de array een nieuwe som getoond wordt, de som mag jezelf weten)
  • Toon de array in de developers console
  • Loop nu door de array en toon de elementen in de webbrowser, elk element staat los op een nieuwe regel. Je mag zelf weten welke loop je gebruikt.