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 −79 opslaan in 8-bits tweecomplement. Wat is de waarde U van het patroon, gelezen als getal zonder teken?
Wat is het grootste gehele getal zonder teken N dat in 12 bits past?
Welke formule is logisch equivalent met ¬(q ↔ p)? Klik erop.
Welke uitspraak is equivalent met ¬∃x (A(x) → B(x)), met de ontkenning helemaal naar binnen geschoven? Klik erop.
Vereenvoudig F = BC + ABC′ + AB′C′ tot zijn minimale som-van-productenvorm. Hoeveel literals L bevat de vereenvoudigde uitdrukking?
Een 4-bits schuifregister Q₃Q₂Q₁Q₀ bevat 1101. Bij elke klokflank schuiven de bits één plaats naar rechts (Q₃ → Q₂ → Q₁ → Q₀, Q₀ gaat verloren) en komt de seriële ingang in Q₃. De seriële ingang is 1, 0, 0, 0, 1, 1, 0 bij de 7 flanken. Geef de eindtoestand Q = Q₃Q₂Q₁Q₀ als decimaal getal.
Vind het kleinste positieve gehele getal x met x ≡ 8 (mod 10) en x ≡ 9 (mod 11).
Versleutel het bericht m = 1243 met de publieke RSA-sleutel (n, e) = (1333, 17). Bepaal de cijfertekst c.
Dynamisch programmeren is nuttig wanneer een probleem het volgende heeft:
Welk algoritme vindt een minimaal opspannende boom door herhaaldelijk de goedkoopste kant toe te voegen die geen cyclus vormt?
AVL-bomen en rood-zwartbomen garanderen:
Het algoritme van Kahn voor topologisch sorteren verwijdert herhaaldelijk knopen met ingraad 0. Welke structuur bevat die knopen?
Heeft de samenhangende graaf een Eulercircuit, een Eulerpad dat geen circuit is, of geen van beide? Klik op je antwoord.
Het algoritme van Dijkstra start bij A. Klik op het hoekpunt dat in ronde 5 wordt vastgelegd (definitief gemaakt); A zelf is ronde 1.
Waarom kan een tabel maar één geclusterde index hebben?
Transactie T1 vergrendelt rij A en wacht op rij B, terwijl T2 rij B vergrendelt en op rij A wacht. Wat doet een typisch DBMS?
Een browser krijgt HTTP-statuscode 404. Wat betekent dat?
Een DNS-cache-poisoningaanval heeft als doel:
Het netwerk 10.212.112.0/20 wordt verdeeld in gelijke subnetten met prefix /28. Hoeveel subnetten N zijn er?
Een router heeft routes naar deze netwerken: 10.97.170.0/24, 10.97.171.0/24, 10.97.172.0/24, 10.97.173.0/24, 10.97.174.0/24, 10.97.175.0/24, 10.97.176.0/24, 10.97.177.0/24. Wat is de langste prefixlengte p van één samenvattende route die ze allemaal dekt?
Antwoord: U = 177
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: N = 4095
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: q ↔ ¬p
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 (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: L = 4
Booleaanse algebra: de regels die uitdrukkingen vereenvoudigen zijn X + X′ = 1 en X·X′ = 0, X + X = X, absorptie X + X·Y = X, de samenvoegregel X·Y + X·Y′ = X, X + X′Y = X + Y en de consensusstelling XY + X′Z + YZ = XY + X′Z. De wetten van De Morgan veranderen (X·Y)′ in X′ + Y′ en (X + Y)′ in X′·Y′. Een Karnaugh-kaart past deze regels grafisch toe: elke groep van twee naburige cellen is één toepassing van XY + XY′ = X.
Antwoord: Q = 6
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 = 108
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 = 22
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: D · Overlappende deelproblemen en optimale substructuur
Het opslaan van resultaten van overlappende deelproblemen (memoisatie of tabulatie) voorkomt herhaald werk en maakt van exponentiële algoritmen polynomiale.
Antwoord: D · Het algoritme van Kruskal
Kruskal sorteert kanten op gewicht en voegt ze toe als ze verschillende componenten verbinden; Prim laat één boom groeien vanuit een startknoop.
Antwoord: D · Een hoogte van O(log n) door herbalancering
Zelfbalancerende bomen houden de hoogte logaritmisch, zodat zoeken, invoegen en verwijderen in het slechtste geval O(log n) zijn.
Antwoord: C · Een queue (of een willekeurige verzameling) van knopen met ingraad 0
Klare knopen worden in een queue bewaard; het verwijderen van een knoop verlaagt de ingraad van zijn buren, en wie op 0 komt wordt toegevoegd, wat O(V + E) tijd geeft.
Antwoord: geen van beide
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: B
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: B · De rijen kunnen fysiek maar in één volgorde worden opgeslagen
Een geclusterde index ordent de gegevens van de tabel op zijn sleutel, en gegevens kunnen maar in één volgorde worden bewaard; andere indexen zijn niet-geclusterd.
Antwoord: A · Detecteert de deadlock en breekt één transactie als slachtoffer af
Een cyclus in de wait-for-graaf is een deadlock; het DBMS draait één transactie terug zodat de andere verder kan, en het slachtoffer kan opnieuw worden geprobeerd.
Antwoord: D · De gevraagde resource is niet gevonden
404 Not Found betekent dat de server geen resource op die URL heeft. 200 is OK, 401 is Unauthorized en 500 is Internal Server Error.
Antwoord: B · Een resolver een vals IP-adres voor een domein te laten opslaan
Poisoning voegt vervalste records toe aan de cache van een resolver. DNSSEC voegt handtekeningen toe zodat resolvers records kunnen verifiëren.
Antwoord: N = 256
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).
Elk /28-subnet heeft 24 − 2 = 14 bruikbare hosts.
Antwoord: p = 19
Routesamenvatting: een samenvattende route a.b.c.0/p dekt alle netwerken waarvan de eerste p bits overeenkomen. Schrijf het octet dat verschilt van het eerste en het laatste netwerk binair; het aantal gemeenschappelijke voorste bits, plus de bits van de octetten ervoor, is het langste samenvattende prefix.
Samenvattende route: 10.97.160.0/19 (die dekt ook 24 netwerk(en) die niet in de lijst staan).
ExamProblems · examproblems.com/courses/computer-science-fundamentals