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.
Het 8-bits patroon 1001 1110 slaat een geheel getal met teken op in two's complement. Wat is de waarde N in decimaal?
Wat is het grootste gehele getal zonder teken N dat in 32 bits past?
Welke formule is logisch equivalent met p ↔ q? Klik erop.
De premissen b ∨ a; ¬b zijn gegeven. Welke conclusie volgt eruit? 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₂ = 0, I₃ = C. Voor hoeveel van de 8 combinaties van A, B en C is de uitgang F = 1? Bepaal N.
Een 6-bits ripple-teller (asynchroon) is gebouwd met flip-flops met een voortplantingsvertraging van 10 ns elk. Alle uitgangen moeten stabiel zijn vóór de volgende klokflank. Bepaal de maximale klokfrequentie fmax.
Los 28x ≡ 10 (mod 39) op. Geef de oplossing x met 0 < x < 39.
Gebruik herhaald kwadrateren om 6125 mod 49 te vinden.
Een gretig (greedy) algoritme:
Kortste enkelvoudige paden kunnen in polynomiale tijd worden gevonden. Wat is bekend over het vinden van het langste enkelvoudige pad tussen twee knopen in een algemene graaf?
Waar staat in een binaire heap die in een array vanaf index 0 is opgeslagen de ouder van de knoop op index i?
Waarom gebruiken databases voor indexen vaak B+-bomen in plaats van gewone B-bomen?
Hoeveel verschillende Hamiltoncircuits H heeft de volledige graaf K6? Circuits die alleen verschillen in het beginpunt of de richting tellen als hetzelfde.
Het algoritme van Kruskal bouwt een minimaal opspannende boom. Klik op de kant die het toevoegt als kant nummer 3; overgeslagen kanten tellen niet mee.
Een vreemde sleutel is gedeclareerd met ON DELETE CASCADE. Wat gebeurt er als een ouderrij wordt verwijderd?
Waarom gebruik je na customers LEFT JOIN orders COUNT(o.id) in plaats van COUNT(*) om bestellingen per klant te tellen?
Welk protocol gebruikt het commando "ping"?
Een remote-terminalapplicatie voelt traag aan omdat kleine pakketten met toetsaanslagen worden tegengehouden. Welk TCP-mechanisme is hier vaak verantwoordelijk voor?
Het netwerk 172.21.0.0/16 wordt verdeeld in gelijke subnetten met prefix /21. Hoeveel subnetten N zijn er?
Een host heeft het adres 10.20.203.138/25. Wat is het vierde octet x van zijn netwerkadres?
Antwoord: N = −98
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.
De andere bits houden hun gewone positieve waarde.
Antwoord: N = 4,295 × 10⁹
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: (p → q) ∧ (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: a
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.
Antwoord: N = 4
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: fmax = 16,67 MHz
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 = 31
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: 6125 mod 49 = 41
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 · Maakt bij elke stap de lokaal beste keuze
Gretige algoritmen zijn snel en optimaal voor sommige problemen (bijv. Dijkstra, Huffman-codering), maar niet in het algemeen (bijv. wisselgeld teruggeven bij sommige muntsystemen).
Antwoord: A · Het is NP-moeilijk
Een langste enkelvoudig pad van lengte V − 1 is een hamiltonpad, een NP-volledig probleem; op gerichte acyclische grafen is het echter in lineaire tijd oplosbaar.
Antwoord: B · Op index ⌊(i − 1) / 2⌋
De kinderen van i staan op 2i + 1 en 2i + 2, dus de ouder van i staat op ⌊(i − 1) / 2⌋; bij indexering vanaf 1 is het ⌊i / 2⌋.
Antwoord: D · 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: H = 60
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 CE
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 kindrijen die ernaar verwijzen worden automatisch verwijderd
CASCADE geeft het verwijderen door aan verwijzende rijen; andere opties zijn RESTRICT/NO ACTION (weigeren) en SET NULL.
Antwoord: D · COUNT(*) telt de met NULL gevulde rij als 1 voor klanten zonder bestellingen
De left join geeft voor zulke klanten één rij met NULL in de bestelkolommen; COUNT(o.id) slaat de NULL over en meldt correct 0.
Antwoord: D · ICMP
Ping verstuurt ICMP echo requests en meet de tijd totdat de echo replies terugkomen.
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: N = 32
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 /21-subnet heeft 211 − 2 = 2046 bruikbare hosts.
Antwoord: x = 128
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