Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Programmeren Blok 3 2017

Overzicht van de module programmeertalen
by

Ron Wessels

on 23 March 2017

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Programmeren Blok 3 2017

Een object bestaat uit
attributen
methoden

Attributen zijn de eigenschappen van een object

Methoden bepalen het gedrag van een object
Objectgeoriënteerde talen
Vaak afgekort tot OO
Object Oriënted
Systeem is opgebouwd uit objecten

Wat is een object?
Volgens van Dale:
ob·ject het; o -en voorwerp (1, 2)
Objectgeoriënteerde talen
Nog krachtiger programmaopdrachten
Nadeel: de software bevat veel ballast
Vierde-generatietalen
Geen kennis van de eigenschappen van de processor nodig.
Deze talen zijn
procedurele talen
.
Hogere programmeertalen
.model small
.stack
.data
message db "Hello world, I'm learning Assembly !!!", "$"

.code

main proc
mov ax,seg message
mov ds,ax

mov ah,09
lea dx,message
int 21h

mov ax,4c00h
int 21h
main endp
end main
Voorbeeld Assembly-programma
Assembleertaal is een
lagere programmeertaal
.
Het is een soort machinetaal, maar met
lettercodes
i.p.v. nullen en enen.
Een
assembleerprogramma
vertaalt die lettercodes in machinecode.
Van Dale:
as·sem·ble·ren [assembleere(n)] -bleerde, h geassembleerd samenstellen uit onderdelen; monteren: auto’s ~
Assembleertaal
0010 0110 0101 0101 0010 0110 0101
0110 1010 0010 0101 0110 0011 0100
1010 1110 0010 0101 0110 0011 0100
0110 0101 0101 0110 1010 1110 0010
0110 0011 0100 0010 0110 0101 0101
1010 1110 0010 0101 0110 0011 0100
Voorbeeld machinecodeprogramma
Machinecode is de
enige code
die de
processor
kan uitvoeren.
Programma’s die in een andere taal geschreven zijn moeten dus altijd worden
vertaald in machinecode
.
Machinecode
Programmeertalen kun je indelen in vijf hoofdcategorieën:
Machinecode
Assembleertalen
Hogere programmeertalen
Vierde-generatietalen
Objectgeoriënteerde talen.
Soorten programmeertalen
Een
programmeertaal
is een taal waarin de
opdrachten
worden geschreven die een computer moet uitvoeren.
Reeksen van die opdrachten of
instructies
vormen samen een computerprogramma.
Er zijn verschillende soorten/categorieën programmeertalen.
Programmeertalen
JAVA en JVM
Een voorbeeld van een object
Een lamp
Objectgeoriënteerde talen
Voorbeelden van vierde-generatietalen:
Rapportgeneratoren
Macro’s in Microsoft Word en Excel
Android apps maken met Adobe.
Vierde-generatietalen
De bekendste derde-generatietalen:
FORTRAN (wetenschappelijke doeleinden)
COBOL (administratieve toepassingen)
C (vele toepassingen; o.a. UNIX)
Pascal (nadruk op eenvoud)
Hogere programmeertalen
Derde-generatietalen zijn
machine-onafhankelijk
.
Een
compiler
zet de
sourcecode
om in machinetaal (objectcode).
Die machinetaal is wél machineafhankelijk
.
Hogere programmeertalen
Assembleertaal is iets makkelijker te onthouden dan machinetaal.
Een voorbeeld van code in machinetaal:

1011 0000 0110 0001
Dezelfde code in assembleertaal:

MOV AL, 97

Assembleertalen zijn talen van
de tweede generatie
, d.w.z. één stap verder van de processor vandaan dan machinecode.
Assembleertaal
De allereerste computers werden in machinecode geprogrammeerd.
De kans op fouten was daarbij groot.
Machinecode is moeilijk te begrijpen.
Je kunt daardoor geen grote programma’s schrijven in machinecode.
Machinecode is een taal van de eerste generatie, d.w.z. dicht bij de processor.
Machinecode
Programmeren
met machinecode
ENIAC-computer
De kleinste geheugeneenheid is de bit (binary digit)
De bit is een binair getal dat twee waarden kan hebben: 0 of 1
In het computergeheugen wordt alles binair vastgelegd, ook programma’s
Machinecode is een programma in binaire vorm.
Machinecode
programmeren && programmeerTalen
xor eax, eax
inc eax
cmp eax, 10
while :
ja end
inc eax
jmp while
end :
mov eax, 1
xor ebx, ebx
int 0x80
Assembleertaal
Hogere programmeertaal
int eax = 1;
while (eax < 10)
{
eax++;
}
Voorbeeld procedure
De programmeur schrijft de computer een procedure voor. Dat wil zeggen dat
één procedureopdracht meerdere machinetaalopdrachten
bevat.
Met andere woorden:
de compiler zet de sourcecode om in een machinetaal voor een processor van Apple of in een machinetaal die geschikt is voor de processoren die een windowsmachine aansturen.
Vierde-generatietalen zijn veel meer probleemgericht.
Een bekende vierde generatietaal is Python.
http://nl.wikipedia.org/wiki/Pascal_(programmeertaal)
http://nl.wikibooks.org/wiki/Programmeren_in_Java/Inleiding
Zie ook:
Java Virtual Machine
Wat is een programma?
In essentie is een programma niets anders dan een rij instructies.
Het idee is dat de uitvoering van een programma bestaat uit de stapsgewijze uitvoering van een rij instructies.

Wat is een instructie?
Instructies zijn voorschriften over een uit te voeren activiteit. Zo'n activiteit zien we als een ondeelbare eenheid van gedrag, bv. "tel één bij x op", of in symbooltaal "[x=x+1]" met het idee dat x hier een geheel getal (integer) voorstelt. We noemen dergelijke instructies verder basis instructies.

Daarnaast hebben we test instructies die de verdere uitvoering van een programma sturen. Bijvoorbeeld "check of printer P17 aanstaat", of "+<check(P17)>" in symbooltaal.

Het is op dit punt al zinvol je te realiseren dat niet elke instructie altijd betekenis heeft; in de bovenstaande voorbeelden bestaat getal x misschien wel niet, of is printer P17 onbekend.

De basis
platform
appli1
appli2
appli3
appli4
windows
Linux
Android
iOS
"Een programma wordt uitgevoerd op een
onderliggende conceptuele machine
. Men zegt dan ook wel dat het programma executeert, runt of draait. De onderliggende conceptuele machine voert de opdrachten uit."
"Een programma kan vele verschijningsvormen en namen hebben. Ze heten ook wel
applicaties
,
utilities
,
drivers
of
routines
. In alle gevallen zijn ze ooit geprogrammeerd."
Algoritme
Een programma realiseert een bepaald doel.
Daarvoor bestaan een reeks opdrachten.
Voorbeeld: appelmoes maken
Appels schillen
in partjes snijden
van klokhuis ontdoen
Appelsap in een ruime pan doen
appels er boven opleggen
Suiker en kaneel erbij
aan de kook brengen.
Af en toe door roeren (je ziet langzaam de appelmoes onstaan)
Proef tussentijds of het lekker zoet is
anders nog wat suiker en kaneel toevoegen
Laten afkoelen in een gesloten schone bak
(een week houdbaar in de koelkast)
Een programma is dus niet altijd een computerprogramma.
http://nl.wikipedia.org/wiki/Algoritme
Algoritmen
Als a is 1100001 hoe krijg je dan A?
Binair rekenen
Colossus
De eerste computers zijn ontstaan gedurende de Tweede Wereldoorlog.
1943
Instructies werden uitgevoerd met schakelaars.
Elke instructie had zijn eigen code. D.w.z.: bij elke instructie behoorde een stand van de schakelaar.
Klein programmaatje van 100 instructies, leverde voor elke instructie een andere stand van de schakelaar
Computers werken met nullen en enen.
Getallen die worden opgebouwd uit nullen en enen, zijn binaire getallen. Hieronder staan een paar voorbeelden.

00000000 = 0
00000001 = 1
00000010 = 2
00000011 = 3
00000100 = 4
00000101 = 5
a.
Bits en bytes
We hebben hierboven steeds een reeks van 8 cijfers gebruikt,
maar dat is niet verplicht. Je kunt alle nullen vóór de eerste 1 weglaten. Het is wel zo dat computers voor getallen vaak een reeks van 8 posities reserveren voor een getal. Zo'n groepje heet een byte. Een byte bestaat uit 8 bits. Een bit kan 0 of 1 zijn.

b.
Machten van 2
Binaire getallen met één 1 en verder allemaal nullen,
hebben de waarde van een macht van 2. Kijk maar:

00000001 = 1 (20, oftewel 2:2)
00000010 = 2 (21)
00000100 = 4 (22, oftewel 2x2)
00001000 = 8 (23, oftewel 2x2x2)
00010000 = 16 (24, oftewel 2x2x2x2)
00100000 = 32 (25, oftewel 2x2x2x2x2)
01000000 = 64 (26, oftewel 2x2x2x2x2x2)
10000000 = 128 (27, oftewel 2x2x2x2x2x2x2)

Als je dit weet, kun je de decimale waarde van een binair getal eenvoudig uitrekenen. Kijk maar:

00000101 = 4 + 1 = 5
00110011 = 32 + 16 + 2 + 1 = 51


De maximale waarde van een byte is 11111111 (acht enen).
De decimale waarde van 11111111 = 255
c.
Een getal omzetten naar binair getal
Er is een handige manier om een getal naar binair om te zetten.
Deel het getal steeds weer door 2 en schrijf de rest op.
Schrijf die resten van rechts naar links en je hebt het binaire getal.
Bijvoorbeeld het getal 1000:

1000 / 2 = 500 rest 0
500 / 2 = 250 rest 0
250 / 2 = 125 rest 0
125 / 2 = 62 rest 1
62 / 2 = 31 rest 0
31 / 2 = 15 rest 1
15 / 2 = 7 rest 1
7 / 2 = 3 rest 1
3 / 2 = 1 rest 1
1 / 2 = 0 rest 1
Het binaire getal is 1111101000.
d.
logical and...
Leesvoer:
https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/
Denk aan de onderdelen van een auto...
Extra:
Extra:
Extra:
Extra:
Extra:
Extra:
Full transcript