C:\_Informatica-GES\Voorlichting\Voorblad boekje vwo.cdr

advertisement
Inhoud:
Overzicht van de methode
Algemene informatie
Inhoudsopgave deel 1
Voorbeelden deel 1
Inhoudsopgave deel V
Voorbeelden deel V
Inhoudsopgave deel E
Voorbeelden deel E
ENIGMA
De Stichting ENIGMA Online biedt haar gebruikers een database, gevuld met een curriculum
dekkende hoeveelheid leermateriaal voor het vak informatica. Om toch enige lijn te houden in al dat
materiaal, gaan we uit van de volgende onderverdeling:
In het kernprogramma komen de volgende onderwerpen aan bod:









Informatieverwerkende systemen
Elementaire bewerkingen
Hardware
Visueel Programmeren met Java
Maatschappelijke aspecten
Besturingssystemen
Databases
Netwerken en Internet
Geschiedenis van de computer
In het verdiepingsprogramma (alleen vwo) komen de volgende onderwerpen aan bod:





Objectgeoriënteerd programmeren met Java
Informatiemodellering
Cryptografie, van klassiek naar digitaal
Artificial Intelligence
Vakgebied informatica
In het examenprogramma (havo en vwo) komen de volgende onderwerpen aan bod:







XHTML/CSS
PHP/MySQL
Ambient intelligence (o.a. domotica)
MMI
Software engineering
Robotica
Typografie
Laatste update: januari 2011
INFORMATICA
Informatica is een vak dat in de 2e fase van Havo en VWO gekozen kan worden. Bij Informatica worden de
achtergronden van computers behandeld. Om een vergelijking met de auto industrie te maken: je gaat onder de
motorkap kijken.
Informatica houdt NIET in: spelletjes uitproberen, informatie op het Internet zoeken, webpagina’s ontwerpen,
grafieken maken met MS-Office etc. Dergelijke toepassingen horen bij andere vakken thuis.
Was gebeurt er wel?. Je leert hoe een computer werkt, je gaat gegevensbestanden opzetten, zelf
computerprogramma’s maken etc. Alle aspecten van de ICT (Informatie en Communicatie Technologie) komen stap
voor stap aan bod.
Onderwerpen
De 3 onderdelen van ICT worden uitgebreid behandeld: hardware, databases en software. Je ontdekt dat een
computer werkt op basis van binaire getallen (nullen en enen). Je leert hoe een computer deel kan uitmaken van een
netwerk en hoe randapparaten als scanners en diverse opslagmedia werken. Je leert gegevens op een
gestructureerde wijze in bestanden opslaan en informatiesystemen opzetten. Je leert hoe het kernprogramma
(besturingssysteem) van een computer in elkaar zit en zelf programma’s maken voor bepaalde toepassingen, van
eenvoudig rekenwerk tot computergraphics.
Opbouw leerstof en examens
Havo 4: basiskennis en basisvaardigheden (is: kernprogramma)
Laatste toetsweek Havo 4: 1e schoolexamen (theorie)
Havo 5: drie semesters, elk afgesloten met een schoolexamen (1x theorie, 1x programmeren, 1x project (software
enginering))
Vwo 4: basiskennis en basisvaardigheden (is kernprogramma)
Vwo 5: verdieping (deel V)
Laatste toetsweek Vwo 5: 1e schoolexamen (theorie)
Vwo 6:drie semesters, elk afgesloten met een schoolexamen (1x theorie, 1x programmeren, 1x project (software
enginering))
Er zijn geen landelijke examens voor Informatica.
Lesmateriaal
Als basis wordt de Enigma lesmethode gebruikt. Deze bestaat uit traditionele lesboeken – een Informatieboek en
Verwerkingsboek (met opdrachten) - aangevuld met allerhande lesmateriaal in digitale vorm. Voor het ontwerpen van
databases wordt gebruik gemaakt van standaard software van Microsoft (Access/SQL). Voor het ontwikkelen van
software wordt ondermeer JAVA van Sun Microsytems gebruikt.
Profiel
Informatica is met name geschikt voor leerlingen met een NT profiel, maar leerlingen met een ander profiel kunnen
het ook kiezen. In principe is het bedoeld voor alle Havo/Vwo leerlingen die niet alleen met computers willen omgaan
maar willen weten hoe ze werken en zelf computerprogramma’s en bijbehorende bestanden willen kunnen maken.
&
!""
#$ %"
& !" ' ( ) *
+ & ,
-
& !
-
& /"
-
& & &
""
("
("
0""
& %1$
23"
""
(3""
("3"
4
*%5*6
*076
*50#6
& *8076
9
& *(
":$
& *0""
2"
*1
*$"$
& 9
, *1$
*"
&
&
'
)
.
&
&
&
'
)
&
&
'
21$
7%/ 9 70/ 2
& /
"
& *$
& 2:
& #
& 0"
& 9*670/
& *(*
& "62**(*
& ;"$"
7
' #
' +
' / ' & %
' ' /
' ) 4$
' . ,
' ,"
' /
!"
#
&
'
(1,*0$$
'
'
)
)
.
.
.
&
&
&
&
&
&
&
&
&&
&&
&'
&)
&)
%"
+<
=> 2"
("
?
$?;
2%"
?6
@$$
#$
3
5?
*""
& 27%"
' #$
) 2"
1"
. /6
9
+
2"
$>
& 27%"
& *"$
& 26
& & *"
"">
""
& ' 261"6
& ) 26"6
("
' !"
""
' 7-"
""
' 0
&.
&
&
&
'
'
'
'&
'&
''
''
')
'.
'.
'
'
)
)
)
)
)
)
)
)
)&
)'
)'
)'
)
' & 7
""
' ' 9$"
' ) #"
' . 4$"""
+
) 2,"%"
) 2
$
) 9
) & 9
$%&'""("&
&
&
))
))
).
)
)
)
.
.
.
!$1$
01$$"
1$
+
$
%$":$
%$":$1
%$":$1
%$":$:
,
,$1
9
"
& "
1
& (
& 1
& & ;
)*!
$
*
+0+
0+
,
!
& %"6
' !$
0+
0+ 0
!$
& !$
& #
& #
1$
.
.
.'
.'
.)
..
..
.
&
&
'
.
.
&
&
'
)
)
)
.
) +
&
'
)
.
&
'
7""
2-"
7"""
""
+A4B+A4
C
*
+A4
+"$
& +
' !"
+
"1
& %5*6
& 076
& 4=;6
& & 50#6
& ' 7""
& ) +5D44
& . 56
2""
E
!
. !70D,F
. (1""
+<
;$+A4
!
G1:>
#""G
""1:
*-$3
,
(1,*0$$
9
91$"
(
9$"
,$$$"
#1$
,"" & "
& ;
& EH
7""
' 51$"
' #9,G,"
' "B,C
' & ,6
' ' ,#9,
' ) ,""
' . 2*5+
' ##4
' 93@
&
'
)
.
.
.
&
'
)
.
.
&
&
'
)
)
)
.
.
.
)
.
2"
) D74
) ;6"
(
1$
. 211$
. ("1
#
D#,
!">"
+""
& *"
& & %,
& "
& & !+/
& ' !,7+
& ) D/#+
& . 2+*,%
-.&'&
"!
&
'
)
+
7$
","
?6/?<
9"
& 22""
' !
"
*
;"$
;"$
%"#
;
& *;5%9
' ?5
/
/
/
,9@ & *@
& %" & %1$$"
& & */,9
& ' ,*%@
+1
' +1$$
71$$"
) ;"
1$$"
) #$$
'
'
'
)
)
.
.
.
.
.
.
&
&
&
&
&
&
&
&&
&&
&'
&)
&.
&.
&
&
&
&
'
'
'
'
'
'&
''
''
(1,*0$
*+,$-&(.++/
!
"
!
#
!
$%&"'()!
*
$+
%
,
#
-
.!
!
$-
!
$
/!
"
0
.
-
"
$
0
#
0
1.
.
$%&'(
!"!
"! #
)%&'(
(1,*0$
!!
!"#$%#! &'()## *#$+$)#,#(
"
#
$%&#
'
'
'
#
(#
%
)
*
(
'
#
+
#
'
+
,-
.
'
/#
*
#
0*
(
(1,*0$
!"!#!!
!"#!
"!#!
"#!
$
%
& '
(
!
!
!
!
!
!
!
!
!
)
*
+,- .
%/. 00+,- 00
%/. .
1#
2
&
)
!
3
'
3"#!4
! " !4
1
.
3!""#!
!! 00
5
.
Hoofdstuk 3
35
Hardware
3 HET WERKGEHEUGEN
Alle computers zijn gebouwd volgens het principe van de wiskundige John von Neumann
(1903-1957). Hij was wetenschappelijk adviseur van het ENIAC-team, die een van de
eerste computers bouwde. Von Neumann ging ervan uit dat zowel de instructies (het
computerprogramma) als de data binair konden worden opgeslagen in het werkgeheugen
(ook wel intern geheugen genoemd). Moderne computersystemen hebben grote werkgeheugens nodig van minimaal 512 MB. Vooral het werken met geluid en afbeeldingen
vraagt veel geheugencapaciteit.
Bij de huidige computers bevindt het programma zich in het werkgeheugen. Bij de allereerste
computers was dat niet het geval. Het programma werd van buitenaf ingevoerd via een
ponsband of het werd in de hardware aangebracht. De wiskundige John von Neumann kwam in
1945 met het idee om ook het programma in het geheugen te plaatsen: het ‘stored program
concept’.
De CPU had de taak de instructies van dat programma uit het geheugen op te halen, te verwerken en de resultaten weer in het geheugen terug te zetten.
Dit wordt de Von Neumann-architectuur genoemd.
Je maakt bij het werkgeheugen onderscheid tussen RAM, cachegeheugen en ROM.
3.1 RAM
RAM is de afkorting van Random Access Memory: vrij toegankelijk geheugen voor het
besturingssysteem en de gebruiker om daar tijdelijk gegevens in op te slaan. 'At random'
betekent willekeurig: het maakt niet uit waar de gegevens in de chips zijn opgeslagen.
De processor kan die snel vinden en gebruiken voor de verwerking.
RAM-chips worden geleverd als DIMM's: Dual Inline Memory Modules, dunne strips met
geheugenchips die in de geheugenbank op het moederbord worden geplaatst.
De geheugenchips kunnen twee elektronische toestanden weergeven: geleidend en
niet-geleidend: 0 of 1.
Het grootste nadeel van RAM is dat het
kwetsbaar is, De RAM-chips moeten constant onder elektrische spanning staan om
de inhoud te bewaren. Zodra de stroom
wordt onderbroken, wordt alles gewist.
DIMM's zijn de opvolger van de SIMM-modules.
RAM-chips hebben ook een aantal voordeHet belangrijkste verschil tussen beide typen is
len: hoewel ze klein zijn, kunnen ze veel
dat DIMM’s een 64-bit datapad hebben en
gegevens bevatten. De processor kan ze
SIMM’s een 32-bit.
snel benaderen om de inhoud op te vragen.
Er zijn verschillende type DIMM-modules:
x SDR SDRAM
Ze zijn in de loop van de tijd steeds goedx DDR SDRAM
koper geworden en daarom bevatten mox DDR2 SDRAM
derne computers RAM-chips met een grote
x DDR3 SDRAM
geheugencapaciteit.
SDDRAM:
opdracht 32
Synchronous Dynamic Random
Access Memory
SDR:
Single Data Rate
DDR:
Dual Data Rate
De laatste heeft een doorvoersnelheid die twee
keer zo hoog ligt als die van SDR.
ENIGMA
38
Informatieboek
4.1.2 HARDE SCHIJF
In tegenstelling tot het flexibele materiaal
van een diskette, bestaat een harde schijf
uit een aantal met magnetisch materiaal
beklede platen van glas of metaal die met
grote snelheid ronddraaien. De opslagcapaciteit is ook veel groter dan een
diskette.
Een harde schijf in een moderne computers kan meerdere GigaBytes aan gegevens bevatten. Het aantal platen en de
samenstelling van de magnetische laag
bepalen de opslagcapaciteit.
Harde schijven zijn zeer gevoelig voor
stof. De lees- en schrijfkoppen bewegen
zo dicht over het oppervlak dat een
stofdeeltje een kras zou maken. Daarom
worden harde schijven beschermd door
een luchtdicht afgesloten metalen omhulsel. Daarin draaien de platen met duizenden omwentelingen per minuut.
Bron: Erwin Suvaal
4.1.3 TAPE
Een tape verschilt van magnetische schijven door de manier waarop data wordt gelezen
en weggeschreven. Bij een tape gebeurt dat sequentieel (achter elkaar), terwijl een schijf
de data random (willekeurig) kan lezen. Dit maakt een
tape zeer geschikt voor het maken van een backup,
maar ongeschikt voor het snel bewerken van een file.
DDS (Digital Data Storage) is een populair formaat
voor het maken van backups op tapes. Het is gebaseerd op de techniek van DAT (Digital Audio Tape),
maar door het gebruik van betere tapes en een foutcorrectiemechanisme is het mogelijk bestanden op te
slaan en zonder fouten weer te lezen.
opdracht 40
4.2 OPTISCHE OPSLAG
Op optische schijven is data weggeschreven door
microscopisch kleine putjes (pits) te persen in het
oppervlak van de schijf. De niet-bewerkte gebieden
rond de pits heten lands. Om gegevens te lezen
schijnt een laser een straal op de schijf. De laserstraal bevindt zich aan de onderkant, zodat de pits
daar uitsteken als kleine dammetjes.
Bron: Erwin Suvaal
'
(
)(
'*
+,
)
-
#
(
.
cijfer >= 6-
(
/
true
false-
0
(
,
+
-
/
(
1)
(
2
+
-
!"#$
%&
!"#$
%&
!"#
'*
(
(-
.
8
.
9
$!#
:
8;
.
<
!"#$
,
%
/
%,
,
%
%,
.
=
8
3(
ZOLANG
(
/-
'*
1
((2
+
,
4
(
/
(
-
#
((
+
55
(.
(-
6
ZOLANG7(
(
/
(
)
,
)
TOTDAT7(
(
,
4
(
'*
+
55
7
,
(
/
(
-
)
(
ZOLANG7(
TOTDAT7(
(
((7
55
+
-
(1,*0$
!
"
#$
%
&' ()
()
beginkapitaalVeldrenteVeldtermijnenVeld
(
eindkapitaalVeldberekenKnop
$*
) !
int beginkapitaal;
beginkapitaal = Integer.parseInt(beginkapitaalVeld.getText());
int rente;
rente = Integer.parseInt(renteVeld.getText());
int termijnen;
termijnen = Integer.parseInt(termijnenVeld.getText());
int kapitaal;
kapitaal = beginkapitaal;
int termijn;
termijn = 1;
while (termijn <= termijnen){
kapitaal = kapitaal + kapitaal * rente / 100;
termijn = termijn + 1;
}
eindkapitaalVeld.setText(String.valueOf(kapitaal));
(1,*0$
for (int termijn = 1; termijn <= termijnen; termijn++)
0.:7
77.
.
#./0
1.
2
10
0
+
3".
40
01
0
5
!"#$%
&
'#$
!"(
)
*+,-
.
3"
• MOD.
10
• STR2
0
010/
.67
String.valueOf()
,1$
• INT
1
0
0.0
84/
.
400
4
5
.71
3"/
77
,1
0
2
0
5972
6
0
8
1
6.
0.145"
,11
01.
3"5
(1,*0$
!"#$%!%&'$(!#)"%*+,+(%
!
"
#
!
#
$
!
!
%
!
#
&&
#
$
"
'
(
!
)
*
!
-'%()!"".!%#$%!%&'$(!#)"%*+,+(%
(
(
(
+
!
!
,-.,
/0
/0 1234
(
/012
1256/0
!
"
!
#
$
%
#
!
&
'
(
)
*+
#
,
-
#
#
,#
,
,
.
#
!
,
#
#
$%
,
/
0
12
,
#
/
#
3
#
#
#
#
,
#
4
#
(
#
,
4
%
!
!
%
,
-
WHFKQLVFK
#
,
#
,
5
1
#
#
/
(1,*0$
$%
!
$!
"
#
$
!
!
%
!
"
!
!
• %
!
!
• &
%
!
• "
!
#
$
• !
%
!'
$
%
!'
%
!
#
!
#
(1,*0$
!
"
"
"
!
"
"
#$%&
'
"$
"$
#
$
("!
"
"
)
!
$*
"
"
$+,!)
"
"
-
$.
""
-
"
"
/
"
"
!
""$*01'
"
-
2
32
3
"
-
" "
""23
!
(1,*0$
LEDEN
lidnr
voornaam
naam
adres woonplaats
telefoonnr
geslacht
geboortedatum
inschrijfdatum enkel dubbel
TEAMS
Teamcode lidnr
klasse
SCORES
lidnr
teamcode
gewonnen
verloren
BOETES
boetenr
lidnr
datum
bedrag
(QLJPD
!
"
""
#
$
%&'(
)
$
%"
*+,
"(
*+,
"*+,
"
*+,
"
"
*+, *
-
"
*
"
*+,
$
SELECT
FROM
voornaam, naam, telefoonnr
leden;
!
"
#$
SELECT
FROM
WHERE
COUNT(*)
leden
NOT woonplaats = ‘Doetinchem’;
%
&
'
'
(
#$
'
&) SELECT
FROM
SUM(bedrag) AS totaal_boetes,
boetes;
!"#$%&'(
(
)
'
*
'
)
')*)
SELECT
DISTINCT woonplaats
FROM
leden
ORDER BY woonplaats;
SELECT
FROM
WHERE
count(*) AS Beek
leden
woonplaats = ‘Beek’;
+
+,-./
%0
(
'
1 2
'+)*,-
SELECT
woonplaats, count(*) AS aantal_leden
FROM
leden
GROUP BY woonplaats;
(1,*0$
!"#$% !"!&!''
!
!
"
#
$
#
$%!
&
!
'
!
#
$(
#
$
#
$
()#*!+)#'+),$ )
*
!
(
!
++ !
!
!
!!
1 !"!"! #
!
"
#
$
!
!
$
!
$
!
#
#
%
!
!!
"
!!
#
!
"
!
!
!
$
#
&
#%
!
!$
'
$(
)$
!
!
*
+,
!
$
$$
$-.
' !
$
$ $"
!
$ %
"
#
!
/
/#
$
#
0#*
!
/%
"
#
1 2
"
$
3
#
)$
#
#"
$
!
#
'
!
$$
#!
#%
#
,
!
4 %
!
#
'
$#"
%
#
!
#
!
"
#
!
%
!
#
!!
# !
5
6
#
!7
(1,*0$
!
"
!
#
!
!
!
!
$
"!!
%
!
!!
!
&!''!
!
!
(%
!
!
!
(%
!
)
(%
!
!
!
$
!
!
*
!
!
(%
!
!
!
(%
!
!
!
!
!
!#
(%
(%
!
!
!
#
(%
$
! +
,$
!
!!
!!
!
$!
+
,!
$
(%
!
(
!+
,
*!
(%-
$ %+$" %
,$ %
!
!
.
$/0!+!,
$ %
"
$ %!
!
"
#
$
!
%$
&
&'()*
+
(
,--.
/0121
!
&
"
"
3
!
!
*4
5
6
!
5
6
4
!
'!
"
1
3
!
"
3
(
53(6
3
!
"$
!
"
3($
7
!
3($
"
"
!
8
!
1
3($
!
"
#
"
!
$
$
$
%$
"
&
!"#!
'
()
%$
$
*
!
+
#
$
$
$
!
,
-
!
*
$
$%&'(")%%!!)*!%'"&
$
.'+
$
/
!
#
!
$
0
10
!
#
!
*
$
%$
$
!
$$
$
$
,
2
#
#
3
#
!
*
,
(
)
!
"
#
$
• %
• • &
• '()*
• *
• %
!"#
+
"
,
-
.
"
$
/0
)
1
(
23
.
#
1
.
.
44
.
5
67
8
1
8
*
,69:.6;<9-
6
.
.
1
(1,*0$
!"#$%&"##$'(
()
(
(((
)
(((*
&
(
)
"#%+
),(-.
) "#/$
)(
(
((
)
(
)0(
(
(((
),
(
)
1
&
&
)
1
1(
2
34!"#/#&"5"#'),
(
)6(
(
((&
)4&
(
)
!"
7
&
(
)1
(&
)1(
(
(
89(!"5-$&":%/')
(1,*0$
!"
!
"#$%&
$%'()
*
"
*+
++
+
,
,+$%-.
/
+
/012+
21
)
+$%-.
,3/
4
*5"12
#51
2
(
+
)
$%-.)
678
19
6
+!6
96037
)
)+
)+
+
)
$%:)"
"
7;+
,7$%:+
)
"
*/
/;8$
,
2
<
=
(1,*0$
!"
#
!"
"!$
%
&
'()*' )#
+ !"
#+
,
# &
+
--.
"/)
#
!")
+(
+
+
0
) +
#
1
• *'
• !
'
2
2
+
• 34
2
"
• ! 2
##
+1
5
34
)
2
6
'()*'+(
##-
&
+2
(
#
&(
(
2
+
+
#2
+
+(
++#
++
(+-+
+
*#+
#
7$87$
9
+
:;8
9!
245+
+
!"<
&
+
#* +
4
+
4='4=784
='
4
=7
9
6 +
(&>(
+4
&>+
+
&"(
-+#-
-8
9+
&
;
2#
+&"
'HPRGHHO9
,1+28'
2EMHFWJHRULsQWHHUGSURJUDPPHUHQPHW-DYD
2EMHFWJHRULsQWHHUGSURJUDPPHUHQ
2EMHFWHQ
.ODVVHQ
(HQYRRUEHHOGGHNODVVH'REEHOVWHHQ
2EMHFWHQ
'HILQLWLHYDQGHNODVVH
,PSOHPHQWDWLHYDQGHNODVVH
+HWJHEUXLNYDQGHNODVVH'REEHOVWHHQLQHHQDSSOHW
'HNODVVH$SSOHW
,PSRUW
2YHUHUYLQJ
7HNHQHQ
0HWKRGHQRPWHWHNHQHQ
.OHXUHQ
+HWYHUNHHUVOLFKW
$UUD\V
$UUD\V (HQDUUD\PDNHQ
(HQDUUD\YXOOHQ
=RHNHQLQHHQDUUD\
=RHNHQYDQHHQEHSDDOGHZDDUGH
:HUNHQPHWDUUD\V
+HWFGDSSOHW
7RHYRHJHQ
9HUZLMGHUHQ
9HUSODDWVHQ
6RUWHUHQ
,QIRUPDWLHPRGHOOHULQJ
,QIRUPDWLHV\VWHPHQ
,QOHLGLQJ
:DDURPPRGHOOHUHQ
+HUNDQVLQJHQ
'HJHJHYHQVYRRUKHWLQIRUPDWLHV\VWHHP
+HWPRGHOOHUHQYDQGHFRPPXQLFDWLH
&ODVVLILFDWLHHQNZDOLILFDWLH
2UGHQHQYDQGHIHLWH[SUHVVLHV
$QDO\VHUHQYDQGHIHLWH[SUHVVLHV
(QNHOHRSPHUNLQJHQ
,QIDJRQ
+HW,QIRUPDWLH*UDPPDWLFD'LDJUDP,*'
%HSHUNLQJVUHJHOV
:DDUGHQEHSHUNLQJ
8QLFLWHLWVEHSHUNLQJ
7RWDOLWHLWVEHSHUNLQJ
+HW,*'RP]HWWHQQDDUHHQUHODWLRQHOHGDWDEDVH
&RQWUROH
*/5DOJRULWPH
([SRUWHUHQ
&U\SWRJUDILHYDQNODVVLHNQDDUGLJLWDDO
,QOHLGLQJ
&U\SWRJUDILHWRWGHHHHXZ
*ULHNHQHQ3HU]HQ
&DHVDU
0RGXORUHNHQHQ
'H9LJHQqUH
)UHTXHQWLHDQDO\VH
&U\SWRJUDILHYDQDIGHHHHXZ
+HW=LPPHUPDQQWHOHJUDP
'H(QLJPDPDFKLQH
'LJLWDOHFU\SWRJUDILH
;25YHUVOHXWHOLQJ
6\PHWULVFKHQDV\PHWULVFK
3XEOLFHQSULYDWHNH\
'HNUDFKWYDQ56$
%ORNYHUVOHXWHOLQJ
'H0DQLQWKHPLGGOHDDQYDO
3UHWW\JRRGSULYDF\
$UWLILFLDO,QWHOOLJHQFH
(1,*0$,QIRUPDWLHERHN
9RRUEHHOGPRGHOHHQIHHVWMH
2SHHQIHHVWMH
8LWGDJLQJ
0RGHOOHQ
9RRUEHHOGPRGHOZROYHQVFKDSHQHQJUDV
%HVWXXUKHWPRGHOGHNQRSSHQ
'HLQVWHOOLQJHQYHUDQGHUHQVFKXLIEDONHQHQVFKDNHOLQJHQ
7HVWHHQQLHXZHVLWXDWLH
-HEOLNRSGHZHUHOGYDQKHWPRGHO
&RPPDQGR¶V
9RRUEHHOGPRGHOYHUNHHU
+HW&RPPDQGR&HQWUXP
:HUNHQPHWNOHXUHQ
$JHQW0RQLWRUVHQ$JHQW&RPPDQGHUV
3URFHGXUHV $JHQWVHQSURFHGXUHV
+HWPDNHQYDQGHVHWXSNQRS
+HWPDNHQYDQGHJRNQRS
([SHULPHQWHUHQPHWGHFRPPDGR¶V
3DWFKHVHQYDULDEHOHQ
9DULDEHOHQGLHELMGHWXUWOHVKRUHQ
0RQLWRUHQ
6ZLWFKHVHQODEHOV
1RJPHHUSURFHGXUHV
3ORWV*UDILHNHQ
'HPRGHHO9
*OREDOHYDULDEHOHQ
'HODDWVWHSXQWMHVRSGHL
0RGHOOHUHQLQ$,
:DWLV$,"
:DWLVKHWGRHOYDQ$,"
:DW]LMQGLHPDFKLQHV
0RGHOOHUHQHQVLPXODWLHV
:DWLVHHQPRGHO"
:DWLVHHQJRHGPRGHO"
9HUVFKLOOHQGHVRRUWHQPRGHOOHQ
+RHNHQWHHQDJHQWGHZHUHOG"
+RHJHEUXLNWHHQDJHQW]LMQIHLWHOLMNHZHUHOGNHQQLV"
*HGUDJHQHPRWLH
'HWHUPLQLVWLVFKRIQLHWGHWHUPLQLVWLVFK"
&RQFOXVLH
&RGHVFKULMYHQ
6HWHQ*R
5HFXUVLHYHSURFHGXUHV
=HOIHHQDFKWHUJURQGPDNHQ
9DNJHELHG,QIRUPDWLFD
5ROOHQHQUROSURILHOHQ
5ROOHQ %XUJHU
*HEUXLNHU
0DNHU
2QGHU]RHNHU
5ROSURILHOHQ
%XUJHUV
*HEUXLNHUV
0DNHUV
2SOHLGLQJ
'HRQWZHUSF\FOXVHQKHWRQWZLNHOWUDMHFW
+HWRQWZLNNHOWUDMHFW
'HUROYDQGHZLVNXQGH
,QIRUPDWLFDDOVZHWHQVFKDS
7HFKQLVFKHFRPSXWHUNXQGH
$OJRULWPLHNHQSURJUDPPDWXXU
,QIRUPDWLHV\VWHPHQ
7KHRUHWLVFKHLQIRUPDWLFD
,QWHOOLJHQWHV\VWHPHQ
,QIRUPDWLHNXQGH
(HQDQGHUSHUVSHFWLHI
7KHRULHsQ
7DOHQ
0HWKRGHQ
*HUHHGVFKDSSHQ
(QYHUGHU" ,QIRUPDWLFDVWXGHUHQ
(1,*0$,QIRUPDWLHERHN
2EMHFWJHRULsQWHHUGSURJUDPPHUHQPHW-DYD
((19225%((/''(./$66('2%%(/67((1
Om ervaring op te doen met het ontwerpen en schrijven van een klasse ga je een
eenvoudig dobbelspel programmeren.
,QGLWVSHOPDJHHQVSHOHUGULHNHHUJRRLHQPHW
PD[LPDDOGULHGREEHOVWHQHQ+LMNDQEHVOXLWHQRPHHQRI
PHHUGHUHVWHQHQWHODWHQOLJJHQ+HWGRHOYDQKHWVSHOLV
RPQDGULHZRUSHQHHQ]RKRRJPRJHOLMNHVFRUHWH
EHKDOHQ
'HLQWHUIDFHYDQKHWVSHOVWDDWKLHUQDDVWDIJHEHHOG
:HONHREMHFWHQ]LMQHUWHRQGHUVFKHLGHQLQGLWVSHO"
:DQQHHUMHQDDUGHLQWHUIDFHNLMNWGDQ]LHMHWZHH
NQRSSHQ6WDUW6SHOHQ'REEHO(U]LMQGULH
WHNVWYHOGHQGLHKHWUHVXOWDDWYDQGHZRUSODWHQ]LHQHQ
HHQYLHUGHWHNVWYHOGGDWGHWRWDOHVFRUHZHHUJHHIW
7HQVORWWH]LMQHUQRJGULHVHOHFWLHYDNMHV'RRUHHQ
VHOHFWLHYDNMHDDQWHYLQNHQJHHIWGHVSHOHUDDQGDWKLM
GH]HGREEHOVWHHQODDWOLJJHQ'H]HREMHFWHQ]LMQ
LQVWDQWLHVYDQUHVSHFWLHYHOLMNHGHNODVVHQButton
TextfieldHQCheckbox
%HKDOYHGHREMHFWHQGLHMHRSGHLQWHUIDFH]LHW]LMQHU
QRJGULHREMHFWHQGHGREEHOVWHQHQZDDUPHHJHJRRLG
PRHWZRUGHQ-DYDNHQWJHHQVWDQGDDUGNODVVH
'REEHOVWHHQ'LH]XOMH]HOIPRHWHQRQWZHUSHQ
'(),1,7,(9$1'(./$66(
,Q-DYDLVGHEDVLVYRUPYDQHHQNODVVHQGHILQLWLH
2%-(&7(1
toegang class Naam { body }
+HWZRRUGclassLVLQ-DYDHHQJHUHVHUYHHUGZRRUGHQGXLGWKHWEHJLQYDQGHGHILQLWLH
YDQHHQNODVVHDDQ'DDUDFKWHUVWDDWGHQDDPYDQGHNODVVH+HWLVLQ-DYDJHEUXLNHOLMN
RPGHQDDPYDQHHQNODVVHDOWLMGPHWHHQKRRIGOHWWHUWHEHJLQQHQ
'HPRGHHO9
9RRUGHclassVWDDWHHQZRRUGGDWGHWRHJDQJWRWGHNODVVHVSHFLILFHHUW:LMNRPHQKLHU
ODWHULQGH]HSDUDJUDDIRSWHUXJ
7XVVHQtoegangHQclassVWDDQQRJYDDNZRRUGHQDOVstaticabstractRIfinal
'H]HZRRUGHQJHYHQGHNODVVHHHQVSHFLDOHEHWHNHQLVGLHZHKLHUYHUGHUQLHW]XOOHQ
EHVSUHNHQ2RNWXVVHQGHQDDPHQGHOLQNHUDFFRODGHNXQQHQQRJH[WUDDDQGXLGLQJHQ
YRRUNRPHQ
,QGHERG\VWDDQGHGHILQLWLHVYDQGHYHOGHQGHFRQVWUXFWRUHQGHPHWKRGHQ'HYHOGHQ
EHYDWWHQGHHLJHQVFKDSSHQYDQGHREMHFWHQLQGHNODVVH'HPHWKRGHQGHILQLsUHQGH
EHZHUNLQJHQGLHRSGHREMHFWHQNXQQHQZRUGHQWRHJHSDVW'HFRQVWUXFWRULVHHQVSHFLDOH
PHWKRGHGLHGHQDDPYDQGHNODVVH]HOIKHHIW,QGHFRQVWUXFWRULVYDVWJHOHJGZDWHU
PRHWJHEHXUHQELMGHFRQVWUXFWLHYDQHHQQLHXZHLQVWDQWLHYDQGHNODVVH
,03/(0(17$7,(9$1'(./$66(
(HQLPSOHPHQWDWLHYDQGHNODVVH'REEHOVWHHQ]RXHUDOVYROJWXLWNXQQHQ]LHQ
public class Dobbelsteen
{
//velden
private int worp;
//constructor
public Dobbelsteen()
{
}
//methoden
public void dobbel() {
double randomGetal = Math.random();
worp = (int)(6*randomGetal)+1;
}
public int getWorp() {
return worp;
}
}
RSGUDFKW
$OVHHUVWHZRUGWLQGHNODVVHYDVWJHOHJGZHONHJHJHYHQVEHKHHUG]XOOHQZRUGHQ'H
NODVVH'REEHOVWHHQEHYDWppQYHOGworpYDQKHWW\SHint
+HWYROJHQGHRQGHUGHHOYDQGHNODVVHQGHILQLWLHLVHHQFRQVWUXFWRU'HFRQVWUXFWRU]RUJW
YRRUKHWFRQVWUXHUHQYDQHHQREMHFWHQGHLQLWLDOLVDWLHYDQGHYHOGHQ,QRQ]HNODVVH
'REEHOVWHHQLVGHFRQVWUXFWRUOHHJ,QGDWJHYDONULMJHQDOOHYHOGHQHHQVWDQGDDUG
EHJLQZDDUGH9RRUQXPHULHNHYHOGHQLVGDWGHZDDUGH(HQOHJHFRQVWUXFWRUPDJ
ZHJJHODWHQZRUGHQ,QKHWYHUYROJ]XOOHQZLMGDWGRHQ
6WHOGDWMHLQVWDQWLHVYDQDobbelsteen]RXZLOOHQFUHsUHQGLHHHQYHUVFKLOOHQGDDQWDO
RJHQKHEEHQGDQ]RXKHWEHJLQYDQGHNODVVHDOVYROJWJHGHILQLHHUGNXQQHQZRUGHQ
(1,*0$,QIRUPDWLHERHN
public class Dobbelsteen
{
//velden
private int worp;
private int aantalZijden;
//constructor
public Dobbelsteen(int zijden)
aantalZijden = zijden;
}
{
RSGUDFKW
+HWJURRWVWHGHHOYDQGHNODVVHQGHILQLWLHEHVWDDWXLWPHWKRGHQ'HEDVLVYRUPYDQHHQ
PHWKRGHGHILQLWLHLV
toegang resultaattype methodenaam(parameters) { statements }
,QGHNODVVH'REEHOVWHHQVWDDQWZHHPHWKRGHQdobbel()GLHGHGREEHOVWHHQJRRLWHQ
getWorp()GLHKHWUHVXOWDDWYDQGHZRUSRSOHYHUW
'HPRGHHO9
,QIRUPDWLHPRGHOOHULQJ
+(7,1)250$7,(*5$00$7,&$',$*5$0,*'
%LMKHWPRGHOOHUHQYDQKHWLQIRUPDWLHV\VWHHPYRRUGHKHUNDQVLQJHQKHEMHNXQQHQ]LHQ
GDWMHVQHOWHPDNHQKHEWPHWHHQJURRWDDQWDOIHLWW\SHQ2RNDOKHEEHQZHPHWHHQ
UHODWLHIHHQYRXGLJV\VWHHPWHPDNHQ,QGHSUDNWLMNNDQKHWDDQWDOIHLWW\SHQLQGH
KRQGHUGHQORSHQ-HUDDNWGDQDOVQHOKHWRYHU]LFKWNZLMW'DDURPJHEUXLNHQ
LQIRUPDWLHDQDOLVWHQGLDJUDPPHQRPIHLWW\SHQREMHFWW\SHQHQODEHOW\SHQRPKXQ
RQGHUOLQJHVDPHQKDQJZHHUWHJHYHQ
,QIDJRQELHGWGHPRJHOLMNKHLGRPGLDJUDPPHQWHPDNHQ(HQGHUJHOLMNGLDJUDPZRUGW
HHQLQIRUPDWLHJUDPPDWLFDGLDJUDP,*'JHQRHPG
,QHHQ,*'ZRUGWKHWGDWDPRGHOEHVWDDQGHXLWIHLWW\SHQREMHFWW\SHQHQODEHOW\SHQ
JHWHNHQG:HEHNLMNHQDOVYRRUEHHOGGHRSERXZYDQKHWIHLWW\SHWoonplaats
+HWIHLWW\SHWoonplaatsKHHIWUROOHQHQ'HHHUVWHUROZRUGWJHVSHHOGGRRUKHW
REMHFWW\SHLeerlingGHWZHHGHUROGRRUKHWREMHFWW\SHPlaats'LWZRUGWDDQJHJHYHQ
GRRUGHYHUELQGLQJVOLMQHQ'HODEHOW\SHQ]LMQZHHUGRRUHHQYHUELQGLQJVOLMQYHUERQGHQ
PHWGHREMHFWW\SHQ
2PHHQ,*'WHPDNHQPRHWHUHHQ,*'YHQVWHUZRUGHQJHRSHQG
.OLNLQGHNQRSSHQEDONRS1HZ,*'
6HOHFWHHUDOOHEHQRGLJGHRQGHUGHOHQXLWKHW,*YHQVWHU'LWNDQGRRUHHUVWHHQRQGHUGHHO
WHVHOHFWHUHQGH&WUOWRHWVLQJHGUXNWWHKRXGHQYHUYROJHQVDQGHUHRQGHUGHOHQDDQWH
NOLNNHQ6OHHSQXGHJHVHOHFWHHUGHRQGHUGHOHQXLWKHW,*YHQVWHUQDDUKHW,*'YHQVWHU
+HWFDVHWRROERXZWKHWGLDJUDPDXWRPDWLVFKRS
(1,*0$,QIRUPDWLHERHN
+LHURQGHUYROJHQHQNHOHWLSVYRRUGHRSPDDNYDQKHW,*'
• -HNXQWGHHOHPHQWHQIHLWW\SHQREMHFWW\SHQHQODEHOW\SHQDDQNOLNNHQHQ
YHUVOHSHQRPKHW,*'GXLGHOLMNHUHQRYHU]LFKWHOLMNHUWHPDNHQ
• :DQQHHUMHRSHHQOLMQNOLNWYHUVFKLMQWHUHHQNOHLQYODNMHRS+LHUPHHNXQMHGH
OLMQLQGLHQQRGLJRPHHQHOHPHQWOHLGHQ'RRURSKHWYODNMHUHFKWVWHNOLNNHQNULMJ
MHHHQPHQXZDDULQHURQGHUDQGHUHJHNR]HQNDQZRUGHQYRRUKHWZHHUUHFKW
PDNHQYDQGHYHUELQGLQJVOLMQ
• -HNXQWGHUROOHQYDQHHQIHLWW\SHLQHHQGLDJUDPZLVVHOHQ.OLNPHWGH&WUOWRHWV
LQJHGUXNWRSHHQURORPGH]HWHVHOHFWHUHQGHUROZRUGWJURHQ+RXG
YHUYROJHQVGH$OWWRHWVLQJHGUXNWHQYHUVOHHSGHUROQDDUGHSODDWVHUQDDVW
• :DQQHHUMHPHWGHUHFKWHUPXLVNQRSLQKHWYHQVWHUNOLNWNULMJMHHHQVQHOPHQX
'DDUPHHNXQMHGHDIEHHOGLQJFHQWUHUHQDIGUXNNHQWHNVWWRHYRHJHQHWF
/DWHQZHQRJHHQVGHEHODQJULMNVWHJUDILVFKHV\PEROHQGLHJHEUXLNWZRUGHQLQ,*'¶VRS
HHQULMWMH]HWWHQ:HGRHQGDWDDQGHKDQGYDQGHDOHHUGHUEHVSURNHQIHLWW\SHQ
(HQHQNHOHUHFKWKRHNZRUGWJHEUXLNWELM
IHLWW\SHQPHWppQUROXQDLUIHLWW\SH]RDOV
ELMGH]LQ³(ULVHHQNODV+D´
'HUROOHQZRUGHQJHQXPPHUG]RGDW]HWH
YHUELQGHQ]LMQPHWGHIHLWW\SHH[SUHVVLH
7ZHHRIPHHUDDQHHQJHVORWHQUHFKWKRHNHQ
JHYHQHHQIHLWW\SHPHWWZHHRIPHHUUROOHQ
DDQELQDLUWHUQDLUIHLW\SH
,HGHUHUHFKWKRHNVWHOWppQUROYRRU
(HQJHVWLSSHOGHFLUNHOJHHIWHHQODEHOW\SH
DDQ
(HQJHVORWHQFLUNHOURQGHHQIHLWW\SHJHHIW
HHQREMHFWW\SHDDQ
RSGUDFKW
(HQYHUELQGLQJVOLMQWXVVHQHHQUROHQHHQ
REMHFWW\SHJHHIWDDQGDWGHUROJHVSHHOG
ZRUGWGRRUKHWREMHFWW\SH
'HPRGHHO9
&U\SWRJUDILHYDQNODVVLHNQDDUGLJLWDDO
(UZDUHQNUDFKWLJHUPHWKRGHVQRGLJRPEHULFKWHQJHKHLPWHKRXGHQ,Q
RQWZLNNHOGHGH'XLWVHXLWYLQGHU6FKHUELXVHHQPDFKLQHZDDUPHHKLMSUREHHUGHRS
GHVWLMGVPRGHUQHZLM]HFU\SWRJUDILHWHEHGULMYHQ(U]RXGHQPHFKDQLVFKHHQHOHNWULVFKH
RQGHUGHOHQELMJHEUXLNWZRUGHQ,QIHLWHZDVKHWHHQHOHNWULVFKHYHUVLHYDQGH
VFKLMYHQPHWKRGHYDQ$OEHUWL+LMQRHPGHKHWDSSDUDDW(QLJPD(QLJPDEHWHNHQW
³UDDGVHO´HQGDWZDVGH]HPDFKLQHRRNHHQODQJHWLMG
2Q]HPHWKRGHKHHWRRNQLHWYRRUQLHWV(QLJPDMHOHHUWHU
PHQLJGLJLWDDOUDDGVHOPHHGRRUJURQGHQ
1DKHWUDDGVHOYDQ'H9LJHQqUH]RXGHQGHYHUVOHXWHOGH
EHULFKWHQGLHXLWGH]HPDFKLQHNZDPHQQLHWWHNUDNHQ
]LMQ2PGDWGH(QLJPDGHODDWVWHHOHNWULVFKPHFKDQLVFKH
YRRUORSHUZDVYDQGHPRGHUQHGLJLWDOH
HQFU\SWLHWHFKQLHNHQZLOOHQZHMHHHQNRUWHEHKDQGHOLQJ
HUYDQQLHWRQWKRXGHQ
+HWDSSDUDDWEHVWRQGXLWHHQDDQWDOILMQPHFKDQLVFKH
FRPSRQHQWHQGLHLQJHQLHXVWRWHHQJHKHHOZDUHQ
VDPHQJHYRHJG$OVMHKHWDSSDUDDW]R]DJZDVKHWHHQ
LQJHZLNNHOGPHFKDQLVPH]RDOVHHQKDQGJHERXZGKRUORJH
HUYDQELQQHQUDDGVHODFKWLJXLW]LHW+DDOMHKHWHFKWHUXLW
HONDDUHQZHHWMHGHZHUNLQJYDQHONRQGHUGHHOGDQEOLMNW
KHWKHHOORJLVFKLQHONDDUWH]LWWHQ'HEDVLVYRUPYDQKHW
DSSDUDDWYDQ6FKHUELXV]LHDIEHHOGLQJXLWKHW:DU
0XVHXPLQ/RQGHQEHVWRQGXLWGULHHOHPHQWHQGLH
(HQURWRU:HKUPDFKW(QLJPDWH
RQGHUOLQJPHWGUDGHQYHUERQGHQZDUHQ+HWEHVWRQGXLW
]LHQLQKHW,PSHULDO:DU
HHQWRHWVHQERUG
0XVHXP/RQGRQ
RPHHQJHZRQH
ERRGVFKDSLQWH
W\SHQHHQDDQWDOVFUDPEOHUVGLHPRHVWHQGH
LQJHW\SWHOHWWHUQDDUHHQDQGHUHOHWWHU
RP]HWWHQHQHHQGLVSOD\ZDDURSGH
YHUVOHXWHOGHOHWWHUPHWHHQODPSMHYHUOLFKW
ZHUG$DQGHKDQGYDQGHDIEHHOGLQJ6FKHPD
ZHUNLQJ(QLJPDZRUGWGHZHUNLQJYHUGXLGHOLMNW
'HDIEHHOGLQJODDWVFKHPDWLVFKHHQPDFKLQH
]LHQZDDURSPDDUYLHUOHWWHUVJHEUXLNWZRUGHQ
,QZHUNHOLMNKHLG]LMQHUOHWWHUVODPSMHV
HQVWHNNHUVHQKHHIWHONHURWRU
GRRUYHUELQGLQJHQ
9DQHHQEDWWHULMYORHLWGHVWURRPGRRUGH
ZLVVHOVFKDNHODDUGLHEHGLHQGZRUGWGRRUGH
LQJHGUXNWH$WRHWVGHWRHWVEHYLQGW]LFKLQGH
WHNHQLQJRQGHUGHURGHOHWWHU$QDDUKHW
VWHNNHUERUG6WHFNHUEUHWW'LWVWHNNHUERUG
PDDNWKHWPRJHOLMNGHEHGUDGLQJWXVVHQ
WRHWVHQERUGHQGHQLHWGUDDLHQGHYDVWH
LQJDQJVVWDWRU(LQWULWWZDO]HWHZLM]LJHQ
PHWNDEHOWMHV
'((1,*0$0$&+,1(
6FKHPDZHUNLQJ(QLJPD
(1,*0$,QIRUPDWLHERHN
%LMGHOHWWHU$LVQXQLHWVDDQJHVORWHQRSKHWVWHNNHUERUGGXVKLHUYHUDQGHUWQLHWV'H
VWURRPJDDWYHUYROJHQVYDQGHFRQWDFWEXVVHQRSKHWVWHNNHUERUGGRRUGH
LQJDQJVVWDWRUHQGRRUGHGULHVWDSVJHZLMVGUDDLHQGHURWRUV]LHRRNGHDIEHHOGLQJ
5RWRUVYDQGH(QLJPD:DO]HQGLHGHOHWWHUVYHUFLMIHUHQGRRUHONDDUKDOHQYLDKXQ
LQWHUQHEHGUDGLQJRPYHUYROJHQVGRRUGHUHIOHFWRU8PNHKUZDO]HYLDHHQDQGHUH
ZHJWHUXJJHVWXXUGWHZRUGHQGRRUGHURWRUVODQJVKHWVWHNNHUERUG'HVWURRP
DUULYHHUWRSKHWVWHNNHUERUGELMGHOHWWHU6(ULVKLHULQGHWHNHQLQJHHQNDEHOWMH
JHOHJGWXVVHQ6HQ']RGDWGHVWURRPYHUGHUJDDWODQJVGHQLHWLQJHGUXNWHWRHWV'
HQGHJORHLODPS'ODDWEUDQGHQ'H$ZRUGWGXVYHUFLMIHUGDOV'-HNXQWQDJDDQGDWGH
VWURRPELMKHWLQGUXNNHQYDQGH'WRHWVGH]HOIGH
ZHJDIOHJWLQRPJHNHHUGHULFKWLQJHQKHW$
ODPSMHODDWEUDQGHQ'LWLVGHYRRU(QLJPD
W\SLVFKHUHFLSURNHRPNHHUEDUHYHUVOHXWHOLQJ=R
ODQJGH]HQGHUDDQGHRQWYDQJHUEHNHQGNRQ
PDNHQRSZHONHZLM]HGHYHUDQGHUEDUH
RQGHUGHOHQYDQGH(QLJPDLQJHVWHOGZDUHQ
NRQGHQEHLGHERRGVFKDSSHQYHUVOHXWHOHQHQ
RQWFLMIHUHQ'HURWRUVKDGGHQSHUVWXN
OHWWHUWHNHQVGHURWRUVRS]LFKNRQGHQRQGHUOLQJ
YDQSRVLWLHJHZLM]LJGZRUGHQHQKHWVWHNNHUERUG
NRQRRNZHHUSDUHQYDQWZHHOHWWHUVXLW
OHWWHUVPHWHONDDUYHUELQGHQ
URWRUVYDQGH(QLJPD
'H(QLJPDKDGGRRUKHWLQVWHOOHQYDQDOGLH
PRJHOLMNKHGHQ[[[[ §
WLHQGXL]HQGELOMRHQYHUVOHXWHOLQJVPRJHOLMNKHGHQ
+HWLVGXLGHOLMNGDWGHHHUVWHSRJLQJHQRPGHRSJHYDQJHQJHKHLPHERRGVFKDSSHQWH
RQWFLMIHUHQYUXFKWHORRVZDUHQ'H'XLWVHUVKDGGHQGDDUPHHQD:2,KHWPHHVW]HNHUH
FRPPXQLFDWLHV\VWHHPWHUZHUHOG0DDURPGDWGH'XLWVHUVQDKXQQHGHUODDJDOOH]HLOHQ
PRHVWHQELM]HWWHQRPHFRQRPLVFKHUZHHUERYHQRSWHNRPHQYHUZDDUORRVGHQ]LMKXQ
(QLJPDV\VWHHP(QRPGDWGH*HDOOLHHUGHQ]LFKQDGH'XLWVHQHGHUODDJVXSHULHXU
YRHOGHQKDGGHQGH]HRRNZHLQLJEHKRHIWHDDQYHUGHUHRQWZLNNHOLQJYDQ
FRGHHUPHWKRGHV$OOHHQGH3ROHQLQJHNOHPGWXVVHQ5XVODQGPHWFRPPXQLVWLVFKH
H[SDQVLHLGHHsQHQGH'XLWVHUVHURSXLWODQGWHUXJWHNULMJHQYDQ3ROHQKDGGHQGH
EHKRHIWHDDQKHWRQWFLMIHUHQYDQJHKHLPHEHULFKWHQGLH]LMRSYLQJHQ9LD+DQV7LOR
6FKPLGWHHQJHGHVLOOXVLRQHHUGH'XLWVH]DNHQPDQGLHKHW(QLJPDJHKHLPYHUNRFKWDDQ
GH3ROHQHQGH3RRO0DULDQ5HMHZVNLGLHHHQLPLWDWLH(QLJPDPDFKLQHQDXZNHXULJ
EHVWXGHHUGHZHUGGH(QLJPDPHWKRGHJHNUDDNW(UZHUGYRRUKHWYHU]HQGHQYDQHHQ
JHKHLPEHULFKWHHQ]RJHQDDPGHGDJVOHXWHOJHEUXLNWGLHGHURWRUHQVFUDPEOHULQVWHOOLQJ
EHSDDOGH5HMHZVNLEHJUHHSQX]RYHHOYDQGH(QLJPDGDWKLMLQVWDDWZDVWHJHQGH
DYRQGEHULFKWHQWHRQWFLMIHUHQGLHGLH]HOIGHGDJYHUVWXXUGZDUHQ-DUHQODQJNRQGHQGH
3ROHQ]RDOOHJHKHLPHEHULFKWHQYDQGH'XLWVHUV
RQWFLMIHUHQ0DDULQEUHLGGHQGH'XLWVHUV
GH(QLJPDPDFKLQHXLWPHWH[WUDURWRUV
ZDDUGRRUKHWDDQWDOPRJHOLMNKHGHQHQRUP
WRHQDP5HMHZVNLKDGKHWQDNLMNHQ
(HQYDQGHQDJHERXZGH(QLJPDPDFKLQHVZHUG
LQVHSWHPEHUQDDU%OHWFKOH\3DUNELM
/RQGHQJHVPRNNHOGZDDU$ODQ7XULQJHUPHHLQ
DDQUDNLQJNZDP%OHWFKOH\3DUNZDVGH
VXSHUJHKHLPHSOHNYDQGH%ULWVH
,QOLFKWLQJHQGLHQVWZDDUHHQWHDPVSHFLDOLVWHQ
]LFKEH]LJKLHOGPHWKHWRQWFLMIHUHQYDQJHKHLPH
ERRGVFKDSSHQ
%OHWFKOH\3DUNELM/RQGHQGH]HHUJHKHLPH
SOHNZDDURRUORJVEHULFKWHQZHUGHQ
RQWFLMIHUG
'HPRGHHO9
$UWLILFLDO,QWHOOLJHQFH
/(602'8/(352&('85(6
,QGH]HOHVPRGXOHJDMHVWDSYRRUVWDSHHQYROOHGLJPRGHOERXZHQ
$*(176$*(17(1(1352&('85(6
,QGHWZHHGHPRGXOHKHEMHJHOHHUGKRHMHKHWFRPPDQGRFHQWUXPHQGHPRQLWRUHQNRQ
JHEUXLNHQRPGHDJHQWVWHYHUDQGHUHQHQGLQJHQWHODWHQGRHQ1XEHJLQWKHWHFKWH
ZHUNGHNQRSSURFHGXUHVLQKHW7DEVPHQX
-HKHEWDORSGUDFKWHQJHJHYHQDDQYHUVFKLOOHQGHW\SHVDJHQWVSDWFKHVWXUWOHVHQ
REVHUYHU3DWFKHVNXQQHQQLHWEHZHJHQHQ]LMQJHUDQJVFKLNWLQHHQWZHHGLPHQVLRQDDO
YODN7XUWOHVEHZHJHQRYHUGDWYODN'H2EVHUYHUEHNLMNWZDWHUJHEHXUWHQNDQ]RZHOGH
SDWFKHVDOVWXUWOHVDDQVWXUHQ
$OOHGULHVRRUWHQDJHQWVNXQQHQRSGUDFKWHQRIFRPPDQGR
VJHYHQ=HNXQQHQDOOHGULH
SURFHGXUHVXLWYRHUHQ(HQSURFHGXUHLVHHQYHU]DPHOLQJFRPPDQGR
VLQHHQQLHXZ
FRPPDQGRGDWHHQHLJHQQDDPNULMJW-LM]HOIYHU]LQWGLHQDDP
-H]XOWOHUHQKRHMHSURFHGXUHVVFKULMIWGLHHUYRRU]RUJHQGDWWXUWOHVHWHQ]LFK
YRRUWSODQWHQHQVWHUYHQ-H]XOWRRNOHUHQKRHMHPRQLWRUHQVFKXLIEDONHQHQJUDILHNHQ
PDDNW+HWPRGHOGDWZHJDDQERXZHQLVHHQVLPSHOHFRV\VWHHPGDWYHHOZHJKHHIWYDQ
KHWYRRUEHHOGYDQGHZROYHQHQGHVFKDSHQHQKHWJUDVXLWGHHHUVWHPRGXOH
+(70$.(19$1'(6(783.123
.OLNRS1HZLQKHW)LOH0HQX
.OLNRSGH%XWWRQNQRSYDQKHWPHQX
.OLNRSGHSODDWVZDDUMHGHNQRSZLOWKHEEHQ
(UYHUVFKLMQWHHQSRSXSVFKHUPZDDULQMHNXQWDDQJHYHQZHONHWHNVWHURSGHNQRSPRHW
VWDDQ
7\SVHWXSLQKHWYHQVWHUZDDUFRPPDQGVERYHQVWDDW
.OLNRS2.]RGDWKHWSRSXSYHQVWHUVOXLWHQGHUDQGURQGGHNQRSYHUGZLMQW
'UXNPHWGHUHFKWHUPXLVNQRSRSGHNQRSHQNLHVVHOHFW(UYHUVFKLMQWRSQLHXZHHQUDQG
URQGGHNQRS1XNXQMHKHPYHUSODDWVHQDOVMHGDWZLOW
.OLNQDDVWGHNQRSHQGHUDQGYHUGZLMQWZHHU
(1,*0$,QIRUPDWLHERHN
1XKHEMHHHQNQRSZDDUPHHKHWPRGHOGHZDDUGHQNDQLQVWHOOHQ2PGDWHUQRJJHHQ
VHULHFRPPDQGR
VLVJHVFKUHYHQZDDUPHHGDWJHEHXUWLVGHWHNVWRSGHNQRSURRG$OV
MHRSGHNQRSGUXNWYHUVFKLMQWHUHHQVFKHUPGDWMHSUHFLHVYHUWHOWZDDURPGHWHNVWURRG
LVHUPRHWHHQSURFHGXUHZRUGHQJHVFKUHYHQPHWHHQQDDPGLHFRUUHVSRQGHHUWPHWGH
WHNVWRSGHNQRS
.OLNRSGHNQRS3URFHGXUHVLQKHW7DEVPHQX
7\SGHYROJHQGHWHNVWHQKRXGMHDDQGHOD\RXW
to setup
clear-all
create-turtles 100
ask turtles [setxy random-xcor random-ycor]
end
.OLNRS,QWHUIDFHHQRSGHVHWXSNQRS
-HKHEWQXHHQSURFHGXUHJHVFKUHYHQPHWGHQDDPVHWXS'HQDDPHQGHFRPPDQGR
V
YDQGHSURFHGXUHZRUGWYRRUDIJHJDDQGRRUWRHQDIJHVORWHQPHWHQG
(U]LMQGULHFRPPDQGR
V
• clear-allPDDNWGHZHUHOGYDQKHWPRGHOKHOHPDDOVFKRRQPDDNWGHSDWFKHV]ZDUW
HQYHUZLMGHUWHYHQWXHOHWXUWOHV
• create-turtles 100PDDNWWXUWOHVHQ]HW]HLQKHW
PLGGHQYDQKHWYHOG
• ask turtles [setxy random-xcor random-ycor]EHYDW
HLJHQOLMNFRPPDQGR
VDVNLVHHQRSGUDFKWYDQGHREVHUYHU
RPGHWXUWOHVLHWVWHODWHQGRHQ:DWGHWXUWOHVPRHWHQGRHQ
VWDDWWXVVHQGHYLHUNDQWHKDNHQ=HPRHWHQHHQUDQGRP
SOHNLQQHPHQLQKHWYODN
(HQUDQGRPSOHNLVHHQSDWFKPHWHHQUDQGRP[FR|UGLQDDW
HQHHQUDQGRP\FR|UGLQDDW+HWUDQGRPJHWDOYRRUGH
FR|UGLQDWHQZRUGWJHPDDNWGRRUHHQUHSRUWHU
'HUHSRUWHUUDQGRP[FRUUDSSRUWHHUWGHUDQGRPZDDUGHYRRUGH[FR|UGLQDDWYDQGH
WXUWOHHQKRXGWUHNHQLQJPHWGHWRHJHVWDQHZDDUGHQ]RGDWGHWXUWOHQLHWEXLWHQKHW
YODNNDQORSHQ'HUDQGRP\FRUGRHWGDWYRRUGH\FR|UGLQDDW-H]XOWODWHULQGH]H
PRGXOHEHWHUEHJULMSHQZDWHHQUHSRUWHULV
:DWKHWHIIHFWLVYDQGHFRPPDQGR
V]LHMHDOVMHRSGHVHWXSNQRSGUXNW'UXNHHQSDDU
NHHURSGHNQRSHQMH]XOW]LHQGDWGHVWDUWSRVLWLHYDQGHSDWFKHVHONHNHHUDQGHUVLV
-HKHEWZDDUVFKLMQOLMNDOJHUDGHQGDWQXGHSURFHGXUHYRRUGHJRNQRSDDQGHEHXUWLV
'HPRGHHO9
+HWYDNJHELHGLQIRUPDWLFD
,QIRUPDWLFDLVRRNHHQZHWHQVFKDS2SKHWJHELHGYDQGHLQIRUPDWLFDZRUGWZHUHOGZLMG
ZHWHQVFKDSSHOLMNRQGHU]RHNJHGDDQDDQXQLYHUVLWHLWHQHQLQRQGHU]RHNVODERUDWRULDYDQ
VRPPLJHJURWHEHGULMYHQ0DDUZDWGRHQGLHRQGHU]RHNHUVHLJHQOLMN"'HPHHVWHPHQVHQ
KHEEHQGDDUJHHQJRHGEHHOGYDQ=HZHWHQZHOGDWRQGHU]RHNHUVQLHXZH
FRPSXWHUWRHSDVVLQJHQEHGHQNHQHQ
GHFRPSXWHU
VWHHGVVQHOOHUHQ
VWHHGVNOHLQHUPDNHQPDDUGDDUPHHKRXGWKHWZHO]R
QEHHWMHRS
,V:RUGYDQ0LFURVRIWKHWUHVXOWDDWYDQZHWHQVFKDSSHOLMN
RQGHU]RHN",VLQWHUQHWHHQXLWYLQGLQJHHQZHWHQVFKDSSHOLMNH
RQWGHNNLQJRIHHQIDVHLQHHQJHOHLGHOLMNHRQWZLNNHOLQJ"+HW
DQWZRRUGRS]XONHYUDJHQ]DOPHHVWDO]LMQ³'DWKDQJWHUPDDU
YDQDIKRHMHKHWEHNLMNW´:RUGHQLQWHUQHW]LMQRS]LFK]HOI
JHHQZHWHQVFKDSSHOLMNHRQWGHNNLQJHQ:RUGLVJHZRRQHHQ
FRPPHUFLHHOSURGXFWHQLQWHUQHWLVJHOHLGHOLMNRQWZLNNHOG
HQXLWJHERXZG%HLGH]LMQZHOJHEDVHHUGRS
ZHWHQVFKDSSHOLMNHRQWGHNNLQJHQRIXLWYLQGLQJHQ
RSGUDFKW
'LWKRRIGVWXNJHHIWHHQVFKHWVYDQGHLQIRUPDWLFDDOVZHWHQVFKDSHQ
HQNHOHYRRUEHHOGHQYDQRQGHU]RHNVYUDJHQ,QKHWHHUVWHGHHOYDQGLWKRRIGVWXN
LVHURRNDOLHWVRYHUJH]HJGHQGDDUJDDQZHQXZDWFRQFUHWHURSLQ'LWKRRIGVWXNZLOLQ
GHHHUVWHSODDWVKHOSHQELMKHWPDNHQYDQHHQNHX]HYRRURIMXLVWWHJHQHHQ
XQLYHUVLWDLUHVWXGLHLQIRUPDWLFD'HXQLYHUVLWHLWELHGWZHOLVZDDURRNHHQµEHURHSVRSOHLGLQJ
RSDFDGHPLVFKQLYHDX¶PDDUHHQRSOHLGLQJWRWZHWHQVFKDSSHOLMNRQGHU]RHNHUYLQGMH
DOOppQDDQGHXQLYHUVLWHLW
,QIRUPDWLFDRQGHU]RHNEHVWXGHHUWGH
ZLVNXQGLJHJURQGVODJHQWKHRULHHQGH
SUDNWLVFKHDVSHFWHQYDQKDUGZDUH
FRPSXWHUVHQVRIWZDUHSURJUDPPD
V
HQJHJHYHQV'HUHODWLHPHQV
RUJDQLVDWLHLQIRUPDWLHWHFKQRORJLH
RQWZLNNHOW]LFKWRWHHQHLJHQGHHOJHELHG
2PUHVXOWDWHQYDQQXORSHQGRQGHU]RHN
JRHGWHEHJULMSHQ]RXMHPRHWHQ
EHVFKLNNHQRYHUYULMJHVSHFLDOLVHHUGH
NHQQLV'DDURPJHYHQZHHQNHOH
YRRUEHHOGHQYDQDOYHHOHHUGHUEHKDDOGHUHVXOWDWHQHQYDQHQNHOHYUDDJVWHOOLQJHQLQ
PRGHUQRQGHU]RHN:HGRHQGDWDDQGHKDQGYDQYHUVFKLOOHQGHRQGHU]RHNVJHELHGHQYDQ
GHLQIRUPDWLFD
RSGUDFKW±
,1)250$7,&$$/6:(7(16&+$3
(1,*0$,QIRUPDWLHERHN
7(&+1,6&+(&20387(5.81'(
(pQYDQGHRXGVWHRQGHU]RHNVJHELHGHQLVGDWYDQKHWORJLVFKRQWZHUSGH
DUFKLWHFWXXU
YDQFRPSXWHUV:DWLVHHQQXWWLJHVHWLQVWUXFWLHVYRRUHHQ&38"-HNXQWELMYRRUEHHOG
UHNHQLQJKRXGHQPHWSRSXODLUHDSSOLFDWLHVGHQNDDQGHPXOWLPHGLDDDQYXOOLQJHQYDQ
3HQWLXPVRISUREHUHQPRGHUQHSURJUDPPHHUWDOHQRSWLPDDOWHRQGHUVWHXQHQ]RGDW
ELMYRRUEHHOGPHWKRGHDDQURHSHQKHHOZHLQLJWLMGNRVWHQ3URFHVVRUHQZRUGHQYHUVQHOG
GRRUVWHHGVVXEWLHOHUHFDFKHWHFKQLHNHQ'HLQVWUXFWLHF\FOXVNDQZRUGHQRSJHYRHUGGRRU
SLSHOLQLQJZDDUELMHHQLQVWUXFWLHZRUGWRSJHKDDOGYRRUGDWGHYRULJHLVDIJHORSHQ,Q
PRGHUQHSURFHVVRUHQ]LWWHQHUVRPVZHOLQVWUXFWLHVLQGHSLMSOLMQ
(HQ
NDOH
FRPSXWHULV]RQGHU
lopende band
HHQEHVWXULQJVV\VWHHPHHQ
WDPHOLMNRQEUXLNEDDUGLQJ
‘CMP R0, #12’
‘ADD R0, #1’
‘LOAD R0, 1234’
%HVWXULQJVV\VWHPHQ]LWWHQ]y
GLFKWRSGHKDUGZDUHGDWPHQ
ZHOVSUHHNWYDQ
KDUGH
OPHALEN
ANALYSEREN
UITVOEREN
INSTRUCTIE
INSTRUCTIE
INSTRUCTIE
VRIWZDUH
RI
ILUPZDUH
&HQWUDOH
RQGHU]RHNVYUDJHQ]LMQKLHURI
KHWV\VWHHPFRUUHFWLVGRHW
GEHEUGEN
KHWZDWKHWPRHWGRHQ"HQ
EHWURXZEDDUGRHWKHWQLHWZDW
KHWQLHWPRHWGRHQ"%RYHQGLHQLVGHHIILFLsQWLHYDQJURRWEHODQJGRHWKHWZDWKHW
PRHWGRHQ]RVQHOHQHIILFLsQWPRJHOLMN"'LW]LMQRYHULJHQVGULHIXQGDPHQWHOH
YUDDJVWHOOLQJHQGLHLQYULMZHODOKHWLQIRUPDWLFDRQGHU]RHNHHQUROVSHOHQ
RSGUDFKW
'HPHHVWHEHVWXULQJVV\VWHPHQZHUNHQDOVHHQVDPHQVSHOYDQYHOHPLQRIPHHU
]HOIVWDQGLJHSURFHVVHQ2SHONPRPHQWLVHUKRRJVWHQVppQSURFHVDFWLHI1DYHUORRS
YDQWLMGZRUGWKHWLQDFWLHIGRRUGDWKHWPRHWZDFKWHQRSLQYRHUYDQHHQDSSDUDDWRIRS
JHJHYHQVYDQHHQDQGHUSURFHVRIRPGDWKHWQXDOODQJJHQRHJDFWLHILV±HQSDNZHJ
VHFLVDOHHQIOLQNHWLMG'DQZRUGWHHQDQGHUSURFHVJHDFWLYHHUG'RRUGHHQRUPH
VQHOKHLGYDQSURFHVVRUHQOLMNWKHWRIDOOHSURFHVVHQWHJHOLMNEH]LJ]LMQ'LWZRUGWSDUDOOHO
ZHUNLQJPXOWLSURJUDPPHULQJPXOWLWDVNLQJRIWKUHDGLQJJHQRHPG.LMNYRRUGH]HEHJULS
SHQQRJHHQVLQKHWKRRIGVWXNRYHUEHVWXULQJVV\VWHPHQ2PGDWGHSURFHVVHQRRNRQGHU
OLQJLQIRUPDWLHXLWZLVVHOHQ]LMQGHFRUUHFWKHLGHQEHWURXZEDDUKHLGYDQ]XONHV\VWHPHQ
ELM]RQGHUODVWLJYDVWWHVWHOOHQ
3URFHVVHQGLHLQGHZDFKWJH]HW]LMQNXQQHQQDYHUORRS
YDQWLMGZHHUYHUGHUELMYRRUEHHOG]RGUDGHLQYRHUELQQHQ
LV$OVGHSURFHVVRUEH]HWLVGRRUHHQDQGHUSURFHVNRPHQ
]HLQHHQZDFKWULM.RPWGHSURFHVVRUYULMGDQLVGHYUDDJ
ZHONSURFHVDDQGHEHXUWLV+HWODQJVWZDFKWHQGHSURFHV"
(HQSURFHVGDWGHSURFHVVRUZDDUVFKLMQOLMNPDDUKHHOHYHQ
QRGLJKHHIW"+HWSURFHVYDQGHEHVWEHWDOHQGHNODQW"(HQ
SURFHVGDWHHQWLMGNULWLVFKDSSDUDDWEHVWXXUW"+HWEHSDOHQ
YDQGH]HNHX]HKHHWVFKHGXOLQJHQLVHHQNODVVLHNH
RQGHU]RHNVYUDDJZDDUELMYDQ]HOIVSUHNHQGGHZLVNXQGLJH
ZDFKWWLMGWKHRULHHHQEHODQJULMNHUROVSHHOW(HQJRHGH
VFKHGXOLQJNDQGHWRWDOHSUHVWDWLHVYDQKHWV\VWHHPVWHUN
EHYRUGHUHQ
RSGUDFKW
'HPRGHHO9
6RPPLJHFRPSXWHUVEHYDWWHQPHHUGDQppQSURFHVVRUPHWHHQJH]DPHQOLMNJHKHXJHQ
=R
QFRPSXWHUKHHWHHQWLJKWO\FRXSOHGPXOWLSURFHVVLQJV\VWHP+HWVSUHHNWYDQ]HOIGDW
GHVFKHGXOLQJGDQQRJODVWLJHUZRUGW$OVKHWJDDWRP]HHUYHHOSURFHVVRUHQVSUHHNW
PHQYDQPDVVLYHSDUDOOHOOLVP2SGLWJHELHGZRUGW]HHUYHHORQGHU]RHNJHGDDQ+HWJDDW
HUYRRUDORPGHYHOHSURFHVVRUHQHIILFLsQWPHWHONDDUWHODWHQFRPPXQLFHUHQ
+HWNDQRRN]LMQGDWKHWJHKHXJHQQLHWJHPHHQVFKDSSHOLMNLV+HWV\VWHHPLVGDQORRVHO\
FRXSOHG(LJHQOLMNLVKHWLQGDWJHYDOHHQQHWZHUNPHWJHPHHQVFKDSSHOLMNH
DFKWHUJURQGJHKHXJHQVHQUDQGDSSDUDWHQ'HSURFHVVRUHQNXQQHQRRNYDQYHUVFKLOOHQG
W\SH]LMQ'DQVSUHHNWPHQYDQHHQJHGLVWULEXHHUGV\VWHHP,QWHUQHWLVKHWPHHVW
H[WUHPHYRRUEHHOG
,QHHQWLJKWO\FRXSOHGV\VWHP]DOHULQSULQFLSHQRJppQSURFHVGHEDDV]LMQ'LWSURFHV
]DORRNGHVFKHGXOLQJYHU]RUJHQ(HQW\SLVFKHRQGHU]RHNVYUDDJLV]RXKHWRRN
GHPRFUDWLVFKNXQQHQ"'DWOLMNWLQHONJHYDOZHOQRGLJLQJHGLVWULEXHHUGHV\VWHPHQHQ
]HNHULQQHWZHUNHQ(ULVGDQJHHQVSUDNHPHHUYDQVFKHGXOLQJPDDUYDQDXWRQRPH
SURFHVVHQGLHFRPPXQLFHUHQGRRUPLGGHOYDQSURWRFROOHQ
RSGUDFKW±
! "#$%
%%
&$'(
! )#*+
, '
, -
+'
, .+'
/ *++
0 122 0 1223
+
122
)+
%
%%
%%%
&$'(
4 5
+
4 *6+
4 5
4 7+ %
+
+
55
55('88
55928
! $55
*%
, -(+
55*
"
*+
#8
5517
! 1+5538
, *%#+
/ %*+55
0 :;
<%%
&
+'%
!
!
!
,
/
4
!
,
,
/
0
!
,
,
,
0
0
!
!
!
!!
! (1,*0$#*%
4 *%8+855
4 #3
4 :#3+
4 #83
4! :$+3+
4, :$8
$%
55
$%+8
7855
78+
78
%$
*
#8*
! );
! (';
! ;3
! );+#3+
!! :;
!, );#8
*%
$
*
, 55*
, **55;2=
, :#8;>+?88@A
, :#8;>+?+8?*@A
,! :#8;>+?>;@A
,, :#8;>+?#8?;@A
,/ 33>;
,0 :*#*+
, $%*++
/ &+#+
55
0 "3+55
255
%
! 78++*'
, "
*+
5'88
"#$
%
&
'&#
+
B*>8
)*++
8
:8
! :
! ! -*
! &%
!! .(
!, -$'
!!
!!
!,
!/
!/
!/
!0
,4
,
,
,!
,/
,0
,0
,
, , /4
/4
/4
/
/
/
/
/0
04
0
0
0!
0,
0,
0,
0,
0/
0/
00
0
4
!
/
0
!
)*
)
!
,
/
0
+
*
3838
$8C+;#
:+;#
$8C$#
! +*+$
! 8'+
*%#+
! #++
!! "+
%++#8
, :*%%+
, +%%+@A$+''
, :++%
$8C+$
/ +*+$C
/ +'%8$%+
/ "+8
/! *'++>%+
/, "8D%
// +
18+
("+
,'
'
!
,
2#$"
:$+
)
"
"
8++
:8
"
:+C.%
! :+;
, '8+
/ +
*%
#8+$
>8
88$
+E
, +
, , -+
-"'
&"
<*88+
9
%9"
(
!
,
44
44
4
4
4
4!
4!
4,
4/
40
40
40
4
4
4 4 4
!
!
,
/
0
0
4
!
/
- !
'<1
+++<1
:%+2%+<1
2C%+8<1
! -*'8
F
<1
, -
*'<1
'
! +++
! :%+2%+
! 2C%+8
!! -*'8
F
!, -
*'
.#"'+
!
,
(1,*0$#*%
+
.8
&*+8#+#*
&#+%++
&*%%% $
! 4$
)+
:++
:8++
:(++
;
#8%
2F
D
! "
! :;
! 58;
! +C;
1+#8+
! ;+
! G#
! 2%#
!! -+#
!! ;+;
!! 58+;
!! -;+;
!, 1+#8+
!, :8+#8*
!, :8+#8&6
!/ )8+#8;
H+#+;%
, G
, "
+;$%%+
, -F#
, 28%
, :
+
,! G$%
!
!
!0
!0
,4
,
,0
/4
/,
/,
/,
//
/
04
0
0
0
0,
0/
00
0
0 0 0 4
!
!
/
/
/
0
4
4
!
!
!"
!
"
#$"%
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>...</title>
</head>
<body>
<!-- Op deze plaats komt alle code te staan. -->
</body>
</html>
&
"
"
"
"
%
'
"(
! $"
" )$"
" %
!
*
"
%
&
#
%
<h1>Dit is de hoofdkop.</h1>
<h4>Dit is een minder belangrijke kop.</h4>
"
+(
!
(
"
$"%
<p>Dit is een alinea.</p>
<p>Dit is een tweede alinea.</p>
!
"
"
"%
,
" " $"%
-
"
!
".
<br />%
Dit is regel 1.<br />
Dit is regel 2.
!"
"
#
!"
$%
!
&
!
!$
!
"%
'
(
"
"
)
"
!"
*
"
+
,
+
"
,
" '
(
!
$
!
-
"
!
+
!
%
h1 { color: orange }
$
+
!
!
<h1>De titel</h1>
<p>Met een <a href="pagina2.html" title="Volgende pagina">link</a>
naar de volgende pagina.</p>
.
!
+
!
+
!
%
/
h1 { color: orange; text-decoration: underline }
p { background-color: gray }
<h1>De titel</h1>
<p>Met een <a href="pagina2.html title="Volgende pagina">link</a>
naar de volgende pagina.</p>
!"#$$
!
"
#
$!
:link
:visited
:hover
:active
Verwijzingen die nog niet bezocht zijn
Bezochte verwijzingen
Verwijzingen waar met de muis overheen gegaan wordt
Verwijzingen waarop geklikt wordt, maar die niet worden losgelaten
Twee voorbeelden van hoe je verwijzingen kunt opmaken. Het eerste voorbeeld:
a { color: red; text-decoration: underline }
a:visited { color: orange }
a:hover { text-decoration: none }
<a href="#">Dit is een standaardverwijzing.</a>
#%
.link { background-color: yellow; text-decoration: none; color: green }
.link:hover { background-color: none }
<a href="#" class="link">Verwijzing van de class 'link'.</a>
%&
$ $$'$$
&
#
# '
#(
#)
)
*
#
!
+
#
#
# !
&
*
)
#
!
Hoofdstuk 2
2
Interactieve websites met PHP en MySQL
33
Interactieve websites met PHP en MySQL
1 INLEIDING
1.1 WAT IS PHP?
PHP is een server-side scripting taal.
PHP stond oorspronkelijk voor "Personal Home Page" tools: ontworpen door Rasmus
Lerdorf in 1994 en vrij ter beschikking gesteld op Internet.
Sindsdien is het door vele programmeurs omarmd en ontwikkeld waardoor het een
krachtige en betrouwbare ontwikkelomgeving is geworden die nog steeds vrij te
gebruiken is.
In PHP zijn veel elementen van andere programmeertalen geleend, zoals C en Perl. Maar
het is ook zo ontworpen dat het eenvoudig in het gebruik is.
De belangrijkste informatiebron voor PHP vind je op Internet op het volgende adres:
www.php.net
Websites die gebruik maken van PHP hebben vaak dit logo:
1.2 PHP EN ZIJN CONCURRENTEN
PHP is een van de "grote drie" server-side scripting talen. De andere zijn:
ASP: Active Server Pages, ontwikkeld door Microsoft en alleen maar beschikbaar op het
Windows platform.
JSP: Java Server Pages, ontwikkeld door Sun en alleen maar te gebruiken in combinatie
met een Java Web Server.
De belangrijkste voordelen van PHP boven de andere twee zijn:
x Vrij: PHP is gratis te gebruiken
x Platformonafhankelijk: is niet beperkt tot een enkel besturingssysteem of webserver
x Krachtig: PHP heeft uitstekende faciliteiten om te kunnen samenwerken met
databases, grafische bestanden, XML en PDF.
1.3 PHP VERSUS JAVASCRIPT
De fundamentele verschillen tussen PHP en JavaScript zijn:
JavaScript
x Is een cliënt-side scripting taal; d.w.z. dat het script in de browser van je eigen
computer wordt uitgevoerd
x Statements worden door de webbrowser gerund
x Scripts worden normaliter gerund na een event
x De pagina kan gewijzigd worden na het tonen van de pagina.
36
ENIGMA
Informatieboek
Je moet je pagina’s online bekijken of offline als je een webserver op je machine hebt
staan met ondersteuning van PHP. Alleen dan kan de code geparsed worden. Onder
parsen van PHP code verstaan we het omzetten van de code naar HTML.
Start de browser. Typ op de adresbalk de juiste URL. Druk op Enter. Je krijgt dan een
pagina te zien die er ongeveer zo uitziet:
Als je kijkt naar de broncode van deze getoonde webpagina dan ziet die er als volgt uit:
De PHP code is verdwenen en vervangen door tekst die door het script is gegenereerd.
Dat is gebeurd tijdens het runnen van het script op de webserver. Onthoud goed: je mag
nooit PHP code in de broncode van een webpagina aantreffen. Als dat wel het geval is
heb je ergens een fout gemaakt in het script of is het bestand als .txt opgeslagen.
Om het bekijken van bestanden gemakkelijker te maken kun je in plaats van iedere keer
de volledige URL in te typen ook een map in de htdocs map van je XAMPP aanmaken
waarin je je scripts plaatst die je wilt testen. Voor deze module is op de lokale server
een map PHP-Enigma aangemaakt. Let op! Je moet er wel op letten dat de meeste
internetservers hoofdlettergevoelig zijn. Als je nu in de browser localhost/PHPEnigma intypt, krijg je iets te zien dat er ongeveer zo uitziet (zorg dat er geen
index.html of index.php in de map PHP-Enigma staat):
Hoofdstuk 2
45
Interactieve websites met PHP en MySQL
Plaats echter geen puntkomma na het sluithaakje van de voorwaarde en ook niet na de
else. De regels die hier gelden zijn ook van toepassing op de for-loop, de while-loop
en de switch.
2.10.2 DE FOR-LOOP
Voorbeeld van een for-loop:
Enkelvoudig statement (for)
for( initialisatie; test; ophoging/verlaging)
Statement;
Meervoudige statements (for)
for( initialisatie; test; ophoging/verlaging) {
Statement;
Statement;
etc.
}
$namen = array("Marja","Hans","Ronald","René","Louis","Piet");
Wil je nu alle namen uit de array in één keer onder elkaar in een genummerde lijst in een
webpagina plaatsen, kun je de volgende gebruiken:
<html>
<head>
<title>Weergeven van namen met een for-loop</title>
</head>
<body>
<?php
/* Deze loop zal alle namen van de array
elkaar op het scherm zetten. */
in een genummerde lijst onder
$namen = array("Marja","Hans","Ronald","René","Louis","Piet");
print("In de array zitten de volgende namen:<br>");
print("<ol>");
for($i = 0; $i < count($namen); $i++)
print ( "<li><h4>$namen[$i]</h4></li>" );
print("</ol>");
?>
</body>
</html>
Als je het script uitvoert, krijg je het volgende te zien:
(1,*0$
!
"
#
$
%&
'(()#
$
*&+
,
-. //
+
$
!
0
&
*
1.#
1
1
*
+
.
2
"
(1,*0$
!
"#
!
$
!
!
%
&
'
7
$
%
)+89 "
()#
*
&
!+
"!!
#
,
!
-
&.
!
!
!
"
#
/
!0
!+
&"
#
1
&
)2$3
&
4
!
/
*
!
!
,
*!!
&
)&"
&&
&#
55
2
!
/
!6
!"#$#$%
!
"
#$
$ %$
&
$
$
'
$
(
)
#
*+%
#
$
(
)
&% &%
$
,
-
$
#
#
$
.
/
#
$
&%
$
$ #
0
$
.
/1
.
1
/
2
#
$
&%
$
#
0
.
/1
.
)
1
/
$
3
$
$
$
)
• 0$
$
$
$
$
$
• '
$
$
• 4
0
$
$
!
!
!
"
#
!
$
#
!
!
!
!
#
!
%
#
!
$
!
!
!
!
#
&
!
!
''
!
(
!
)***
(
+
"
,
!
!
!
(
!
!
+
!
#
##
4'
'
5
'
#'
#
1
!
$
-'
#
6
'
'
#
(
'
'
boolean isPriem (int getal) {
for (int deler = 2; deler < getal; deler++) {
if (getal % deler == 0)
return false;
}
return true;
}
!
"
# $
% #&
!
$'
#
(
)*
true'
)) false'
+
,
true
)
-
.'
/01
22
2/
2
3
#
#
'
#
&
1
7
#
'
/
-8
#
#'
#
%
"**0
-
%
9
,
%
'
/
'
:#4
#
#
#
#
•
(1,*0$
• • !"#
• • • $
"
#
• %
&'
(
&'
&')"&')
#
!"#$!%&#
'&#!( )*
!
"
#
$
"
%
$
% #&
'(
&
"
#
• )
*
#
+
&
,
&
-
.
-
.
• /+
/
"
&
+
,
+
&
- !
"#!
$.
- %
&&&'.
• 0
1
&
+
,
&
-
'(()
*
.
- +'(()
*
.
1
+
$
% *
-.
+
+ !) ,%) - #!.&$- #!
&
(+
#
#
&
#
(
• &
22
- *
,.
• & 3
&
+
"#$"%"#&
WXSRV
JUDSKHLQ
!"
#
$
$
$
$
$
$
"$ $
$$
%
$
$ &
%
%$
'
%
%
"
%$
$ !
$
"
$
'&$()*"$%$#"(
'+,-#.$$%()*/"#--/*$--.$
$
$
"
$ &
"
$
$
(
#
$
"
" )
*+
$"
$$
""
"
!
)
"
"$
%
$,
$-
.$
#
"
"$
"
%
$ )
/$
0
%
$$
1$$
$
%
"
)
%
$
$
%
$
$ 2$
#
$
!
%$
$
$$
$ 3
$"
$
(
4
56
$
" !
(
#
"
!
$
#
7$
$
'
4"
#
$
"#
$
$ 8/
%
#
%$
$" 9
#
""$
*2$
4+
$
9
:
!"#$%&'()*+(,&-'!
(1,*0$
!!
"
#
! $
%
"
$
"
"
"
$
!
&'&(&)'*+'+(*),''-'* "
!!&'
./ &
&-'*"
"
!
0"
% $
!!-&'--
$
!
!
"-&''1
$
!
&)1
&)+
Download