| Nome |
Cognome |
Matricola |
| Soluzione preappello 31/05/2024 | ||
|---|---|---|
| Domanda | Risposta | |
| 1 |
Dire qual è la differenza fra le seguenti due istruzioni, in generale e in un caso di esempio. b = a; b = &a; |
La prima istruzione memorizza il valore di a nella variabile b. La seconda ci memorizza il suo indirizzo. Un caso di esempio è il seguente.
La prima istruzione copia il contenuto di a in b, quindi 744.
La seconda istruzione copia l'indirizzo di a, quindi il suo numero di ripiano. In questo esempio, il numero è 2.
|
| 2 |
Convertire i numeri decimali 37 e 15 in binario, senza segno. Sommarli in binario e convertire il risultato in esadecimale. |
37 / 2 = 18 resto 1
18 / 2 = 9 resto 0
9 / 2 = 4 resto 1
4 / 2 = 2 resto 0
2 / 2 = 1 resto 0
1 / 2 = 0 resto 1
⇒ 100101
15 / 2 = 7 resto 1
7 / 2 = 3 resto 1
3 / 2 = 1 resto 1
1 / 2 = 0 resto 1
⇒ 1111
100101 +
1111 =
--------
0 somma 1+1=10 → 0 riporto 1
0 somma 1+0+1=10 → 0 riporto 1
1 somma 1+1+1=11 → 1 riporto 1
0 somma 1+0+1=10 → 0 riporto 1
1 somma 1+0+0= 1 → 1
1 somma 1+0= 1 → 1
--------
110100
Conversione a blocchi di cifre: 110100 = 00110100 = 0011 0100 = 3 4 ⇒ numero in esadecimale: 34. Alternativa: conversione prima in decimale, poi in esadecimale.
110100 =
1 × 25 1 × 24 0 × 23 1 × 22 0 × 21 0 × 20 =
1 × 32 + 1 × 16 + 1 × 4 =
52
52 / 16 = 3 resto 4
3 / 16 = 0 resto 3
⇒ 34
|
| 3 |
Scrivere la rappresentazione del grafo in figura mediante insiemi di successori.
|
Successori: La rappresentazione come liste di successori è quindi:
({1,2,3,4}, {(1,{2}), (2,{1}), (3,{1,4}), (4,{1,2})})
|
| 4 |
Scrivere l'espressione regolare che collima con le stringhe di lettere minuscole che contengono almeno due lettere a. |
Le stringhe da cercare devono avere la forma …a…a…, quindi due a intervallate da altre lettere. Le lettere minuscole sono [a-z]. L'espressione regolare complessiva è quindi la seguente. [a-z]*a[a-z]*a[a-z]* |
| 5 |
Fornire la definizione di NP-hard, e di due problemi NP-hard. |
Un problema è NP-hard se per ogni altro problema in NP esiste un programma che converte l'altro problema in quello NP-hard, e questi programmi impiegano tempo polinomiale. Due esempi sono la soddisfacilità proposizionale e la copertura dei nodi di un grafo. |
NOTA: risposte prive di esauriente motivazione (es. i passaggi delle operazioni numeriche) verranno considerate nulle.