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 −119 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 1011 1110 >> 1. Wat is de waarde R van het resultaat in decimaal?
Welke formule is logisch equivalent met ¬(r ↔ p)? Klik erop.
Welke uitspraak is equivalent met ¬∃x A(x), met de ontkenning helemaal naar binnen geschoven? Klik erop.
Gebruik de Karnaugh-kaart om de minimale product-van-sommenvorm (POS) van F(A, B, C) = Σm(4, 5, 7) te vinden. Hoeveel somtermen (factoren) N heeft die?
Een 3-bits binaire oploopteller begint bij 0 (decimaal, Q = 000). Welke stand Q (decimaal) toont hij na 11 klokpulsen?
Vind de inverse van 44 modulo 47: het getal x met 0 < x < 47 en 44·x ≡ 1 (mod 47).
Gebruik herhaald kwadrateren om 926 mod 25 te vinden.
Hoeveel stackruimte gebruikt een eenvoudige recursieve faculteitsfunctie fact(n) = n × fact(n − 1)?
Een probleem is NP-volledig als het:
Welke datastructuur gebruikt een draaiend programma om actieve functieaanroepen en hun lokale variabelen bij te houden?
Hoe lang duurt het zoeken naar een willekeurige sleutel in een binaire min-heap van n elementen?
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(F) van het kortste pad van A naar F in de gewogen graaf te vinden.
Wat geeft SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results terug?
Waarom is SELECT dept, name, COUNT(*) FROM emp GROUP BY dept ongeldig in standaard-SQL?
Wat is de rol van de standaardgateway op een host?
Na herhaalde botsingen kiezen stations in klassiek Ethernet hun wachttijd uit een bereik dat elke keer verdubbelt. Waarom?
Een afdeling heeft 1807 hostadressen nodig in één subnet. Wat is de langste prefixlengte p (kleinste subnet) die groot genoeg is?
Een router heeft routes naar deze netwerken: 10.246.71.0/24, 10.246.72.0/24, 10.246.73.0/24. Wat is de langste prefixlengte p van één samenvattende route die ze allemaal dekt?
Antwoord: U = 137
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 = 95
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.
Naar rechts schuiven met 1 verplaatst elke bit 1 plaatsen naar rechts; bits die rechts uit beeld vallen gaan verloren en links komen nullen binnen.
Antwoord: r ↔ ¬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)
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 = 2
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: 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.
Elke 8 pulsen brengen de teller terug in dezelfde toestand.
Antwoord: 44−1 mod 47 = 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).
Elke rest r wordt geschreven als r ≡ t·44 (mod 47).
Antwoord: 926 mod 25 = 16
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: C · O(n)
De recursie gaat n aanroepen diep voordat er een terugkeert, en elke aanroep heeft een stackframe nodig, dus de functie gebruikt O(n) ruimte.
Antwoord: C · In NP zit en elk NP-probleem er in polynomiale tijd naar te reduceren is
NP-volledige problemen zijn de moeilijkste in NP; een polynomiaal algoritme voor één ervan zou er een opleveren voor heel NP.
Antwoord: A · De call stack
Elke aanroep pusht een stackframe en elke return popt het, daarom wordt de meest recente aanroep als eerste afgerond.
Antwoord: A · O(n)
Een heap geeft geen regel voor welke subboom een sleutel bevat, dus in het slechtste geval moeten alle knopen worden gecontroleerd; alleen het minimum is snel te vinden.
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(F) = 27
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 · Elke naam met het label 'pass' of 'fail', afhankelijk van het cijfer
Een CASE-expressie evalueert haar voorwaarden per rij en geeft de bijbehorende waarde terug, zodat elke rij een label krijgt.
Antwoord: C · name is niet gegroepeerd en niet geaggregeerd, dus het heeft geen enkele waarde per groep
Elke kolom in de SELECT-lijst moet in GROUP BY of binnen een aggregaat staan (of functioneel afhankelijk zijn van de groeperingskolommen); anders is de waarde dubbelzinnig.
Antwoord: D · Het is de router die wordt gebruikt voor verkeer naar andere netwerken
De host stuurt pakketten voor niet-lokale bestemmingen naar de standaardgateway, meestal zijn lokale router.
Antwoord: A · Om de kans op een nieuwe botsing te verkleinen als veel stations concurreren
Elke volgende botsing wijst op meer concurrentie, dus het willekeurige bereik groeit en stations kiezen eerder verschillende tijdsloten. Het past zich zonder centrale sturing aan de belasting aan.
Antwoord: p = 21
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: p = 20
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.246.64.0/20 (die dekt ook 13 netwerk(en) die niet in de lijst staan).
ExamProblems · examproblems.com/courses/computer-science-fundamentals