|
Tellen & Talstelsels (4) |
|
Inhoud:
[1] tellen
[2] modulus rekenen
[3] gekoppelde tellers
[4] een gerobotiseerd onderdelen magazijn
[5] talstelsels
[6] negatieve getallen
[7] som, verschil, complement
[8] antwoorden
Voorbeeld : Een gerobotiseerd onderdelen-magazijn
Eerst even dit:
Hiervoor telden we vanaf 0...maar in de praktijk is dat niet altijd het geval.
Vaak beginnen we niet bij 0 maar bij 1 te tellen.
Ook mogelijk is a, b, c, a, b, c, a, b, c,.....als standen voor een modulo 3 teller.
Of rood, geel, groen, blauw, oranje, rood,....voor een modulo 5 teller.
Om op zo'n telwerk toch modulus rekenen te kunnen toepassen, moet eerst een
soort vertaling plaatsvinden.
Aan de eerste stand koppelen we de -0-
Aan de tweede stand de -1- , enzovoorts.
Na de berekeningen moet dan weer een vertaling terug naar de realiteit plaatsvinden.
Een magazijn bestaat uit 15 rekken, genummerd 1..15
Elk rek heeft 11 schappen, genummerd a..k
Per schap staan 12 bakken, genummerd 1..12
Onderdeel 1 zit in bak -1-, van schap-a-, in stelling -1-
Onderdeel 13 in bak -1- , schap -b- van stelling -1-
Bak -1- op schap -a- van stelling -2- bevat onderdeel -133-
Een robot krijgt een nummer van een onderdeel en moet de plaats in het magazijn
berekenen.
Dat kan als volgt:
1. trek 1 af van het nummer van het onderdeel, de nummering is nu van 0......
2. maak een telwerk (bak-schap-rek) van 3 tellers
- bak : 0..11 (was 1..12) {de laagste teller}
- schap: 0..10 (was a..k) {de middelste..}
- rek 0..14 (was 1..15) {de hoogste...}
3. maak berekeningen
4. corrigeer de gevonden getallen
Waar bevindt zich onderdeel 975?
975 - 1 = 974
bak' = 974 mod 12 = 2
974 div 12 = 81, dit is het aantal verhogingen voor de schap-teller
schap' = 81 mod 11 = 4
81 div 11 = 7
rek' = 7 mod 15 = 7
Zodat bak = 2 + 1 = 3, schap = (a,b,c,d, volgende) = e, rek = 7 + 1 = 8
En welk onderdeel N treffen we aan in bak -5- van schap -b- van rek -14- ?
bak' = 4
schap' = 1
rek' = 13
Bak is een modulo 12 teller, bak en schap samen vormen een modulo 11*12 teller
zodat
N' = bak' + 12*schap' + 11*12*rek' = 4 + 12 + 924 = 940
N = 940 + 1 = 941
vraag 6
De stad "Egalerveen" bestaat uit eenvormige flatgebouwen, genummerd 1,2,3,....
Elke flat heeft 9 verdiepingen (woonlagen), genummerd 0,1,2,... en
elke verdieping heeft 24 flats, genummerd 1,2,3,.....
Bovendien heeft elke flat een eigen nummer, 1,2,3,4,5.....
Flat nummer 1 is de eerste flat op verdieping 0 van gebouw 1.
Flat nummer 2 ligt naast flat nummer 1 op dezelfde verdieping.
De eerste flat op verdieping 1 van gebouw 1, heeft als nummer 25.
de familie Pietersen woont op nummer 1209
a. welke verdieping is dat?
b. welk gebouw?
de heer Jansen woont in flat 11 op de derde verdieping van gebouw 5
c. op welk nummer woont hij?
vraag 7
De familie Pietersen bezoekt een pannenkoekenhuis.
Daar zijn de volgende keuzes mogelijk:
meel:
afmeting:
soort:
naturel, ham, kaas, gember, appel, banaan, kersen, ananas, bosbessen
beleg:
bruine suiker, poedersuiker, stroop, ahornsiroop, honing, aardbeienjam
Elke bestelling wordt gecodeerd in 1 getal in een computer opgeslagen.
(tellers van laag naar hoog: "meel", "afmeting", "soort", "beleg"
keuzen 0,1,2,....)
a. hoeveel bestellingen zijn mogelijk?
b. welke bestelcode heeft kleine volkoren pannenkoek met gember en honing?
c. en welke code heeft een grote pannenkoek van wit meel, met bosbessen en poedersuiker?
d. welke bestelling hoort bij code 245?
vraag 8
Een programmeur van spelletjes heeft in een window 15 dezelfde rechthoekjes staan.
Elk rechthoekje is 40 pixels breed en 60 pixels hoog.
De ruimte tussen 2 rechthoekjes is steeds 20 pixels, de buitenrand is 10 pixels breed.
Zie het plaatje hieronder:
Links boven in het window ligt pixel (0,0), rechtsonder (299,239).
De hoek linksboven van rechthoekje (0) heeft coördinaten (10,10) , rechtsonder (69,79).
Bij rechthoekje (6) zijn dat de pixels (70,90) en (109,149).
a. bedenk een methode om de kolom (0,1,2,3,4) uit cursorcoördinaten (x,y) te bepalen
b. en ook om de rij (0,1,2) van het rechthoekje te bepalen
c. en om het nummer van het rechthoekje te berekenen (geef waarde -1 tussen de rechthoekjes)
d. in welk rechthoekje ligt pixel (200,180)?
e. en pixel (120,180)?
de programmeur wil rechthoekje (n) met een nieuwe kleur tekenen
f. geef formules voor x en y van het hoekpunt linksboven.
Wie wil zien, hoe zo'n probleem in de taal Delphi wordt geprogrammeerd, kan kijken
in de listing bij mijn artikel "an arraybutton component" op het Engelse gedeelte
van deze website en wel bij: procedure TdavarrayBtn.MouseMove(...)