Java les 1 2021

Programmeren in Java/Python
1 / 33
volgende
Slide 1: Tekstslide
InformaticaMiddelbare schoolhavo, vwoLeerjaar 4

In deze les zitten 33 slides, met interactieve quizzen, tekstslides en 1 video.

time-iconLesduur is: 50 min

Onderdelen in deze les

Programmeren in Java/Python

Slide 1 - Tekstslide

  • Doolhof
  • Java
  • De bouwstenen van een programma
  • soorten fouten
  • soorten programmeertalen

Slide 2 - Tekstslide

Het doolhof
In de jaren 80 van de vorige eeuw was er op tv een spelshow.

De speler die door het doolhof moet, ziet alleen een blauw vlak. Zijn medespeler geeft instructies. Dit wordt net zo gegeven als dat je een programma schrijft. De lijnen mogen niet aangeraakt worden. 

Slide 3 - Tekstslide

Slide 4 - Video

Java
Met een programmeertaal schrijf je programma's die je door een computer laat uitvoeren. Java is een van de vele honderden programmeertalen die er bestaan. Veel programma's werken maar op een beperkt aantal computersystemen en vaak werkt hetzelfde programma op verschillende systemen verschillend. De Java-taal is een slimme taal.

Slide 5 - Tekstslide

De Java-programma's kun je namelijk wél op bijna elk computersysteem laten werken. En daarbij maakt het niet uit welk computersysteem je gebruikt, want het programma werkt op elk computersysteem (bijna) hetzelfde.

Dit noem je platformonafhankelijk ('platform' is een ander woord voor 'computersysteem')

Slide 6 - Tekstslide

Er zijn veel hulpprogramma's te krijgen om met Java te werken en om speciale dingen te kunnen programmeren.
Een bijzonderheid van Java is dat je er gemakkelijk een programma mee kunt schrijven dat deel uitmaakt van een webpagina, waardoor je je programma via het internet over de hele wereld zichtbaar kunt maken. Zo'n Java-programma in een webpagina heet een applet.


Slide 7 - Tekstslide

Kortom, er verschillende redenen waarom Java veel gebruikt wordt. In deze lessen gaan we overigens geen applets maken, maar gewone applicaties.

Slide 8 - Tekstslide

Waaruit bestaat Java?
Om een Java-programma of applicatie te kunnen maken moet je Java leren. Java is een taal die uit een aantal Engelse woorden en formules bestaat, en die je kunt aanvullen met zelfgekozen (bijvoorbeeld Nederlandse) woorden. Als je die woorden volgens bepaalde grammaticale regels bij elkaar zet, krijg je een correct programma. Zo'n programma moet je intikken in een editor, een soort tekstverwerker.

Slide 9 - Tekstslide

Als je je Java-programma hebt ingetikt, moet je dit laten vertalen. Dit heet ook wel compileren (Engels: to compile). Die vertaling is nodig omdat de processor in je computer geen Java begrijpt. Je computer begrijpt alleen maar machinecode. Dat zijn speciale instructies. Voor het vertalen bestaat een speciaal programma, een zogenaamde compiler.

Slide 10 - Tekstslide

De taal Java bestaat uit ongeveer vijftig Engelse woorden zoals import, public, class, while en void. Veel van die woorden zul je snel leren gebruiken omdat ze in vrijwel elk programma voorkomen. Daarnaast bestaat Java uit duizenden (!) voorgedefinieerde stukjes programma. Zo'n stukje programma heet een class (Nederlands: klasse). Een aantal hiervan zul je direct gebruiken in je programma's, maar de meeste heb je nu nog niet nodig en heel veel misschien wel nooit.

Slide 11 - Tekstslide

Een voorbeeld van zo'n voorgedefinieerde klasse is JButton. Hiermee zet je een knop op het scherm. Allerlei eigenschappen van de knop, zoals afmeting, kleur en hoe hij eruit ziet als je erop klikt, zijn in de klasse JButton voorgedefinieerd. Zo zijn er heel veel bruikbare klassen die je regelmatig zult toepassen in je eigen programma's.

Slide 12 - Tekstslide

class library
Alle voorgedefinieerde klassen bij elkaar heten een klassenbibliotheek (Engels: class library). Het woord bibliotheek klinkt een beetje raar omdat het hier niet om boeken gaat, maar om stukjes programma. Om een beetje orde te scheppen in die grote bibliotheek zijn klassen die min of meer bij elkaar horen gebundeld in een package ('pakket'). De grote klassenbibliotheek van Java is dus opgebouwd uit verschillende packages, met in elke package een aantal klassen.

Slide 13 - Tekstslide

Bouwstenen
  • Sequentie
  • Keuze
  • Herhaling

Slide 14 - Tekstslide

sequentie

De juiste volgorde is belangrijk, want als je de opdrachten in een andere volgorde gaat uitvoeren komen er problemen. Stel je voor dat je het bord opruimt met het broodje er nog op. Opdrachten op volgorde uitvoeren, noemen we sequentie.

Slide 15 - Tekstslide

Keuzemoment
Stel dat er geen hagelslag meer is. We kunnen dan ons boterham-programma zo uitbreiden dat het eerst een nieuw pak hagelslag gaat halen, voordat het begint met brood smeren. Om dit te kunnen, moet het programma een keuze kunnen maken. Als er geen hagelslag meer is, haal nieuwe hagelslag. Dit noemen we een keuze moment.

Slide 16 - Tekstslide

Herhaling
stel dat we niet één broodje met hagelslag willen maar 4, dan is het raar om onze checklist ook vier keer te kopiëren. Want wat nou als er in plaats van vier broodjes er nu vijf moeten komen of drie?  In plaats daarvan wil je eigenlijk dat een aantal stappen herhaald uitgevoerd worden en (meestal) wil je het aantal keer dat je deze stappen uitvoert ook kunnen tellen. In dit geval worden de stappen ‘pak het brood’ tot ‘stop een stukje brood in je mond’ herhaald tot het juiste aantal broodjes.
Herhaling maakt programma’s leesbaarder, minder foutgevoelig en een stuk flexibeler.

Slide 17 - Tekstslide

Fouten
  • Simulatie
  • Symantische
  • Syntactische

Slide 18 - Tekstslide

Simulatie


Fouten die ontstaan doordat  de programmeur vergeet in de simulatie van de werkelijkheid nodige essentiële taken mee te nemen, noemen we simulatie fouten.

Slide 19 - Tekstslide

Semantiek


Fouten die ontstaan door verschil in betekenis tussen mens en computer noemen we semantische fouten.

Slide 20 - Tekstslide

Syntax


Fouten die ontstaan doordat de afspraken van opschrijven niet gevolgd worden, noemen we syntactische fouten

Slide 21 - Tekstslide

Programmeertalen
  • 1e generatie: Machinetaal (1gl)
  • 2e generatie: Assembleertaal (2gl)
  • 3e generatie: Procedurele taal (3gl)
  • 4e generatie:  talen met een bepaald doel (4gl)
  • 5e generatie: probleemoplossende taal (5gl)

Slide 22 - Tekstslide

Machinetaal
Zoals we al weten, gebruikt de machine bits en bytes. Om het nog enigszins  leesbaar te houden, kan je binair ook hexadecimaal schrijven, maar het blijft erg complex, foutgevoelig en langzaam. Een programma geschreven voor één processor is niet te gebruiken op een andere processor.

Slide 23 - Tekstslide

Assembleertaal
Een symbolische weergave van machinetaal. Zeg maar een binaire opdracht afgekort tot een paar letters. Elke regel is 1 instructie voor de computer. Een programma is nu leesbaarder, iets minder foutgevoelig en het programmeren zal sneller gaan. Het is nog steeds gebonden aan de instructieset van de processor. 

Slide 24 - Tekstslide

Procedurele taal

Het programma wordt opgedeeld in stukjes zodat het overzichtelijker blijft en delen die vaker nodig zijn, makkelijker te hergebruiken zijn. Deze stukjes noemen we procedures (andere benamingen zijn ook wel methodes en functies).

Slide 25 - Tekstslide

4gl taal
Deze taal is een beetje een vreemde eend in de bijt. Het is niet een programmeertaal zoals we die tot nu hebben leren kennen, maar een taal om bijv. een database te beheren.

Slide 26 - Tekstslide

Probleem-oplossende taal

het algoritme leert zichzelf programmeren.
denk hierbij aan kunstmatige intelligentie of internet of things

Slide 27 - Tekstslide

Wat zijn de bouwstenen van programmeren?
A
Sequentie, Keuze en Herhalen
B
Sequentie, Keuze en Commentaar
C
Sequentie, Herhalen en Taal

Slide 28 - Quizvraag

Een verschil in betekenis tussen mens en computer noemen we een
A
Semantische fout
B
Syntactische fout
C
Simulatie fout

Slide 29 - Quizvraag

Wanneer de programmeur essentiële zaken vergeet te benoemen, noemen we dat een
A
Semantische fout
B
Syntactische fout
C
Simulatie fout

Slide 30 - Quizvraag

Wanneer het programma niet de juiste regels volgt, noemen we dat een
A
Semantische fout
B
Syntactische fout
C
Simulatie fout

Slide 31 - Quizvraag

Hoeveel generaties programmeertalen zijn er?
A
4
B
2
C
5
D
7

Slide 32 - Quizvraag

een procedurele programmeertaal is welke generatie?
A
1gl
B
2gl
C
3gl
D
4gl

Slide 33 - Quizvraag