MME - lente les 5

Huiswerk

Inleiding
Hieronder opdrachten, aan elke opdracht zijn punten gekoppeld. In totaal dien je minimaal 12 punten te behalen (6 punten opdrachten over loops en 6 punten opdrachten over arrays). Je mag zelf kiezen welke opdrachten je doet, mits je uiteraard de benodigde punten behaalt. Indien je een beginner bent, begin dan met de eenvoudige opdrachten, maar daag jezelf ook uit en probeer ook de eens moeilijkere opdrachten te volbrengen. De punten geven tevens het niveau aan van de opdracht:
  1. novice
  2. intermediate
  3. advanced
  4. expert
  5. guru
Je dient je uitwerkingen van de opdrachten online te plaatsen op de CMD server (dus niet mailen!). Maak een index pagina die de links bevat naar de uitwerkingen van deze opdrachten. Deze index pagina bevat de volgende informatie: Lokatie
Het pad naar je opdrachten dient er als volgt uit te zien: '/jaar1/lente/mme/les5/'
zodat de url naar je index pagina als volgt is:
'http://student.cmd.hro.nl/[studentNummer]/jaar1/lente/mme/les5/'


Deadline
Deeltijd en voltijd: woensdag 25 maart 2008, 12 uur.
Let op! Je huiswerk dient dus voor de deadline online te staan, zodat ik je in de les feedback kan geven).

Beoordeling
Je wordt beoordeeld op de volgende punten:
Belangrijk!



De opdrachten
Opdracht js0301 - How to irritate your visitors 1 (1 punt)
Wanneer de bezoeker je pagina bezoekt verschijnt de boodschap: 'You have to click me 10 times to enter this site. This will be click number: [x]' ([x] is het nummer dat verhoogd wordt, iedere keer dat de bezoeker op de 'Ok' button klikt).

Opdracht js0302 - How to irritate your visitors 2 (1 punt)
Wanneer de bezoeker je pagina bezoekt verschijnt de boodschap: 'You have to click me [x] times to enter this site' ([x] is het nummer dat wordt verlaagd met iedere keer dat de bezoeker op de 'Ok' button klikt).

Opdracht js0303 - Login 1 (1 punt)
Wanneer de bezoeker je pagina bezoekt, verschijnt een prompt om het password in te voeren. De prompt blijft verschijnen totdat de bezoeker het juiste password invult. Tip: gebruik een while loop. Let op! Voor deze opdracht mag je alleen het password 'test' gebruiken (anders wordt het erg lastig nakijken).

Opdracht js0304 - Login 2 (2 punten)
Wanneer de bezoeker je pagina bezoekt verschijnt de krijgt hij een prompt om zijn user-id en password in te voeren (twee prompts dus). De prompts blijven verschijnen totdat de bezoeker het juiste user-id en password invult. Tip: gebruik een while loop. Let op! Voor deze opdracht mag je alleen het password 'test' gebruiken en als user-id 'zorro'.

Opdracht js0305 - De tafel van 7 (1 punt)
Gebruik een document.write om de tafel van 7 te tonen. Het resultaat dient er als volgt uit te zien:
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 = 70

Opdracht js0306 - De tafel van [x] (2 punten)
Bij het openen van de pagina, vraag de gebruiker welke tafel hij/zij wil zien (met een prompt). Gebruik vervolgens een document.write om de tafel van [x] te tonen. Het resultaat dient er als hierboven uit te zien (behalve dat het dan niet de tafel van zeven is).

Opdracht js0307 - Pyramide (3 punten)

Maak een pyramide, die slechts bestaat uit het asteriks symbool (*). Het resultaat dient dus tekst te zijn. Gebruik een for loop om de pyramide op te bouwen (die bestaat uit 10 lagen). Tip 1: probeer deze pyramide eerst in HTML te maken (stel jezelf de vraag, hoe centreer ik de verschillende lagen). Tip 2: Wellicht dat je het beste een monospaced lettertype kunt gebruiken (bijvoorbeeld: Courier). Tip 3: gebruik een variabele die je steeds uitbreidt met het asteriks symbool (kijk ook nog eens naar de les: teksten samenvoegen / concatenating string.

Opdracht js0308 - Piece of cake (3 punten)

Zie de afbeelding hierboven, maak een script die deze taart genereert. Elke laag van de taart bestaat uit één afbeelding. Je mag slechts één afbeelding gebruiken voor deze opdracht. Tip 1: maak deze taart eerst in HTML, zodat voor jezelf duidelijk wordt welke waardes in HTML variabel moeten zijn. Tip 2: gebruik een for loop om meerdere lagen van de taart aan te maken en een document.write voor het printen van de image tag.

Opdracht js0309 - Throw the dice 1 (2 punten)
De Kerstdagen staan weer voor de deur. Dus tijd om Monopoly weer eens uit de kast te halen. Voor de familieleden en vrienden die altijd onhandig zijn met het gooien van de dobbelsteen, is het de bedoeling dat je een digitale dobbelsteen maakt (om te voorkomen dat de dobbelsteen onder de tafel belandt). Bij het openen van de pagina wordt in een alert de waarde (1-6) van een dobbelsteen in een alert getoond. Iedere keer als de pagina wordt herladen, wordt een nieuwe willekeurige waarde getoond.

Opdracht js0310 - Throw the dice 2 (3 punten)
Net als de opdracht js0309, ontwikkel een digitale dobbelsteen. Maar ditmaal wordt is het de bedoeling dat je de pagina niet herlaadt, gebruik een for-loop die 10 keer een dobbelsteen gooit. Iedere keer dat je de dobbelsteen gegooid hebt, verschijnt er een alert met de tekst: 'That was a [x], throw again?' (vervang [x] voor het aantal ogen).

Opdracht js0311 - Throw the dice 3 (3 punten)
Net als de opdracht js0309, ontwikkel een digitale dobbelsteen. Maar ditmaal met twee dobbelstenen. Bij het openen van de pagina wordt in een alert de waarde (1-6) van de twee dobbelstenen in één alert getoond en tevens de totaal waarde van beide dobbelstenen. Het bericht in de alert ziet er als volgt uit:
Dice 1: 6
Dice 2: 2
Total: 8
Iedere keer als de pagina wordt herladen, wordt een nieuwe willekeurige waarde getoond.

Opdracht js0312 - Is random really random? (5 punten)
Holland Casino is bezig met het ontwikkelen van een online casino. Het is voor Holland Casino belangrijk dat random daadwerkelijk random is. De opdracht is om te onderzoeken als een dobbelsteen 120.000 keer wordt gegegooid of de verdeling van de ogen dan ook gelijk is. De uitkomst zou moeten zijn:
1: 20.000 (16.66%)
2: 20.000 (16.66%)
3: 20.000 (16.66%)
4: 20.000 (16.66%)
5: 20.000 (16.66%)
6: 20.000 (16.66%)
Total: 120.000 (100%)
Ontwikkel dus een script die 120.000 keer een dobbelsteen opgooit en een overzicht weergeeft zoals hierboven (alleen dan met de waarden die gegenereerd worden door de computer). Om jezelf extra uit te dagen, probeer een zo kort mogelijk script te schrijven (gebruik een array).

Opdracht js0313 - Table creator 1 (3-4 punten)

Zie bovenstaand voorbeeld. Maak een scipt dat deze tabel automatisch genereert. De waardes als 1-1, 1-2, 1-3, staan voor [rowNumber]-[colNumber]. Tip 1: Maak de tabel eerst in HTML, en bepaal welke waardes variabel zijn. Tip 2: gebruik een for loop in een for loop (één loop voor het genereren van de rijen, één loop voor het genereren van de kolommen). Je kunt één punt extra verdienen als je de tabel uitbreidt naar 10 kolommen en 30 rijen, waarvan elke oneven rij een grijze achtergrond kleur heeft (zoals je vaak in forums ziet).

Opdracht js0314 - Table creator 2 (5 punten)
Zie opdracht js0312. Je dient deze tabel na te maken, met als aanvulling dat de achtergrond kleur per cell willekeurig is. Indien je een expert bent, en je hebt opdracht js0312 al gemaakt, dan tellen deze punten niet mee.

Opdracht js0315 - Random background (2 punten)
Er zijn 5 achtergronden. Tijdens het laden van de pagina wordt een willekeurige achtergrond getoond. Maak een script die iedere keer na het herladen van de pagina een nieuwe willekeurige achtergrond toont.