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 −30 opslaan in 8-bits tweecomplement. Wat is de waarde U van het patroon, gelezen als getal zonder teken?
Een systeem moet elk van 2761 items een eigen binaire code van gelijke lengte geven. Wat is het kleinste aantal bits b dat nodig is?
Je wilt (c ∨ a) → b bewijzen met de contrapositie. Welke implicatie bewijs je in plaats daarvan? Klik erop.
Welke uitspraak is equivalent met ¬∀x (A(x) → B(x)), met de ontkenning helemaal naar binnen geschoven? Klik erop.
Een 4-naar-1-multiplexer heeft selectie-ingangen S₁ = A en S₀ = B, en data-ingangen gekoppeld aan I₀ = 1, I₁ = C, I₂ = 1, I₃ = 0. Voor hoeveel van de 8 combinaties van A, B en C is de uitgang F = 1? Bepaal N.
Een 4-bits Johnson-teller Q₃Q₂Q₁Q₀ begint bij 0000. Bij elke klokflank schuiven de bits één plaats naar rechts (Q₃ → Q₂ → Q₁ → Q₀) en krijgt Q₃ de inverse van Q₀. Geef de toestand Q = Q₃Q₂Q₁Q₀ als decimaal getal na 6 klokflanken.
Vind het kleinste positieve gehele getal x met x ≡ 4 (mod 8) en x ≡ 2 (mod 11).
Gebruik herhaald kwadrateren om 3179 mod 20 te vinden.
Waarom levert dynamisch programmeren geen echte versnelling op voor mergesort?
Waarom is een opzoeking in een hashtabel gemiddeld O(1) maar in het slechtste geval O(n)?
Je hebt een verwijzing naar een knoop in het midden van een lijst. In welke lijst kun je die in O(1) verwijderen?
Een dynamische array verdubbelt als hij vol is. Waarom verkleinen veel implementaties hem pas als hij voor een kwart vol is, en niet voor de helft?
Heeft de samenhangende graaf een Eulercircuit, een Eulerpad dat geen circuit is, of geen van beide? Klik op je antwoord.
Gebruik het algoritme van Dijkstra om de lengte d(E) van het kortste pad van A naar E in de gewogen graaf te vinden.
Welke query geeft het hoogste salaris per afdeling?
De scores zijn 90, 90 en 80. Welke waarden geeft RANK() OVER (ORDER BY score DESC)?
Welk protocol gebruikt het commando "ping"?
Wat bereikt de Diffie-Hellman-sleuteluitwisseling op zichzelf, en wat is de zwakte ervan?
Het netwerk 192.168.8.0/24 wordt verdeeld in /28-subnetten, genummerd 1, 2, 3, … vanaf het laagste adres (subnet 1 begint bij .0). Wat is het vierde octet x van het broadcastadres van subnet 8?
Het netwerk 192.168.116.0/24 wordt met VLSM verdeeld over deze LAN’s: A: 7 hosts, B: 36 hosts, C: 37 hosts, D: 27 hosts. Subnetten worden vanaf .0 omhoog toegewezen, het LAN met de meeste hosts eerst, elk met het kleinste subnet dat past. Wat is het vierde octet x van het netwerkadres van LAN B?
Antwoord: U = 226
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: b = 12 bit
Positionele talstelsels: elk cijfer is zijn waarde maal een macht van het grondtal waard. Binair zijn de posities 1, 2, 4, 8, 16, … waard, hexadecimaal 1, 16, 256, …, met A–F voor 10–15. In 8-bits two's complement is het meest linkse bit −128 waard in plaats van +128; zo worden negatieve getallen opgeslagen.
Antwoord: ¬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 contrapositie is equivalent met de oorspronkelijke uitspraak, dus door haar te bewijzen bewijs je de uitspraak.
Antwoord: ∃x (A(x) ∧ ¬B(x))
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: N = 5
Multiplexer: een 2ⁿ-naar-1-multiplexer geeft één van zijn data-ingangen door aan de uitgang; de selectielijnen, gelezen als binair getal, kiezen welke. Voor een 4-naar-1-MUX met selecties S₁S₀ = AB is F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Door de data-ingangen aan 0, 1, C of C′ te koppelen, maakt de MUX elke functie van A, B en C, wat een veelgebruikte manier is om logica met één chip te bouwen.
Antwoord: Q = 3
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: x = 68
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: 3179 mod 20 = 7
Modulaire machten en RSA: bereken aᵏ mod n door herhaald kwadrateren: schrijf k binair, kwadrateer, reduceer na elke stap en vermenigvuldig de machten waarvan de bit 1 is. Fermat: aᵖ⁻¹ ≡ 1 (mod p) voor een priemgetal p dat a niet deelt, dus de exponent kan modulo p − 1 gereduceerd worden. RSA: kies priemgetallen p en q, n = p·q en φ(n) = (p − 1)(q − 1); de publieke exponent e is onderling ondeelbaar met φ(n), en de privé-exponent is d = e⁻¹ mod φ(n). Versleutel met c = mᵉ mod n en ontsleutel met m = cᵈ mod n.
Antwoord: A · De deelproblemen overlappen niet, dus er valt niets te hergebruiken
De helften van mergesort zijn disjunct en worden elk één keer opgelost; DP helpt alleen als deelproblemen terugkomen, zoals bij Fibonacci.
Antwoord: A · Veel sleutels kunnen in dezelfde bucket botsen
Met een goede hashfunctie en bezettingsgraad (load factor) blijven buckets gemiddeld kort; kwaadwillende of slechte hashing kan alle sleutels in één bucket stoppen.
Antwoord: D · Een dubbel gekoppelde lijst
Een dubbel gekoppelde knoop kent zijn voorganger, dus je kunt prev en next direct opnieuw koppelen; een enkelvoudig gekoppelde lijst moet de voorganger zoeken.
Antwoord: A · Om herhaald vergroten en verkleinen te voorkomen als pushes en pops elkaar bij de grens afwisselen
Verkleinen bij de helft zou in zo'n reeks bij elke bewerking een resize kunnen veroorzaken; de ruimte tussen 1/4 en vol houdt de geamortiseerde kosten O(1).
Antwoord: Eulerpad, geen circuit
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.
Het Eulerpad begint bij het ene oneven hoekpunt en eindigt bij het andere.
Antwoord: d(E) = 15
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.
Elke regel: het vastgelegde hoekpunt, zijn definitieve afstand en de buren waarvan de afstand verbetert.
Antwoord: B · SELECT dept, MAX(salary) FROM emp GROUP BY dept
GROUP BY dept maakt een groep per afdeling en MAX(salary) kiest de hoogste waarde in elke groep.
Antwoord: A · 1, 1, 3
RANK geeft gelijke rijen dezelfde rang en slaat de volgende nummers over (1, 1, 3); DENSE_RANK zou 1, 1, 2 geven.
Antwoord: B · ICMP
Ping verstuurt ICMP echo requests en meet de tijd totdat de echo replies terugkomen.
Antwoord: A · Ze spreekt een gedeeld geheim af over een openbaar kanaal, maar is op zichzelf kwetsbaar voor een man-in-the-middle
Met Diffie-Hellman leiden twee partijen hetzelfde geheim af dat afluisteraars niet kunnen berekenen. Een aanvaller in het midden kan met elke kant een aparte uitwisseling voeren, tenzij de waarden zijn ondertekend of anderszins geauthenticeerd.
Antwoord: x = 127
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
Antwoord: x = 64
VLSM: elk LAN krijgt het kleinste subnet met 2ʰ − 2 ≥ het aantal hosts, dus prefix 32 − h. Door de grootste subnetten eerst toe te wijzen begint elk blok op een veelvoud van zijn eigen grootte, zodat de netwerkadressen volgen door de blokgroottes op te tellen.
LAN B: 192.168.116.64/26.
ExamProblems · examproblems.com/courses/computer-science-fundamentals