Fondamenti di informatica: pacchetto last-minute

Formulari, i passaggi chiave del metodo per ogni argomento e 20 esercizi, con le soluzioni complete in fondo.

Nuovi eserciziTorna al corso

Nella finestra di stampa scegli “Salva come PDF” per conservarne una copia sul tuo dispositivo.

1Formule e metodi

Sistemi di numerazione

Pesi delle posizioni
binario 2k, ottale 8k, esadecimale 16k
In decimale
Σ dk·bk
Da decimale
dividi per la base e leggi i resti dal basso verso l’alto
Esadecimale ↔ binario
una cifra esadecimale = 4 bit
Complemento a due
inverti i bit e aggiungi 1

Logica proposizionale e dimostrazioni

Righe di una tabella di verità
2ⁿ
Implicazione
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
Implicazione negata
¬(p → q) ≡ p ∧ ¬q
Doppia implicazione
p ↔ q ≡ (p → q) ∧ (q → p)
De Morgan
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
Leggi distributive
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
Quantificatori negati
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
Modus ponens, modus tollens
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

Metodo

  1. Conta le variabili distinte: la tabella di verità ha 2ⁿ righe, e la prima ha tutti i valori a 1.
  2. Assegna a ogni sottoformula una colonna propria e compila le colonne dall’interno verso l’esterno.
  3. Applica la regola di ogni connettivo: → vale 0 solo per 1 → 0, ↔ vale 1 quando i due lati coincidono.
  4. Per le equivalenze, confronta riga per riga le colonne finali; per un argomento, guarda solo le righe in cui ogni premessa vale 1.
  5. Per negare un enunciato quantificato, sposta ¬ verso l’interno, scambia ∀ e ∃ e nega la formula interna.

Logica digitale: porte, mappe K e flip-flop

Porte di base
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Regole booleane
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Ordine della mappa di Karnaugh
00, 01, 11, 10 (Gray code)
Gruppo di 2ᵏ celle
perde k variabili
Multiplexer 4 a 1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Flip-flop
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Contatori
n bit: 2ⁿ stati; mod N: n minimo con 2ⁿ ≥ N; fout = fclk/N
Contatore asincrono (ripple)
fmax = 1/(n·tpd)
Contatori ad anello e Johnson
n e 2n stati

Metodo

  1. Per un circuito, procedi dagli ingressi all’uscita una porta alla volta e scrivi il valore su ogni filo, oppure scrivi la sua espressione e compila la tabella di verità.
  2. Per la semplificazione, riporta gli 1 (e le condizioni di indifferenza come X) in una mappa di Karnaugh con righe e colonne in codice Gray: 00, 01, 11, 10.
  3. Copri gli 1 con il minor numero possibile di gruppi, i più grandi possibile, di 1, 2, 4, 8 o 16 celle, richiudendoli sui bordi; ogni gruppo è un termine prodotto formato dalle variabili che restano costanti. Raggruppa gli 0 per la forma POS.
  4. Per flip-flop e contatori, leggi gli ingressi a ogni fronte attivo del clock, scrivi lo stato dopo ogni fronte e ricorda che un contatore a n bit ricomincia da capo dopo 2ⁿ stati.

Teoria dei numeri e aritmetica modulare

Divisione con resto
a = q·n + r, 0 ≤ r < n
Euclide
gcd(a, b) = gcd(b, a mod b)
Minimo comune multiplo
lcm(a, b) = a·b/gcd(a, b)
Inversa
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Congruenza lineare
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Funzione φ di Eulero
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

Metodo

  1. Riduci prima ogni numero modulo n; i resti sono compresi tra 0 e n − 1.
  2. Per un MCD, dividi ripetutamente con l’algoritmo di Euclide; l’ultimo resto diverso da zero è il MCD.
  3. Per un inverso, esegui l’algoritmo esteso e tieni il coefficiente di a; aggiungi n se è negativo.
  4. Risolvi a·x ≡ b moltiplicando per a⁻¹; combina due congruenze scrivendo x = r₁ + m₁k.
  5. Per le potenze, scrivi l’esponente in binario ed eleva al quadrato ripetutamente; in RSA, d = e⁻¹ mod φ(n) con φ(n) = (p − 1)(q − 1).

Teoria dei grafi

Lemma delle strette di mano
Σ deg(v) = 2|E|
Grafi completi
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Grafo regolare
|E| = n·k/2
Albero e foresta
|E| = n − 1, |E| = n − c
Foglie di un albero
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Eulero
circuito: tutti i gradi pari; cammino: esattamente 2 gradi dispari
Cicli hamiltoniani in Kn
(n − 1)!/2
Aggiornamento di Dijkstra
d(v) = min(d(v), d(u) + w(u, v))
Cammini di lunghezza L
(Mᴸ)ij

Metodo

  1. Scrivi il grado di ogni vertice; la somma dei gradi è il doppio del numero di lati.
  2. Nelle domande su Eulero, verifica che il grafo sia connesso e conta i vertici di grado dispari.
  3. Per gli alberi, usa n − 1 lati e il lemma delle strette di mano.
  4. Per Dijkstra, tieni una tabella delle distanze provvisorie e a ogni passo fissa il vertice non ancora fissato con la distanza minima.
  5. Per un albero di copertura minimo, ordina i lati per peso e salta ogni lato che chiude un ciclo (Kruskal), oppure fai crescere un solo albero a partire da un vertice iniziale (Prim).

Sottoreti IPv4

Host per sottorete
2(32 − prefix) − 2 (/31: 2, /32: 1)
Dimensione del blocco
256 − (mask octet)
Indirizzo di rete
IP AND maschera
Indirizzo di broadcast
IP OR (NOT maschera): tutti i bit di host a 1
Sottoreti da n bit presi in prestito
2n

2Esercizi

1.Sistemi di numerazioneMedia
complemento a due a 8 bit0−12806403201608040201

Imposta i bit in modo che memorizzino −50 in complemento a due a 8 bit. Letto come numero senza segno, qual è il valore U dello schema?

N = −508 bit
U =
2.Sistemi di numerazioneDifficile
clicca i bit per impostarli012806403201608040201

Imposta i bit sul risultato a 8 bit di 1011 0111 XOR 1011 0010. Qual è il valore R del risultato in decimale?

1011 0111XOR1011 0010
R =
3.Logica proposizionale e dimostrazioniMedia
r → ¬p¬p ∧ ¬r¬r → ¬¬p¬¬p → ¬r

Vuoi dimostrare ¬p → r per contrapposizione. Quale implicazione dimostri al suo posto? Clicca su di essa.

¬p → r
  1. 1r → ¬p
  2. 2¬p ∧ ¬r
  3. 3¬r → ¬¬p
  4. 4¬¬p → ¬r
4.Logica proposizionale e dimostrazioniDifficile
pqrq → (p ∨ r)qp111110101100011010001000

L’argomento con premesse q → (p ∨ r); q e conclusione p non è valido. Clicca la riga della tabella di verità che è un controesempio.

q → (p ∨ r)q∴ p
  1. 1p = 1, q = 1, r = 1
  2. 2p = 1, q = 1, r = 0
  3. 3p = 1, q = 0, r = 1
  4. 4p = 1, q = 0, r = 0
  5. 5p = 0, q = 1, r = 1
  6. 6p = 0, q = 1, r = 0
  7. 7p = 0, q = 0, r = 1
  8. 8p = 0, q = 0, r = 0
5.Logica digitale: porte, mappe K e flip-flopMedia
ABCD000111100001111011111

In questa mappa di Karnaugh esattamente un 1 non ha 1 vicini, quindi resta un gruppo di una cella (un mintermine completo di quattro letterali) nella forma SOP minima. Contano anche i vicini attraverso i bordi della mappa. Clicca su quella cella.

F = Σm(2, 10, 11, 13, 14)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
6.Logica digitale: porte, mappe K e flip-flopDifficile
TQ0​Q0​TQ1​Q1​TQ2​Q2​TQ3​Q3​CLKMOD-12

Un contatore modulo 12 sincrono conta 0, 1, …, 11 e poi torna a 0. Parte da 4. Quale valore Q (in decimale) mostra dopo 28 impulsi di clock?

Q0 = 428N = 12
Q =
7.Teoria dei numeri e aritmetica modulareMedia

Trova l’inverso di 34 modulo 53: il numero x con 0 < x < 53 e 34·x ≡ 1 (mod 53).

a = 34n = 53
34−1 mod 53 =
8.Teoria dei numeri e aritmetica modulareDifficile
mc = me​ mod n384m = cd​ mod n?(n, e) = (493, 19)d

Una chiave RSA usa p = 17, q = 29 ed e = 19. Decifra il testo cifrato c = 384: trova il messaggio m.

p = 17q = 29e = 19c = 384
m =
9.Algoritmi e complessitàMedia

Qual è la soluzione della ricorrenza T(n) = T(n − 1) + O(1)?

  1. AO(log n)
  2. BO(n²)
  3. CO(n)
  4. DO(2ⁿ)
10.Algoritmi e complessitàDifficile

Il problema dello zaino 0/1 risolto con la programmazione dinamica richiede tempo O(nW). Perché si dice pseudo-polinomiale?

  1. APerché n è sempre piccolo
  2. BPerché funziona solo per W = 0
  3. CPerché l'algoritmo è randomizzato e il suo tempo di esecuzione varia a ogni input
  4. DW è un numero, quindi il tempo è esponenziale nel numero di bit usati per scrivere W
11.Strutture datiMedia

Un albero binario ha radice 1 con figlio sinistro 2 e figlio destro 3; il nodo 2 ha figli 4 (sinistro) e 5 (destro). Qual è la visita in postordine?

  1. A5 4 3 2 1
  2. B4 5 2 3 1
  3. C1 2 4 5 3
  4. D4 2 5 1 3
12.Strutture datiDifficile

La struttura union-find (insiemi disgiunti) con unione per rango e compressione dei cammini ha un costo ammortizzato per operazione di:

  1. AO(α(n)), l'inversa della funzione di Ackermann, praticamente costante
  2. BEsattamente O(log n)
  3. CO(n²)
  4. DO(n)
13.Teoria dei grafiMedia

Un albero ha 3 vertici di grado 5, e tutti gli altri suoi vertici sono foglie (grado 1). Quante foglie L ha?

3 × deg 5
L =
14.Teoria dei grafiDifficile
724158131263ABCDEFG

L’algoritmo di Dijkstra parte da A. Clicca il vertice che viene fissato (reso permanente) al passo 4; A stesso è il passo 1.

partenza: Apasso 4
  1. 1A
  2. 2B
  3. 3C
  4. 4D
  5. 5E
  6. 6F
  7. 7G
15.Basi di dati e SQLMedia

La tabella a ha 3 righe e la tabella b ne ha 4. Quante righe restituisce SELECT * FROM a CROSS JOIN b?

  1. A12
  2. B3
  3. C4
  4. D7
16.Basi di dati e SQLDifficile

Quale funzione finestra assegna 1, 2, 3, ... alle righe di ogni partizione senza pari merito?

  1. ACOUNT()
  2. BDENSE_RANK()
  3. CROW_NUMBER()
  4. DRANK()
17.Reti di calcolatoriMedia

Qual è l'indirizzo di rete dell'host 192.168.10.77/26?

  1. A192.168.10.76
  2. B192.168.10.0
  3. C192.168.10.64
  4. D192.168.10.128
18.Reti di calcolatoriDifficile

Nei protocolli a finestra scorrevole, in che cosa Go-Back-N differisce da Selective Repeat dopo la perdita di un frame?

  1. AEntrambi ritrasmettono l'intera finestra dall'inizio
  2. BGo-Back-N ritrasmette solo il frame perso; Selective Repeat ritrasmette quel frame e tutti i successivi
  3. CNessuno dei due ritrasmette mai i frame persi
  4. DGo-Back-N ritrasmette il frame perso e tutti i successivi; Selective Repeat solo il frame perso
19.Sottoreti IPv4Media
/24 → /2711111111111111111111111111100000bit di retebit di host

La rete 192.168.10.0/24 va divisa in almeno 8 sottoreti uguali. Prendendo in prestito il minor numero possibile di bit, quanti host utilizzabili H ha ogni sottorete?

192.168.10.0/248 subnets
H =
20.Sottoreti IPv4Difficile
ultimo ottetto = 39012806413201608141211retehost

Un host ha l'indirizzo 10.20.122.39/30. Qual è il quarto ottetto x del suo indirizzo di rete?

10.20.122.39/30
x =

3Soluzioni

1.Sistemi di numerazione

Risposta: U = 206

Impostare i bit: ogni bit vale una potenza di due (128, 64, …, 1). Una cifra esadecimale è esattamente quattro bit, e nel complemento a due a 8 bit il bit più a sinistra vale −128. Le operazioni bit a bit lavorano su ogni posizione di bit separatamente.

Inverti e aggiungi uno

50 = 0011 0010
invertito: 1100 1101
+1 → 1100 1110

Leggilo senza segno

1100 1110₂ = 256 − 50 = 206

Risposta

U = 206
2.Sistemi di numerazione

Risposta: R = 5

Impostare i bit: ogni bit vale una potenza di due (128, 64, …, 1). Una cifra esadecimale è esattamente quattro bit, e nel complemento a due a 8 bit il bit più a sinistra vale −128. Le operazioni bit a bit lavorano su ogni posizione di bit separatamente.

Bit per bit

XOR dà 1 dove i due bit sono diversi.

1011 0111
XOR 1011 0010
= 0000 0101

Valore del risultato

0000 0101₂ = 5

Risposta

R = 5
3.Logica proposizionale e dimostrazioni

Risposta: ¬r → ¬¬p

Equivalenza logica: due formule sono equivalenti (≡) quando hanno lo stesso valore in ogni riga della tabella di verità. Una tautologia vale 1 in ogni riga, una contraddizione vale 0 in ogni riga, e una contingenza non è né l’una né l’altra. Leggi utili: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b e ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contronominale); ¬(a → b) ≡ a ∧ ¬b; e le leggi distributive, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).

Parti dell’implicazione

a = ¬p, b = r

Contronominale

¬b → ¬a = ¬r → ¬¬p

Risposta

¬r → ¬¬p

La contronominale è equivalente all’enunciato originale, quindi dimostrarla dimostra l’enunciato.

4.Logica proposizionale e dimostrazioni

Risposta: p = 0, q = 1, r = 1

Quantificatori e argomenti: ¬∀x P(x) ≡ ∃x ¬P(x) e ¬∃x P(x) ≡ ∀x ¬P(x). Sposta una negazione verso l’interno, scambia ogni quantificatore che attraversa e nega la formula interna con le leggi proposizionali, come ¬(a → b) ≡ a ∧ ¬b. Un argomento è valido quando la conclusione vale 1 in ogni riga in cui tutte le premesse valgono 1. Una sola riga con premesse vere e conclusione falsa è un controesempio e mostra che l’argomento non è valido.

Premesse e conclusione riga per riga

p = 1, q = 1, r = 1: 1 1 | 1
p = 1, q = 1, r = 0: 1 1 | 1
p = 1, q = 0, r = 1: 1 0 | 1
p = 1, q = 0, r = 0: 1 0 | 1
p = 0, q = 1, r = 1: 1 1 | 0
p = 0, q = 1, r = 0: 0 1 | 0
p = 0, q = 0, r = 1: 1 0 | 0
p = 0, q = 0, r = 0: 1 0 | 0

Controesempio

p = 0, q = 1, r = 1

Risposta

p = 0, q = 1, r = 1

Un argomento di questa forma sembra una regola valida, ma una sola riga basta a mostrare che non lo è.

5.Logica digitale: porte, mappe K e flip-flop

Risposta: AB = 11, CD = 01

Mappe di Karnaugh: le celle sono ordinate in codice Gray (00, 01, 11, 10), quindi le celle vicine, comprese quelle attraverso i bordi, differiscono per esattamente una variabile. Raggruppa gli 1 in rettangoli di 1, 2, 4, 8 o 16 celle, i più grandi e il meno numerosi possibile, finché ogni 1 non è coperto. Ogni gruppo è un termine prodotto: le variabili che restano costanti al suo interno. Un gruppo di 2ᵏ celle perde k variabili. Le condizioni di indifferenza (X) possono servire a ingrandire i gruppi ma non devono mai essere coperte. Raggruppando invece gli 0 si ottiene la forma POS minima.

Vicini di ogni 1

Un 1 con un 1 vicino può far parte di un gruppo di due o più.

m13: m12, m15, m9, m5 → 0
ABCD000111100001111011111

L’1 isolato

m13 = ABC′D → AB = 11, CD = 01

Risposta

AB = 11, CD = 01
6.Logica digitale: porte, mappe K e flip-flop

Risposta: Q = 8

Flip-flop e contatori: un flip-flop cambia solo sul fronte attivo del clock. D copia il suo ingresso (Q⁺ = D); T commuta quando T = 1; JK mantiene per 00, azzera per 01, imposta a 1 per 10 e commuta per 11. Un contatore binario a n bit ha 2ⁿ stati e conta modulo 2ⁿ; un contatore modulo N conta 0, 1, …, N − 1 e torna a 0, e richiede il minimo n con 2ⁿ ≥ N flip-flop. Ogni stadio di un contatore asincrono (ripple) dimezza la frequenza, quindi l’ultima uscita di un contatore modulo N ha frequenza fclk/N. Un contatore Johnson di n flip-flop ha 2n stati, un contatore ad anello n.

Cicli completi

Ogni 12 impulsi riportano il contatore allo stesso stato.

28 = 2·12 + 4

Valore dopo gli impulsi rimanenti

Q = (4 + 4) mod 12 = 8
Q = 1000₂

Risposta

Q = 8
7.Teoria dei numeri e aritmetica modulare

Risposta: 34−1 mod 53 = 39

Inversi e congruenze: a ha un inverso modulo n esattamente quando MCD(a, n) = 1. L’algoritmo di Euclide esteso scrive 1 = s·n + t·a, e allora a⁻¹ ≡ t (mod n). Una congruenza a·x ≡ b (mod n) con MCD(a, n) = 1 ha la soluzione x ≡ a⁻¹·b. Due congruenze x ≡ r₁ (mod m₁) e x ≡ r₂ (mod m₂) con moduli coprimi hanno una soluzione modulo m₁·m₂ (teorema cinese del resto). La φ di Eulero φ(n) conta i numeri da 1 a n coprimi con n: φ(n) = n·∏(1 − 1/p).

Algoritmo di Euclide esteso

Ogni resto r si scrive r ≡ t·34 (mod 53).

r = 53, t = 0
r = 34, q = 1, t = 1
r = 19, q = 1, t = −1
r = 15, q = 1, t = 2
r = 4, q = 3, t = −3
r = 3, q = 1, t = 11
r = 1, q = 3, t = −14

Inversa

1 ≡ −14·34 (mod 53)
x = 39
verifica: 34·39 = 1326 = 25·53 + 1

Risposta

34−1 mod 53 = 39
8.Teoria dei numeri e aritmetica modulare

Risposta: m = 343

Potenze modulari e RSA: calcola aᵏ mod n con il quadrato ripetuto: scrivi k in binario, eleva al quadrato, riduci a ogni passaggio e moltiplica le potenze il cui bit è 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) per un primo p che non divide a, quindi l’esponente si può ridurre modulo p − 1. RSA: scegli i primi p e q, n = p·q e φ(n) = (p − 1)(q − 1); l’esponente pubblico e è coprimo con φ(n), e l’esponente privato è d = e⁻¹ mod φ(n). Cifra con c = mᵉ mod n e decifra con m = cᵈ mod n.

Esponente privato

n = 493, φ(n) = 448
d = 19−1 mod 448 = 283

Decifra con il quadrato ripetuto

283 = 256 + 16 + 8 + 2 + 1
3841 ≡ 384 (mod 493)
3842 ≡ 49 (mod 493)
3844 ≡ 429 (mod 493)
3848 ≡ 152 (mod 493)
38416 ≡ 426 (mod 493)
38432 ≡ 52 (mod 493)
38464 ≡ 239 (mod 493)
384128 ≡ 426 (mod 493)
384256 ≡ 52 (mod 493)
384283 ≡ 384·49·152·426·52 ≡ 343 (mod 493)

Messaggio

m = 343
verifica: 34319 mod 493 = 384

Risposta

m = 343
9.Algoritmi e complessità

Risposta: C · O(n)

Perché è questa la risposta

Ci sono n livelli, ciascuno con lavoro costante, come nella somma ricorsiva di un array.

Risposta

C · O(n)
10.Algoritmi e complessità

Risposta: D · W è un numero, quindi il tempo è esponenziale nel numero di bit usati per scrivere W

Perché è questa la risposta

Il tempo di esecuzione è polinomiale nel valore di W ma esponenziale nella sua lunghezza (log W bit); lo zaino 0/1 è NP-completo.

Risposta

D · W è un numero, quindi il tempo è esponenziale nel numero di bit usati per scrivere W
11.Strutture dati

Risposta: B · 4 5 2 3 1

Perché è questa la risposta

La visita in postordine elabora 4 e 5 prima di 2, poi 3 e infine la radice 1.

Risposta

B · 4 5 2 3 1
12.Strutture dati

Risposta: A · O(α(n)), l'inversa della funzione di Ackermann, praticamente costante

Perché è questa la risposta

Con entrambe le ottimizzazioni, le operazioni richiedono un tempo ammortizzato O(α(n)); α(n) ≤ 4 per qualsiasi n realistico.

Risposta

A · O(α(n)), l'inversa della funzione di Ackermann, praticamente costante
13.Teoria dei grafi

Risposta: L = 11

Eulero, Hamilton e alberi: un grafo connesso ha un circuito euleriano (ogni lato una volta, di nuovo al punto di partenza) quando ogni vertice ha grado pari, e un cammino euleriano che non è un circuito quando esattamente due vertici hanno grado dispari; il cammino va allora da un vertice dispari all’altro. Un ciclo hamiltoniano visita ogni vertice una volta; Kn ne ha (n − 1)!/2. Un albero con n vertici ha n − 1 lati, e un grafo connesso con m lati mantiene un albero di copertura dopo aver tolto m − n + 1 lati.

Lemma delle strette di mano per un albero

L + 15 = 2(L + 3) − 2
L = 11

Risposta

L = 11

Scorciatoia: L = 2 + Σ (d − 2) sui vertici di grado d ≥ 3.

14.Teoria dei grafi

Risposta: D

Cammini minimi e alberi di copertura: l’algoritmo di Dijkstra fissa un vertice per passo: il vertice non fissato con la distanza provvisoria minima. La sua distanza è allora definitiva, e ogni vertice adiacente v riceve d(v) = min(d(v), d(u) + w(u, v)). L’algoritmo di Kruskal costruisce un albero di copertura minimo prendendo i lati dal più leggero al più pesante e saltando ogni lato che chiuderebbe un ciclo; l’algoritmo di Prim fa crescere un solo albero da un vertice iniziale aggiungendo sempre il lato più leggero che ne esce. Un albero di copertura di n vertici ha n − 1 lati.

Dijkstra passo per passo

1. A (0): B: 7
2. B (7): C: 9, D: 11, G: 20
3. C (9)
4. D (11): E: 12, F: 16, G: 17
5. E (12): G: 15
6. G (15)
7. F (16)

passo 4

D

Risposta

D
15.Basi di dati e SQL

Risposta: A · 12

Perché è questa la risposta

Un cross join dà il prodotto cartesiano, 3 × 4 = 12 righe.

Risposta

A · 12
16.Basi di dati e SQL

Risposta: C · ROW_NUMBER()

Perché è questa la risposta

ROW_NUMBER assegna numeri sequenziali univoci; RANK lascia dei buchi dopo i pari merito; DENSE_RANK no.

Risposta

C · ROW_NUMBER()
17.Reti di calcolatori

Risposta: C · 192.168.10.64

Perché è questa la risposta

Le sottoreti /26 iniziano da 0, 64, 128 e 192. 77 cade nel blocco 64–127, quindi l'indirizzo di rete è 192.168.10.64.

Risposta

C · 192.168.10.64
18.Reti di calcolatori

Risposta: D · Go-Back-N ritrasmette il frame perso e tutti i successivi; Selective Repeat solo il frame perso

Perché è questa la risposta

Un ricevitore Go-Back-N scarta i frame fuori ordine, quindi il mittente deve ripetere tutto ciò che segue la perdita. Selective Repeat li memorizza nel buffer e richiede solo quello mancante.

Risposta

D · Go-Back-N ritrasmette il frame perso e tutti i successivi; Selective Repeat solo il frame perso
19.Sottoreti IPv4

Risposta: H = 30

Sottoreti IPv4: un indirizzo ha 32 bit. Il prefisso /p indica quanti bit iniziali identificano la rete; i restanti 32 − p bit numerano gli host. Una sottorete ha 2³²⁻ᵖ indirizzi, ma il primo (indirizzo di rete) e l'ultimo (broadcast) non si possono assegnare agli host, quindi ci stanno 2³²⁻ᵖ − 2 host. Eccezioni: una /31 (collegamento punto-punto, RFC 3021) usa entrambi i suoi 2 indirizzi per gli host, e una /32 è un solo indirizzo (un singolo host o un’interfaccia di loopback).

Bit da prendere in prestito

23 = 8 ≥ 8 → b = 3, /27

Host per sottorete

25 − 2 = 30

Risposta

H = 30
20.Sottoreti IPv4

Risposta: x = 36

Sottoreti IPv4: un indirizzo ha 32 bit. Il prefisso /p indica quanti bit iniziali identificano la rete; i restanti 32 − p bit numerano gli host. Una sottorete ha 2³²⁻ᵖ indirizzi, ma il primo (indirizzo di rete) e l'ultimo (broadcast) non si possono assegnare agli host, quindi ci stanno 2³²⁻ᵖ − 2 host. Eccezioni: una /31 (collegamento punto-punto, RFC 3021) usa entrambi i suoi 2 indirizzi per gli host, e una /32 è un solo indirizzo (un singolo host o un’interfaccia di loopback).

Dimensione del blocco

22 = 4

Sottorete di questo host

rete: ⌊39/4⌋·4 = 36
broadcast: 36 + 4 − 1 = 39
host utilizzabili: 37 … 38

Risposta

x = 36

ExamProblems · examproblems.com/courses/computer-science-fundamentals