![Page 1: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/1.jpg)
1
SOCS
Hoofdstuk 1
Computerarchitectuur
![Page 2: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/2.jpg)
2
Overzicht
Eenvoudig C Arrays
Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers Array van Wijzers Meerdimensionale Tabellen Wijzer naar Array
Functies Records Dynamische gegevenstructuren
CC
![Page 3: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/3.jpg)
3
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
t[0][1]t[0][1]
t[1][1]t[1][1]
t[2][1]t[2][1]
t[3][1]t[3][1]
t[4][1]t[4][1]
t[0][2]t[0][2]
t[1][2]t[1][2]
t[2][2]t[2][2]
t[3][2]t[3][2]
t[4][2]t[4][2]
t[0][3]t[0][3]
t[1][3]t[1][3]
t[2][3]t[2][3]
t[3][3]t[3][3]
t[4][3]t[4][3]
t[0][0]t[0][0]
t[1][0]t[1][0]
t[2][0]t[2][0]
t[3][0]t[3][0]
t[4][0]t[4][0]
t[0][4]t[0][4]
t[1][4]t[1][4]
t[2][4]t[2][4]
t[3][4]t[3][4]
t[4][4]t[4][4]
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
Rij waarvan de elementen opnieuw rijen zijn
![Page 4: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/4.jpg)
4
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
00 11 22 33 44
![Page 5: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/5.jpg)
5
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
i = 0 k = 1
00 11 22 33 44
![Page 6: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/6.jpg)
6
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
1111
33
i = 0 k = 2
00 11 22 33 44
![Page 7: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/7.jpg)
7
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
1111
33
1616
44
i = 0 k = 3
00 11 22 33 44
![Page 8: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/8.jpg)
8
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
1111
33
1616
44
2121
55
i = 0 k = 4
00 11 22 33 44
![Page 9: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/9.jpg)
9
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
1111
33
1616
44
2121
55
1212
88
i = 1 k = 2
00 11 22 33 44
![Page 10: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/10.jpg)
10
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
1111
33
1616
44
2121
55
1212
88
1717
99
i = 1 k = 3
00 11 22 33 44
![Page 11: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/11.jpg)
11
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
1111
33
1616
44
2121
55
1212
88
1717
99
2222
1010
i = 1 k = 4
00 11 22 33 44
![Page 12: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/12.jpg)
12
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
1111
33
1616
44
2121
55
1212
88
1717
99
2222
1010
1818
1414
i = 2 k = 3
00 11 22 33 44
![Page 13: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/13.jpg)
13
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
1111
33
1616
44
2121
55
1212
88
1717
99
2222
1010
1818
1414
2323
1515
i = 2 k = 4
00 11 22 33 44
![Page 14: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/14.jpg)
14
Meerdimensionale tabellen
int t[5][5], i, k;main() {
/* initialiseren van tabel*/.../* spiegelen om diagonaal*/for(i=0; i<5; i++)
for(k=i+1; k<5; k++) {h = t[i][k];t[i][k] = t[k][i];t[k][i] = h;
}/*afdrukken resultaat*/...
}
CC
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
66
22
1111
33
1616
44
2121
55
1212
88
1717
99
2222
1010
1818
1414
2323
1515
2424
2020
i = 3 k = 4
00 11 22 33 44
![Page 15: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/15.jpg)
15
Wijzer naar Array
int t[5][5];
int (*wa)[5], *wi;
main() {
...
wa = &t[0];
wi = &t[0][0];
wi++;
wa++;
...
}
CC
wa
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
wi
Wijzer naar rij van 5 elementen
![Page 16: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/16.jpg)
16
Wijzer naar Array
int t[5][5];
int (*wa)[5], *wi;
main() {
...
wa = &t[0];
wi = &t[0][0];
wi++;
wa++;
...
}
CC
wa
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
wi
![Page 17: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/17.jpg)
17
Wijzer naar Array
int t[5][5];
int (*wa)[5], *wi;
main() {
...
wa = &t[0];
wi = &t[0][0];
wi++;
wa++;
...
}
CC
wa
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
wi
![Page 18: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/18.jpg)
18
Wijzer naar Array
int t[5][5];
int (*wa)[5], *wi;
main() {
...
wa = &t[0];
wi = &t[0][0];
wi++;
wa++;
...
}
CC
wa
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
wi
![Page 19: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/19.jpg)
19
Wijzer naar Array
int t[5][5];
int (*wa)[5], *wi;
main() {
...
wa = &t[0];
wi = &t[0][0];
wi++;
wa++;
...
}
CC
wa
t
22
77
1212
1717
2222
33
88
1313
1818
2323
44
99
1414
1919
2424
11
66
1111
1616
2121
55
1010
1515
2020
2525
t[0]t[0]
t[1]t[1]
t[2]t[2]
t[3]t[3]
t[4]t[4]
wi
![Page 20: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/20.jpg)
20
Meerdimensionale Tabellen
Geen nieuwe bevelen nodig Afbeelden van meerdimensionale structuur
1-dimensionale werkgeheugen = Linearisatie
Gebeurt op het C-programma Transformatie van de code ~
alleen 1-dimensionale tabellen
![Page 21: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/21.jpg)
21
Meerdimensionale Tabellen
Rij-linearisatie Matrix wordt rij
per rij bewaard
aa1111
aa1212
aa1m1m
aa2121
aa2222
aa2m2m
aan1n1
aan2n2
aanmnm
A0
A1
Am-1
Am
Am+1
A2m-1
A(n-1)m
A(n-1)m+1
Anm-1
a[i][j] = A[k]
k = (i-1)*m + (j-1)
aa1111 aa1212 aa1m1m
aa2121 aa2222 aa2m2m
aan1n1 aan2n2 aanmnm
…………
……
……
![Page 22: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/22.jpg)
22
Meerdimensionale Tabellen
Kolom-linearisatie Matrix wordt kolom
per kolom bewaard
aa1111
aa2121
aan1n1
aa1212
aa2222
aan2n2
aa1m1m
aa2m2m
aanmnm
A0
A1
An-1
An
An+1
A2n-1
A(m-1)n
A(m-1)n+1
Amn-1
a[i][j] = A[k]
k =
aa1111 aa1212 aa1m1m
aa2121 aa2222 aa2m2m
aan1n1 aan2n2 aanmnm
…………
……
……(j-1)*n + (i-1)
![Page 23: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/23.jpg)
23
Meerdimensionale Tabellen
Rij-linearisatie Kolom-linearisatie
a[i][j] = A[k]
k =
aa0,00,0 aa0,20,2 aa0,m-10,m-1
aa1,01,0 aa1,21,2 aa1,m-11,m-1
aan-1,0n-1,0 aan-1,1n-1,1 aan-1,m-1n-1,m-1
aa0,00,0 aa0,20,2 aa0,m-10,m-1
aa1,01,0 aa1.21.2 aa1,m-11,m-1
aan-1,0n-1,0 aan-1,1n-1,1 aan-1,m-1n-1,m-1
a[i][j] = A[k]
k = i*m + j j*n + i
![Page 24: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/24.jpg)
24
Meerdimensionale tabellen
int a[5][4], i, j;
main() {
/* inlezen van tabel*/
for(i=4; i>=0; i--)
for(j=3; j>=0; j--)
a[i][j] = getint();
...
}
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
for(i=4; i>=0; i--)
for(j=3; j>=0; j--) {
k = i * 4 + j;
A[k] = getint();
}
...
}
CC
![Page 25: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/25.jpg)
25
Meerdimensionale tabellen
int A[5*4], i, j, k, h;
main() {
/* inlezen van tabel*/
for(i=4; i>=0; i--) {
h = 4 * i;
for(j=3; j>=0; j--) {
k = h + j;
A[k] = getint();
}
}
...
}
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
for(i=4; i>=0; i--)
for(j=3; j>=0; j--) {
k = i * 4 + j;
A[k] = getint();
}
...
}
CC
![Page 26: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/26.jpg)
26
Meerdimensionale tabellen
int A[5*4], i, j, k, h;
main() {
/* inlezen van tabel*/
for(i=4; i>=0; i--) {
h = 4 * i;
for(j=3; j>=0; j--) {
k = h + j;
A[k] = getint();
}
}
...
}
int A[5*4], i, j, k, h;main() {
/* inlezen van tabel*/h = 16;for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {k = h + j;A[k] = getint();
}h -= 4;
}...
}
CC
![Page 27: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/27.jpg)
27
Meerdimensionale tabellen
int A[5*4], i, j, k, h;main() {
/* inlezen van tabel*/h = 16;for(i=4; i>=0; i--) {
k = h + 3;for(j=3; j>=0; j--) {
A[k--] = getint();}h -= 4;
}...
}
int A[5*4], i, j, k, h;main() {
/* inlezen van tabel*/h = 16;for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {k = h + j;A[k] = getint();
}h -= 4;
}...
}
CC
![Page 28: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/28.jpg)
28
Meerdimensionale tabellen
int A[5*4], i, j, k, h;main() {
/* inlezen van tabel*/h = 16;for(i=4; i>=0; i--) {
k = h + 3;for(j=3; j>=0; j--) {
A[k--] = getint();}h -= 4;
}...
}
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
...
}
CC
![Page 29: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/29.jpg)
29
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3
![Page 30: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/30.jpg)
30
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3
HIA.w R3,19
![Page 31: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/31.jpg)
31
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3 HIA.w R3,19
HIA.w R1,4
![Page 32: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/32.jpg)
32
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3 HIA.w R3,19 HIA.w R1,4
fori: VGL.w R1,0 VSP KL,eindi
![Page 33: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/33.jpg)
33
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3 HIA.w R3,19 HIA.w R1,4fori: VGL.w R1,0 VSP KL,eindi
HIA.w R2,3
![Page 34: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/34.jpg)
34
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3 HIA.w R3,19 HIA.w R1,4fori: VGL.w R1,0 VSP KL,eindi HIA.w R2,3
forj: VGL.w R2,0 VSP KL,eindj
![Page 35: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/35.jpg)
35
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3 HIA.w R3,19 HIA.w R1,4fori: VGL.w R1,0 VSP KL,eindi HIA.w R2,3forj: VGL.w R2,0 VSP KL,eindj
LEZBIG R0,A(R3-)
![Page 36: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/36.jpg)
36
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3 HIA.w R3,19 HIA.w R1,4fori: VGL.w R1,0 VSP KL,eindi HIA.w R2,3forj: VGL.w R2,0 VSP KL,eindj LEZ BIG R0,A(R3-)
AFT.w R2,1SPR forj
![Page 37: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/37.jpg)
37
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3 HIA.w R3,19 HIA.w R1,4fori: VGL.w R1,0 VSP KL,eindi HIA.w R2,3forj: VGL.w R2,0 VSP KL,eindj LEZ BIG R0,A(R3-) AFT.w R2,1 SPR forj
eindj: AFT.w R1,1 SPR fori
![Page 38: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/38.jpg)
38
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
}
| i R1, j R2, k R3 HIA.w R3,19 HIA.w R1,4fori: VGL.w R1,0 VSP KL,eindi HIA.w R2,3forj: VGL.w R2,0 VSP KL,eindj LEZ BIG R0,A(R3-) AFT.w R2,1 SPR forjeindj: AFT.w R1,1 SPR fori
eindi: STP
![Page 39: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/39.jpg)
39
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
...
}
| i R1, j R2, k R3 HIA.w R3,19 HIA.w R1,4fori: VGL.w R1,0 VSP KL,eindi HIA.w R2,3forj: VGL.w R2,0 VSP KL,eindj LEZ BIG R0,A(R3-) AFT.w R2,1 SPR forjeindj: AFT.w R1,1 SPR forieindi: STP
A: RESGR 20
![Page 40: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/40.jpg)
40
Meerdimensionale Tabellen
int A[5*4], i, j, k;
main() {
/* inlezen van tabel*/
k = 19;
for(i=4; i>=0; i--) {
for(j=3; j>=0; j--) {
A[k--] = getint();
}
}
...
}
| i R1, j R2, k R3 HIA.w R3,19 HIA.w R1,4fori: VGL.w R1,0 VSP KL,eindi HIA.w R2,3forj: VGL.w R2,0 VSP KL,eindj LEZ BIG R0,A(R3-) AFT.w R2,1 SPR forjeindj: AFT.w R1,1 SPR forieindi: STPA: RESGR 20 EINDPR
![Page 41: 1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Klassiek gebruik For opdracht, Increment/Decrement Wijzers, Arrays en Wijzers](https://reader035.vdocuments.net/reader035/viewer/2022070315/5551a0f04979591f3c8bb9b0/html5/thumbnails/41.jpg)
41
Cursustekst
Hoofdstuk 1: pag. 52 pag. 55 Hoofdstuk 1: pag. 73 pag. 85