Talstelsels
- Plaatswaarden
- binair 2k, octaal 8k, hex 16k
- Naar decimaal
- Σ dk·bk
- Vanuit decimaal
- deel door het grondtal en lees de resten van onder naar boven
- Hex ↔ binair
- één hexcijfer = 4 bits
- Two's complement
- inverteer de bits en tel 1 op
Formuleoverzichten, de belangrijkste methodestappen voor elk onderwerp en 20 oefenopgaven, met volledige oplossingen achterin.
Stel de bits zo in dat ze −16 opslaan in 8-bits tweecomplement. Wat is de waarde U van het patroon, gelezen als getal zonder teken?
Stel de bits in op het 8-bits resultaat van 0010 0000 OR 0101 1101. Wat is de waarde R van het resultaat in decimaal?
Welke formule is logisch equivalent met c ∨ (b ∧ a)? Klik erop.
Welke uitspraak is equivalent met ¬∃x ∀y R(x, y), met de ontkenning helemaal naar binnen geschoven? Klik erop.
Gebruik de Karnaugh-kaart om de minimale som-van-productenvorm (SOP) van F(A, B, C, D) = Σm(4, 7, 8, 9, 10, 11, 13) te vinden. Hoeveel literals L bevat die in totaal (een variabele met accent telt als één literal)?
Een mod-100-teller moet 100 verschillende toestanden doorlopen. Wat is het minimale aantal flip-flops n dat hij nodig heeft?
Vind de inverse van 9 modulo 41: het getal x met 0 < x < 41 en 9·x ≡ 1 (mod 41).
Los 34x ≡ 26 (mod 54) op. Geef de kleinste positieve oplossing x.
Waarom schakelen veel sorteerroutines in bibliotheken over op insertion sort voor heel kleine deelarrays?
Het 0/1-knapzakprobleem opgelost met dynamisch programmeren kost O(nW) tijd. Waarom heet dit pseudo-polynomiaal?
Bij welke methode voor het oplossen van botsingen worden botsende sleutels in een lijst in dezelfde bucket opgeslagen?
Waarom gebruiken databases voor indexen vaak B+-bomen in plaats van gewone B-bomen?
Een samenhangende graaf heeft 15 hoekpunten en 24 kanten. Hoeveel kanten k moeten worden verwijderd om een opspannende boom over te houden?
Het algoritme van Prim bouwt een minimaal opspannende boom vanaf hoekpunt D. Klik op de kant die het toevoegt als kant nummer 4.
Welke query geeft het aantal bestellingen per klant?
Wanneer is het opsplitsen van R in R1 en R2 gegarandeerd verliesloos?
Welk bereik van TCP/UDP-poortnummers is gereserveerd als "well-known" poorten?
Een remote-terminalapplicatie voelt traag aan omdat kleine pakketten met toetsaanslagen worden tegengehouden. Welk TCP-mechanisme is hier vaak verantwoordelijk voor?
Het netwerk 192.168.10.0/24 moet worden verdeeld in minstens 10 gelijke subnetten. Als je zo weinig mogelijk bits leent, hoeveel bruikbare hosts H heeft elk subnet?
Een host heeft het adres 10.20.225.204/26. Wat is het vierde octet x van het laatste bruikbare hostadres in zijn subnet?
Antwoord: U = 240
Bits instellen: elke bit is een macht van twee waard (128, 64, …, 1). Eén hexadecimaal cijfer is precies vier bits, en in 8-bits tweecomplement is de meest linkse bit −128 waard. Bitsgewijze bewerkingen werken op elke bitpositie apart.
Antwoord: R = 125
Bits instellen: elke bit is een macht van twee waard (128, 64, …, 1). Eén hexadecimaal cijfer is precies vier bits, en in 8-bits tweecomplement is de meest linkse bit −128 waard. Bitsgewijze bewerkingen werken op elke bitpositie apart.
OR geeft 1 waar minstens één bit 1 is.
Antwoord: (c ∨ b) ∧ (c ∨ a)
Logische equivalentie: twee formules zijn equivalent (≡) als ze in elke rij van de waarheidstabel dezelfde waarde hebben. Een tautologie is in elke rij 1, een contradictie in elke rij 0, en een contingentie is geen van beide. Nuttige wetten: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b en ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contrapositie); ¬(a → b) ≡ a ∧ ¬b; en de distributieve wetten, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
De kolommen na de streep zijn de opties in de getoonde volgorde.
Antwoord: ∀x ∃y ¬R(x, y)
Kwantoren en redeneringen: ¬∀x P(x) ≡ ∃x ¬P(x) en ¬∃x P(x) ≡ ∀x ¬P(x). Schuif een ontkenning naar binnen, verwissel elke kwantor die ze passeert en ontken de binnenste formule met de propositiewetten, zoals ¬(a → b) ≡ a ∧ ¬b. Een redenering is geldig als de conclusie 1 is in elke rij waarin alle premissen 1 zijn. Eén rij met ware premissen en een onware conclusie is een tegenvoorbeeld en toont aan dat de redenering ongeldig is.
De andere opties laten een kwantor onveranderd, veranderen de volgorde van de kwantoren, of ontkennen de binnenste formule verkeerd.
Antwoord: L = 13
Karnaugh-kaarten: de cellen staan in Gray-code (00, 01, 11, 10), dus naburige cellen, ook die over de randen heen, verschillen in precies één variabele. Groepeer de enen in rechthoeken van 1, 2, 4, 8 of 16 cellen, zo groot en zo weinig mogelijk, totdat elke 1 gedekt is. Elke groep is één productterm: de variabelen die erin constant blijven. Een groep van 2ᵏ cellen verliest k variabelen. Don’t-cares (X) mogen worden gebruikt om groepen groter te maken maar hoeven nooit gedekt te worden. Groepeer je in plaats daarvan de nullen, dan krijg je de minimale POS-vorm.
Elke groep is een rechthoek van 2ᵏ cellen; randcellen zijn buren van de cellen op de tegenoverliggende rand.
Antwoord: n = 7
Flip-flops en tellers: een flip-flop verandert alleen op de actieve klokflank. D kopieert zijn ingang (Q⁺ = D); T wisselt als T = 1; JK houdt vast bij 00, reset bij 01, zet bij 10 en wisselt bij 11. Een n-bits binaire teller heeft 2ⁿ toestanden en telt modulo 2ⁿ; een mod-N-teller telt 0, 1, …, N − 1 en dan weer 0, en heeft de kleinste n met 2ⁿ ≥ N flip-flops nodig. Elke trap van een ripple-teller halveert de frequentie, dus de laatste uitgang van een mod-N-teller loopt op fklok/N. Een Johnson-teller van n flip-flops heeft 2n toestanden, een ringteller n.
Antwoord: 9−1 mod 41 = 32
Inversen en congruenties: a heeft een inverse modulo n precies als ggd(a, n) = 1. Het uitgebreide algoritme van Euclides schrijft 1 = s·n + t·a, en dan is a⁻¹ ≡ t (mod n). Een congruentie a·x ≡ b (mod n) met ggd(a, n) = 1 heeft de oplossing x ≡ a⁻¹·b. Twee congruenties x ≡ r₁ (mod m₁) en x ≡ r₂ (mod m₂) met onderling ondeelbare moduli hebben één oplossing modulo m₁·m₂ (Chinese reststelling). Eulers φ(n) telt de getallen van 1 tot n die onderling ondeelbaar zijn met n: φ(n) = n·∏(1 − 1/p).
Elke rest r wordt geschreven als r ≡ t·9 (mod 41).
Antwoord: x = 23
Inversen en congruenties: a heeft een inverse modulo n precies als ggd(a, n) = 1. Het uitgebreide algoritme van Euclides schrijft 1 = s·n + t·a, en dan is a⁻¹ ≡ t (mod n). Een congruentie a·x ≡ b (mod n) met ggd(a, n) = 1 heeft de oplossing x ≡ a⁻¹·b. Twee congruenties x ≡ r₁ (mod m₁) en x ≡ r₂ (mod m₂) met onderling ondeelbare moduli hebben één oplossing modulo m₁·m₂ (Chinese reststelling). Eulers φ(n) telt de getallen van 1 tot n die onderling ondeelbaar zijn met n: φ(n) = n·∏(1 − 1/p).
Antwoord: C · Insertion sort heeft weinig overhead en is snel op kleine of bijna gesorteerde invoer
Voor kleine n wint de eenvoudige lus van insertion sort van de recursie-overhead van quicksort of mergesort, ook al is insertion sort O(n²).
Antwoord: C · W is een getal, dus de tijd is exponentieel in het aantal bits waarmee W wordt genoteerd
De looptijd is polynomiaal in de waarde van W maar exponentieel in de lengte ervan (log W bits); het 0/1-knapzakprobleem is NP-volledig.
Antwoord: B · Separate chaining (ketenen)
Chaining houdt per bucket een gekoppelde lijst (of een andere structuur) bij; open adressering zoekt een andere vrije plek in de tabel zelf.
Antwoord: A · Alle records staan in gekoppelde bladeren, wat bereikscans efficiënt maakt
In een B+-boom sturen interne knopen alleen de zoektocht en zijn de bladeren in sleutelvolgorde gekoppeld, zodat een bereikquery de eerste sleutel vindt en dan langs de bladeren loopt.
Antwoord: k = 10
Euler, Hamilton en bomen: een samenhangende graaf heeft een Eulercircuit (elke kant één keer, terug naar het begin) als elk hoekpunt even graad heeft, en een Eulerpad dat geen circuit is als precies twee hoekpunten oneven graad hebben; het pad loopt dan van het ene oneven hoekpunt naar het andere. Een Hamiltoncircuit bezoekt elk hoekpunt één keer; Kn heeft er (n − 1)!/2. Een boom op n hoekpunten heeft n − 1 kanten, en een samenhangende graaf met m kanten houdt een opspannende boom over na het verwijderen van m − n + 1 kanten.
Antwoord: kant AC
Kortste paden en opspannende bomen: het algoritme van Dijkstra legt per ronde één hoekpunt vast: het onafgehandelde hoekpunt met de kleinste voorlopige afstand. Zijn afstand is dan definitief, en elke buur v krijgt d(v) = min(d(v), d(u) + w(u, v)). Het algoritme van Kruskal bouwt een minimaal opspannende boom door de kanten van licht naar zwaar te nemen en elke kant over te slaan die een cykel zou sluiten; het algoritme van Prim laat één boom groeien vanuit een beginpunt door steeds de lichtste kant toe te voegen die eruit vertrekt. Een opspannende boom van n hoekpunten heeft n − 1 kanten.
Antwoord: D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
GROUP BY customer_id maakt één groep per klant, en COUNT(*) telt de rijen in elke groep.
Antwoord: B · Als de gemeenschappelijke attributen van R1 en R2 een supersleutel vormen van R1 of van R2
Als de gedeelde attributen alle attributen van R1 of van R2 bepalen, levert terugkoppelen precies de oorspronkelijke rijen op en geen valse tupels.
Antwoord: B · 0–1023
Poorten 0–1023 zijn well-known poorten voor standaarddiensten. 1024–49151 zijn geregistreerde poorten en 49152–65535 dynamische of privépoorten.
Antwoord: D · Het algoritme van Nagle
Het algoritme van Nagle wacht met kleine segmenten om ze te bundelen zolang eerdere data onbevestigd is. Dat bespaart bandbreedte, maar geeft extra vertraging bij interactief verkeer.
Antwoord: H = 14
IPv4-subnetting: een adres heeft 32 bits. Het prefix /p geeft aan hoeveel voorste bits het netwerk aanduiden; de overige 32 − p bits nummeren de hosts. Een subnet heeft 2³²⁻ᵖ adressen, maar het eerste (netwerkadres) en het laatste (broadcastadres) kunnen niet aan hosts worden gegeven, dus er passen 2³²⁻ᵖ − 2 hosts in. Uitzonderingen: een /31 (point-to-pointverbinding, RFC 3021) gebruikt allebei zijn 2 adressen voor hosts, en een /32 is één enkel adres (één host of een loopback).
Antwoord: x = 254
IPv4-subnetting: een adres heeft 32 bits. Het prefix /p geeft aan hoeveel voorste bits het netwerk aanduiden; de overige 32 − p bits nummeren de hosts. Een subnet heeft 2³²⁻ᵖ adressen, maar het eerste (netwerkadres) en het laatste (broadcastadres) kunnen niet aan hosts worden gegeven, dus er passen 2³²⁻ᵖ − 2 hosts in. Uitzonderingen: een /31 (point-to-pointverbinding, RFC 3021) gebruikt allebei zijn 2 adressen voor hosts, en een /32 is één enkel adres (één host of een loopback).
ExamProblems · examproblems.com/courses/computer-science-fundamentals