oefening JavaScript - antwoorden

Vergelijkbare documenten
extra oefening algoritmiek - antwoorden

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

algoritmiek - antwoorden

van PSD naar JavaScript

Javascript oefenblad 1

[13] Rondjes draaien (loops)

JavaScript. F. Vonk versie

extra oefeningen - antwoorden

BEGINNER JAVA Inhoudsopgave

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.

JavaScript - antwoorden

Java Les 3 Theorie Herhaal structuren

Variabelen en statements in ActionScript

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester.

Small Basic Programmeren Text Console 2

Lab Webdesign: Javascript 3 maart 2008

Programmeermethoden NA. Week 5: Functies (vervolg)

Functioneel programmeren

[8] De ene 1 is de andere niet

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Pythoncursus. week 2. cs.ru.nl/pythoncursus

Programmeren met Arduino-software

Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren

Variabelen gebruiken in ons programma

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

Een korte samenvatting van enkele FORTRAN opdrachten

Programmeren op ruitjespapier

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

STROOMDIAGRAMMEN. Hoofdstuk 8. Hoe je Galgje moet spelen. Voorbeelduitvoer van Galgje. Hoofdstuk 8 Stroomdiagrammen 67

Een project in Scratch. Beginner.

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Pythoncursus. Opdrachtenserie 3. Tanja, Koen en Marein oktober Opdracht 1 - Turtlegraphics

{ auteur, toelichting }

Toetsvoorbereiding Informatica HAVO/VWO 5 (T51) Programmeren met Python II. Duur: 70 minuten Datum: sept 2018

Probleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1

Opmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

VBA voor Doe het Zelvers Deel 7

Programmeermethoden NA. Week 5: Functies (vervolg)

6.2 VBA Syntax. Inleiding Visual Basic

Gebruiksvriendelijkheid: Gebruiksaanwijzing:

Bij dit hoofdstukken horen geen opgaven.

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen

Talstelsels en getalnotaties (oplmodel)

syntax, semantiek & lay-out

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.

wwww.wijzeroverdebasisschool.nl

Let s play baseball! Let s get ready! Voorkennis: Sprites, Lopen, Variabelen, Scores, xy. Leerdoelen: 3D illusie, Klonen

3. Structuren in de taal

Handleiding ZKM Online. Versie 2.1

Vakgroep CW KAHO Sint-Lieven

Module 3: Scratch programmeren: is het logisch of is het niet logisch?

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

Seven segments of Pi

Hoofdstuk 6: Zelf functies maken

Programmeermethoden NA. Week 3: Controlestructuren

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27

Maak zelf een algoritme wanneer je een auto kunt winnen en welke auto je wint.

Kennismaking met programmeren

Praktijkinstructie Dataverwerking 1 (CSE02.1/CREBO:50236)

Je kunt ESS op twee manieren bereiken: via een webpagina en via en app op je smartphone.

OEFENINGEN PYTHON REEKS 5

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Inleiding tot programmeren: Javascript

Afbeeldingen in binaire code

Bijvoorbeeld: huis afsluiten, licht gaat aan, rookmelder gaat aan, met je telefoon de ijsblokjes aanzetten enz.

Breuken met letters WISNET-HBO. update juli 2013

Een computerprogramma is opgebouwd uit een aantal instructies die op elkaar volgen en die normaal na elkaar uitgevoerd worden.

WISKUNDE B -DAG = 2. maar en hoe nu verder? 29 november 2002

Scratch les 3: Quiz! Je eigen spelshow

Wat kan ik als cultuuraanbieder met?

Een inleiding in de Unified Modeling Language 67

opdrachten algoritmiek - antwoorden

VBA voor Doe het Zelvers deel 20

Inhoud. Mijn leven. ik doe mijn administratie

Hoofdstuk 7: Werken met arrays

De Sense HAT heeft een temperatuursensor waarmee je de temperatuur. #lees de temperatuur van de sensor en sla op als temp

De Sense HAT heeft een temperatuursensor waarmee je de temperatuur. #lees de temperatuur van de sensor en sla op als temp

PYTHON REEKS 1: BASICS. Mathias Polfliet

Programmeren (1) Examen NAAM:

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

Handleiding Abakus. Abakus Compleet app activeren

LESRICHTLIJN OVERZICHT LES LESDOELEN MATERIALEN, MIDDELEN EN VOORBEREIDING. Opstarten - 10 minuten. Oefening: Algoritmes met tangram - 20 minuten

Klik op OK om verder te gaan. U ziet het volgende scherm verschijnen:

Stap 1. Bepalen van invoer Het makkelijkst kun je dit vinden uit de zwarte vlakken met voorbeelden:

Lesbrief: Sporten met een doelgroep Thema: Waar ga ik heen?

De keuzestructuur. Versie DD

Simon de schildpad J van Weert 1

TV DE SCHAKEL CROP ONLINE - PERCEELREGISTRATIE VIA INTERNET

Opgave 2. Binaire informatie

VBA voor Doe het Zelvers deel 9

Modelleren en Programmeren

Examen Datastructuren en Algoritmen II

Simon de schildpad J van Weert 1

Transcriptie:

oefening JavaScript - antwoorden De antwoorden op deze opgaven zijn meestal wat aan de brede kant voor een Word document. Het is daarom handig om ze in Notepad++ te kopiëren en ze dan te bekijken. opgave 1: Hoger Lager 1 alert("we gaan het spel hoger-lager spelen."); alert("ik kies een getal tussen de 1 en 100.\nJa, de grenzen doen ook mee!"); alert("jij moet raden welk getal ik gekozen heb."); alert("als je het fout hebt, dan zeg ik of mijn getal hoger of lager is dan wat je geraden hebt."); var gekozengetal = Math.floor(Math.random() * 100) + 1; var usergetal = Number(prompt("Welk getal heb ik gekozen?")); var aantalpogingen = 1; // Zolang het getal niet geraden is, moet de gebruiker doorgaan // met raden. while (gekozengetal!= usergetal) if (usergetal < gekozengetal) // Te laag getal geraden. alert("mijn getal is hoger dan " + usergetal + "."); // Te hoog getal geraden. alert("mijn getal is lager dan " + usergetal + "."); aantalpogingen++; usergetal = prompt("welk getal heb ik gekozen?"); alert("juist, het getal is inderdaad " + gekozengetal + "."); alert("je hebt " + aantalpogingen + " pogingen gedaan."); Dit programma is iets anders dan het in de module staat. Je ziet hier dat we geen gebruik maken van een extra variabele met het type Boolean, maar dat we de invoer van de gebruiker onmiddellijk vergelijken met het gegenereerde getal. Hierdoor heb je minder regels code, maar heb je wel twee keer dezelfde instructie met de prompt functie in je code. - 1 -

opgave 2: Hoger Lager 2 Het volgende programma voldoet strikt genomen aan de eisen, maar is niet de bedoeling. Je zult snappen dat het programma ook iets met de feedback moet doen, anders wordt testen bijzonder lastig. alert("we gaan het spel hoger-lager spelen."); alert("jij kiest een getal tussen de 1 en 100.\nJa, de grenzen doen ook mee!"); alert("ik moet raden welk getal jij gekozen heb."); alert("als ik het fout hebt, dan zeg jij of jouw getal hoger of lager is dan wat ik geraden hebt."); var usergetal = Number(prompt("Welk getal heb je gekozen?")); var geradengetal = Math.floor(Math.random() * 100) + 1; alert("volgens mij heb je " + geradengetal + " gekozen."); var feedback = prompt("geef me feedback over mijn poging.\ngeldige feedback is: geraden, hoger of lager."); // Zolang het getal niet geraden is, moet de computer doorgaan // met raden. while (feedback.tolowercase()!= "geraden") geradengetal = Math.floor(Math.random() * 100) + 1; alert("volgens mij heb je " + geradengetal + " gekozen."); feedback = prompt("geef me feedback over mijn poging.\ngeldige feedback is: geraden, hoger of lager."); alert("juist, het getal is inderdaad " + usergetal + "."); - 2 -

Een beter programma is het volgende. alert("we gaan het spel hoger-lager spelen."); alert("jij kiest een getal tussen de 1 en 100.\nJa, de grenzen doen ook mee!"); alert("ik moet raden welk getal jij gekozen heb."); alert("als ik het fout hebt, dan zeg jij of jouw getal hoger of lager is dan wat ik geraden hebt."); // Definieer de grenzen waartussen geraden moet worden. // In het begin zijn dat 1 en 100, maar ze veranderen natuurlijk. var ondergrens = 1; var bovengrens = 100; var usergetal = Number(prompt("Welk getal heb je gekozen?")); // We gaan afgerond midden tussen de onder- en bovengrens zitten. var geradengetal = 51; alert("volgens mij heb je " + geradengetal + " gekozen."); var feedback = prompt("geef me feedback over mijn poging.\ngeldige feedback is: geraden, hoger of lager.").tolowercase(); // Zolang het getal niet geraden is, moet de computer doorgaan // met raden. while (feedback!= "geraden") if (feedback === "hoger") // Te laag getal geraden. ondergrens = geradengetal; // Te laag, pas ondergrens aan. // Te hoog getal geraden. bovengrens = geradengetal; // Te hoog, pas bovengrens aan. geradengetal = Math.round((onderGrens + bovengrens) / 2); alert("volgens mij heb je " + geradengetal + " gekozen."); feedback = prompt("geef me feedback over mijn poging.\ngeldige feedback is: geraden, hoger of lager.").tolowercase(); alert("juist, het getal is inderdaad " + usergetal + "."); Ook hier zie je weer, dat een aantal instructies twee keer exact hetzelfde in de voorkomen. Op zich mag het hier, omdat het er maar 2 zijn, maar doorgaans probeer je het te vermijden. - 3 -

opgave 3: Steen, Papier, Schaar 1 De regels zijn Schaar knipt Papier, Papier omwikkelt Steen en Steen breekt Schaar. alert("we gaan Steen, Papier, Schaar spelen."); // we gebruiken de volgende codering: // steen = 0, papier = 1, schaar = 2 var keuzearray = ["steen", "papier", "schaar"]; alert("voer steen, papier of schaar in."); var userkeuze = prompt("maak je keuze.").tolowercase(); // Computer keuze. var compgetal = Math.floor(Math.random() * 3); var compkeuze = keuzearray[compgetal]; alert("de computer heeft " + compkeuze + " gekozen."); if (userkeuze === compkeuze) alert("gelijkspel."); // Kijk of de speler wint. We gebruiken hiervoor een // hulpvariabele om de conditie overzichtelijk te houden. usergewonnen = (userkeuze === "steen" && compkeuze === "schaar") (userkeuze === "papier" && compkeuze === "steen") (userkeuze === "schaar" && compkeuze === "papier"); if (usergewonnen) alert("jij wint, proficiat!"); alert("ik win, helaas."); Je ziet hier weer logische bewerkingen gebruikt zoals de AND (&&) en OR ( ). Natuurlijk zijn er veel meer mogelijkheden dan de bovenstaande oplossing. Je kunt de gebruiker ook 0, 1 of 2 in laten voeren en dan vergelijkingen doen op basis van getallen. Dit is echter makkelijker te lezen. - 4 -

opgave 4: Steen, Papier, Schaar 2 alert("we gaan Steen, Papier, Schaar spelen."); // we gebruiken de volgende codering: // steen = 0, papier = 1, schaar = 2 var keuzearray = ["steen", "papier", "schaar"]; // Houd de score bij. var userscore = 0; var compscore = 0; // De computer score. while (userscore < 3 && compscore < 3) alert("voer steen, papier of schaar in."); var userkeuze = prompt("maak je keuze.").tolowercase(); // Computer keuze. var compgetal = Math.floor(Math.random() * 3); var compkeuze = keuzearray[compgetal]; alert("de computer heeft " + compkeuze + " gekozen."); if (userkeuze === compkeuze) alert("gelijkspel."); // Kijk of de speler wint. We gebruiken hiervoor een // hulpvariabele om de conditie overzichtelijk te houden. var usergewonnen = (userkeuze === "steen" && compkeuze === "schaar") (userkeuze === "papier" && compkeuze === "steen") (userkeuze === "schaar" && compkeuze === "papier"); if (usergewonnen) alert("jij wint deze ronde."); userscore++; alert("ik win deze ronde."); compscore++; alert("stand: jij " + userscore + " : ik " + compscore); - 5 -

if (userscore === 3) alert("jij wint de match, proficiat!"); alert("ik win de match, helaas."); - 6 -

opgave 5: palindroom var woord = prompt("voer een woord in, dan kijk ik of het een palindroom is."); if (woord.length > 1) // We weten nog niet dat het geen palindroom is. var ispalindroom = true; // We willen de gebruikersinvoer bewaren, maar moeten het // ingevoerde woord wel kunnen bewerken, dus maak een // tijdelijke variabele. Is ook handig om naar kleine letters // om te zetten. var tempwoord = woord.tolowercase(); while ((tempwoord.length > 1) && ispalindroom) var eersteletter = tempwoord.charat(0); var laatsteletter = tempwoord.charat(tempwoord.length - 1); if (eersteletter === laatsteletter) // Het kan nog steeds een palindroom zijn. // Haal de zojuist bekeken letters weg. tempwoord = tempwoord.substr(1, tempwoord.length - 2) // Het is geen palindroom, dus we kunnen stoppen. ispalindroom = false; // Een woord van 1 letter is altijd een palindroom. document.write("het woord ", woord, " is een palindroom.<br>"); if (ispalindroom === true) document.write("het woord ", woord, " is een palindroom.<br>"); document.write("het woord ", woord, " is geen palindroom.<br>"); - 7 -

opgave 6: letters tellen var woord = prompt("voer een woord in, dan tel ik de letters."); // We willen de gebruikersinvoer bewaren, maar moeten het // ingevoerde woord wel kunnen bewerken, dus maak een // tijdelijke variabele. Is ook handig om naar kleine letters // om te zetten. var tempwoord = woord.tolowercase(); // Maak array met alle letters, zodat je erin kunt tellen. // Zet de a in 0, b in 1 enzovoorts. var letterarray = []; // Vul het array met nullen m.b.v. de push functie. var index = 0; while (index < 26) letterarray.push(0); index++; while (tempwoord.length > 0) var eersteletter = tempwoord.charcodeat(0); // Bepaal index door er de ASCII waarde van a eraf te halen. index = eersteletter - "a".charcodeat(0); letterarray[index]++; // Haal de zojuist bekeken letter weg. tempwoord = tempwoord.substr(1, tempwoord.length - 1) // Druk het resultaat af. Laat alleen letters zien die niet 0 keer // voorkomen. index = 0; while (index < letterarray.length) if (letterarray[index]!= 0) var letter = String.fromCharCode(index + "a".charcodeat(0)); document.write(letter, " komt ", letterarray[index], " keer voor in ", woord, ".<BR>"); index++; - 8 -