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
pesi nel complemento a due1−12816403211618140211

La sequenza a 8 bit 1101 1101 memorizza un intero con segno in complemento a due. Qual è il suo valore N in decimale?

1101 11018 bit
N =
2.Sistemi di numerazioneDifficile
2992 codici, b = ? bit?2ᵇ⁻¹…?4?2?1

Un sistema deve assegnare a ciascuno di 2992 elementi un proprio codice binario della stessa lunghezza. Qual è il numero minimo di bit b necessario?

2992
b = bit
3.Logica proposizionale e dimostrazioniMedia
abc¬(a ∨ b)c ∨ ¬(a ∨ b)(¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b))111?110?101?100?011?010?001?000?

In quante delle 8 righe della sua tabella di verità (¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)) è vera? Chiama questo numero N.

(¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b))
N =
4.Logica proposizionale e dimostrazioniDifficile
∃x (F(x) → ¬G(x))∃x (¬F(x) ∧ ¬G(x))∀x (F(x) → ¬G(x))∀x (F(x) ∧ ¬G(x))

Quale enunciato è equivalente a ¬∃x (F(x) ∧ G(x)), con la negazione spostata fino in fondo all’interno? Clicca su di esso.

¬∃x (F(x) ∧ G(x))
  1. 1∃x (F(x) → ¬G(x))
  2. 2∃x (¬F(x) ∧ ¬G(x))
  3. 3∀x (F(x) → ¬G(x))
  4. 4∀x (F(x) ∧ ¬G(x))
5.Logica digitale: porte, mappe K e flip-flopMedia
ABC000111100101324576

Semplifica F = A′B′ + ABC′ + AB′C′ alla sua forma minima a somma di prodotti. Quanti letterali L contiene l’espressione semplificata?

F = A′B′ + ABC′ + AB′C′
L =
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 11. Quale valore Q (in decimale) mostra dopo 32 impulsi di clock?

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

Trova il più piccolo intero positivo x con x ≡ 5 (mod 7) e x ≡ 1 (mod 11).

x ≡ 5 (mod 7)x ≡ 1 (mod 11)
x =
8.Teoria dei numeri e aritmetica modulareDifficile
mc = me​ mod n1350m = cd​ mod n?(n, e) = (1363, 17)d

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

p = 29q = 47e = 17c = 1350
m =
9.Algoritmi e complessitàMedia

Che cosa significa che un problema ha una sottostruttura ottima?

  1. AIl problema ha esattamente una soluzione ottima, condivisa da ogni sottoproblema
  2. BIl problema si può risolvere in tempo costante
  3. COgni sottoproblema ha la stessa dimensione
  4. DUna soluzione ottima può essere costruita da soluzioni ottime dei suoi sottoproblemi
10.Algoritmi e complessitàDifficile

Come si confrontano n! e 2ⁿ per n grande?

  1. An! è O(n²)
  2. B2ⁿ cresce più velocemente di n!
  3. Cn! cresce più velocemente di 2ⁿ
  4. DCrescono allo stesso ritmo
11.Strutture datiMedia

In un min-heap binario memorizzato in un array (indici a partire da 0), i figli del nodo all'indice i si trovano a:

  1. Ai + 1 e i + 2
  2. B2i + 1 e 2i + 2
  3. C2i e 2i + 1
  4. Di/2 e i/2 + 1
12.Strutture datiDifficile

Qual è il vantaggio principale di una skip list rispetto a una lista concatenata ordinata?

  1. ARicerca garantita in O(1) perché ogni nodo memorizza un puntatore a tutti gli altri nodi
  2. BNon usa memoria aggiuntiva
  3. CMemorizza le chiavi senza ordine
  4. DRicerca attesa in O(log n) grazie a più livelli di puntatori in avanti
13.Teoria dei grafiMedia

Un grafo connesso ha 16 vertici e 23 lati. Quanti lati k vanno tolti per ottenere un albero di copertura?

|V| = 16|E| = 23
k =
14.Teoria dei grafiDifficile
161715631214ABCDEF

Trova il peso totale W di un albero di copertura minimo del grafo pesato.

|V| = 6|E| = 8
W =
15.Basi di dati e SQLMedia

Quale query restituisce lo stipendio più alto di ogni reparto?

  1. ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
  2. BSELECT dept, MAX(salary) FROM emp GROUP BY dept
  3. CSELECT MAX(dept), salary FROM emp GROUP BY salary
  4. DSELECT dept, MAX(salary) FROM emp ORDER BY dept
16.Basi di dati e SQLDifficile

Con il controllo della concorrenza multiversione (MVCC), come possono i lettori evitare di bloccare gli scrittori?

  1. AI lettori leggono direttamente i dati non confermati
  2. BI lettori vedono uno snapshot coerente delle versioni confermate delle righe, mentre gli scrittori creano nuove versioni
  3. CGli scrittori non sono ammessi finché c'è un lettore attivo
  4. DI lettori aspettano sempre che tutti gli scrittori abbiano confermato
17.Reti di calcolatoriMedia

Quale flag TCP segnala che un mittente ha finito di inviare dati?

  1. AFIN
  2. BSYN
  3. CPSH
  4. DURG
18.Reti di calcolatoriDifficile

Dopo collisioni ripetute, le stazioni Ethernet classiche scelgono il tempo di attesa da un intervallo che raddoppia ogni volta. Perché?

  1. APer dare priorità alla stazione con l'indirizzo MAC più alto sul cavo condiviso
  2. BPer far propagare più lontano i segnali sul cavo
  3. CPer ridurre la probabilità di collidere di nuovo quando molte stazioni competono
  4. DPer sincronizzare tutte le stazioni su un unico clock
19.Sottoreti IPv4Media
/24 → /2811111111111111111111111111110000bit di retebit di host

La rete 10.174.43.0/24 viene divisa in sottoreti uguali con prefisso /28. Quante sottoreti N ci sono?

10.174.43.0/24/28
N =
20.Sottoreti IPv4Difficile
terzo ottetto = 82012816403211608041201retehost

Un host ha l’indirizzo 172.20.82.26/22. Qual è il terzo ottetto x del suo indirizzo di rete?

172.20.82.26/22
x =

3Soluzioni

1.Sistemi di numerazione

Risposta: N = −35

Sistemi di numerazione posizionali: ogni cifra vale il suo valore per una potenza della base. In binario le posizioni valgono 1, 2, 4, 8, 16, …; in esadecimale 1, 16, 256, …, con A–F per 10–15. Nel complemento a due a 8 bit il bit più a sinistra vale −128 invece di +128: così si memorizzano i numeri negativi.

Somma i pesi

Gli altri bit mantengono i loro normali valori positivi.

−128 + 64 + 16 + 8 + 4 + 1 = −35

Risposta

N = −35
2.Sistemi di numerazione

Risposta: b = 12 bit

Sistemi di numerazione posizionali: ogni cifra vale il suo valore per una potenza della base. In binario le posizioni valgono 1, 2, 4, 8, 16, …; in esadecimale 1, 16, 256, …, con A–F per 10–15. Nel complemento a due a 8 bit il bit più a sinistra vale −128 invece di +128: così si memorizzano i numeri negativi.

Potenze di due

211 = 2048 < 2992
212 = 4096 ≥ 2992

Risposta

b = 12
3.Logica proposizionale e dimostrazioni

Risposta: N = 7

Tabelle di verità: una formula con n variabili distinte ha 2ⁿ righe, una per ogni combinazione di valori di verità (1 = vero, 0 = falso). Procedi dall’interno verso l’esterno e dai a ogni sottoformula una colonna propria. ¬a inverte il valore; a ∧ b vale 1 solo quando entrambi valgono 1; a ∨ b vale 0 solo quando entrambi valgono 0; a → b vale 0 solo quando a = 1 e b = 0; a ↔ b vale 1 quando i due lati sono uguali.

Tabella di verità riga per riga

a = 1, b = 1, c = 1: ¬a = 0, ¬b = 0, ¬b ↔ c = 0, ¬a ∧ (¬b ↔ c) = 0, a ∨ b = 1, ¬(a ∨ b) = 0, c ∨ ¬(a ∨ b) = 1, (¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)) = 1
a = 1, b = 1, c = 0: ¬a = 0, ¬b = 0, ¬b ↔ c = 1, ¬a ∧ (¬b ↔ c) = 0, a ∨ b = 1, ¬(a ∨ b) = 0, c ∨ ¬(a ∨ b) = 0, (¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)) = 1
a = 1, b = 0, c = 1: ¬a = 0, ¬b = 1, ¬b ↔ c = 1, ¬a ∧ (¬b ↔ c) = 0, a ∨ b = 1, ¬(a ∨ b) = 0, c ∨ ¬(a ∨ b) = 1, (¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)) = 1
a = 1, b = 0, c = 0: ¬a = 0, ¬b = 1, ¬b ↔ c = 0, ¬a ∧ (¬b ↔ c) = 0, a ∨ b = 1, ¬(a ∨ b) = 0, c ∨ ¬(a ∨ b) = 0, (¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)) = 1
a = 0, b = 1, c = 1: ¬a = 1, ¬b = 0, ¬b ↔ c = 0, ¬a ∧ (¬b ↔ c) = 0, a ∨ b = 1, ¬(a ∨ b) = 0, c ∨ ¬(a ∨ b) = 1, (¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)) = 1
a = 0, b = 1, c = 0: ¬a = 1, ¬b = 0, ¬b ↔ c = 1, ¬a ∧ (¬b ↔ c) = 1, a ∨ b = 1, ¬(a ∨ b) = 0, c ∨ ¬(a ∨ b) = 0, (¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)) = 0
a = 0, b = 0, c = 1: ¬a = 1, ¬b = 1, ¬b ↔ c = 1, ¬a ∧ (¬b ↔ c) = 1, a ∨ b = 0, ¬(a ∨ b) = 1, c ∨ ¬(a ∨ b) = 1, (¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)) = 1
a = 0, b = 0, c = 0: ¬a = 1, ¬b = 1, ¬b ↔ c = 0, ¬a ∧ (¬b ↔ c) = 0, a ∨ b = 0, ¬(a ∨ b) = 1, c ∨ ¬(a ∨ b) = 1, (¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)) = 1

Conta le righe con valore 1

(¬a ∧ (¬b ↔ c)) → (c ∨ ¬(a ∨ b)): 1, 1, 1, 1, 1, 0, 1, 1
N = 7

Risposta

N = 7
4.Logica proposizionale e dimostrazioni

Risposta: ∀x (F(x) → ¬G(x))

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.

Sposta la negazione verso l’interno

¬∃x (F(x) ∧ G(x)) ≡ ∀x (F(x) → ¬G(x))

Risposta

∀x (F(x) → ¬G(x))

Le altre opzioni lasciano invariato un quantificatore, cambiano l’ordine dei quantificatori oppure negano in modo errato la formula interna.

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

Risposta: L = 4

Algebra di Boole: le regole che semplificano le espressioni sono X + X′ = 1 e X·X′ = 0, X + X = X, l’assorbimento X + X·Y = X, la regola di combinazione X·Y + X·Y′ = X, X + X′Y = X + Y e il teorema del consenso XY + X′Z + YZ = XY + X′Z. Le leggi di De Morgan trasformano (X·Y)′ in X′ + Y′ e (X + Y)′ in X′·Y′. Una mappa di Karnaugh applica queste regole in forma grafica: ogni gruppo di due celle vicine è un uso di XY + XY′ = X.

Mintermini dell’espressione

A′B′ → m(0, 1)
ABC′ → m(6)
AB′C′ → m(4)
ABC00011110011011030214050716

Raggruppa e leggi

F = AC′ + A′B′

Conta i letterali

L = 4

Risposta

L = 4
6.Logica digitale: porte, mappe K e flip-flop

Risposta: Q = 7

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.

32 = 2·12 + 8

Valore dopo gli impulsi rimanenti

Q = (11 + 8) mod 12 = 7
Q = 0111₂

Risposta

Q = 7
7.Teoria dei numeri e aritmetica modulare

Risposta: x = 12

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).

Prima congruenza

x = 5 + 7k

Seconda congruenza

5 + 7k ≡ 1 (mod 11) → 7k ≡ 7 (mod 11)
k ≡ 8·7 ≡ 1 (mod 11)

Risultato

x = 5 + 7·1 = 12
x = 12
verifica: 12 mod 7 = 5, 12 mod 11 = 1

Risposta

x = 12
8.Teoria dei numeri e aritmetica modulare

Risposta: m = 777

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 = 1363, φ(n) = 1288
d = 17−1 mod 1288 = 985

Decifra con il quadrato ripetuto

985 = 512 + 256 + 128 + 64 + 16 + 8 + 1
13501 ≡ 1350 (mod 1363)
13502 ≡ 169 (mod 1363)
13504 ≡ 1301 (mod 1363)
13508 ≡ 1118 (mod 1363)
135016 ≡ 53 (mod 1363)
135032 ≡ 83 (mod 1363)
135064 ≡ 74 (mod 1363)
1350128 ≡ 24 (mod 1363)
1350256 ≡ 576 (mod 1363)
1350512 ≡ 567 (mod 1363)
1350985 ≡ 1350·1118·53·74·24·576·567 ≡ 777 (mod 1363)

Messaggio

m = 777
verifica: 77717 mod 1363 = 1350

Risposta

m = 777
9.Algoritmi e complessità

Risposta: D · Una soluzione ottima può essere costruita da soluzioni ottime dei suoi sottoproblemi

Perché è questa la risposta

La sottostruttura ottima è necessaria sia agli algoritmi greedy sia alla programmazione dinamica per produrre risposte corrette.

Risposta

D · Una soluzione ottima può essere costruita da soluzioni ottime dei suoi sottoproblemi
10.Algoritmi e complessità

Risposta: C · n! cresce più velocemente di 2ⁿ

Perché è questa la risposta

Per n ≥ 4, n! supera 2ⁿ, e il rapporto cresce senza limite perché ogni fattore aggiuntivo di n! è maggiore di 2.

Risposta

C · n! cresce più velocemente di 2ⁿ
11.Strutture dati

Risposta: B · 2i + 1 e 2i + 2

Perché è questa la risposta

Negli array con indici da 0, il figlio sinistro è a 2i + 1, il figlio destro a 2i + 2 e il genitore a ⌊(i − 1)/2⌋.

Risposta

B · 2i + 1 e 2i + 2
12.Strutture dati

Risposta: D · Ricerca attesa in O(log n) grazie a più livelli di puntatori in avanti

Perché è questa la risposta

I livelli casuali permettono alle ricerche di saltare molti nodi, ottenendo un tempo atteso O(log n) per ricerca, inserimento e cancellazione.

Risposta

D · Ricerca attesa in O(log n) grazie a più livelli di puntatori in avanti
13.Teoria dei grafi

Risposta: k = 8

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.

Lati di un albero di copertura

16 − 1 = 15

Lati da togliere

k = 23 − 15 = 8

Risposta

k = 8
14.Teoria dei grafi

Risposta: W = 30

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.

Algoritmo di Kruskal

EF (1): prendi
DE (3): prendi
BE (4): prendi
CE (6): prendi
DF (12): salta, chiude un ciclo
BC (15): salta, chiude un ciclo
AB (16): prendi

Peso totale

W = 1 + 3 + 4 + 6 + 16 = 30

Risposta

W = 30
15.Basi di dati e SQL

Risposta: B · SELECT dept, MAX(salary) FROM emp GROUP BY dept

Perché è questa la risposta

GROUP BY dept crea un gruppo per reparto e MAX(salary) sceglie il valore più alto di ciascuno.

Risposta

B · SELECT dept, MAX(salary) FROM emp GROUP BY dept
16.Basi di dati e SQL

Risposta: B · I lettori vedono uno snapshot coerente delle versioni confermate delle righe, mentre gli scrittori creano nuove versioni

Perché è questa la risposta

L'MVCC conserva le vecchie versioni delle righe, così un lettore può vedere i dati com'erano al momento del suo snapshot, mentre uno scrittore crea una nuova versione invece di sovrascrivere sul posto.

Risposta

B · I lettori vedono uno snapshot coerente delle versioni confermate delle righe, mentre gli scrittori creano nuove versioni
17.Reti di calcolatori

Risposta: A · FIN

Perché è questa la risposta

Ciascuna parte invia FIN quando non ha più dati, e l'altra parte ne conferma la ricezione. SYN serve ad aprire una connessione; RST la interrompe.

Risposta

A · FIN
18.Reti di calcolatori

Risposta: C · Per ridurre la probabilità di collidere di nuovo quando molte stazioni competono

Perché è questa la risposta

Ogni ulteriore collisione indica una maggiore contesa, quindi l'intervallo casuale cresce e le stazioni hanno più probabilità di scegliere slot diversi. Si adatta al carico senza controllo centrale.

Risposta

C · Per ridurre la probabilità di collidere di nuovo quando molte stazioni competono
19.Sottoreti IPv4

Risposta: N = 16

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).

Bit presi in prestito

28 − 24 = 4

Numero di sottoreti

N = 24 = 16

Risposta

N = 16

Ogni sottorete /28 ha 24 − 2 = 14 host utilizzabili.

20.Sottoreti IPv4

Risposta: x = 80

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).

Dimensione del blocco nel terzo ottetto

22 = 4

Sottorete di questo host

rete: 172.20.80.0
broadcast: 172.20.83.255

Risposta

x = 80

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