| Nome |
Cognome |
Matricola |
| Soluzione esame 01/07/2024 | ||
|---|---|---|
| Domanda | Risposta | |
| 1 |
Scrivere un semplice programma Java che apre una finestra con un pulsante. Quando si preme il pulsante, viene stampata la scritta "Premuto!" |
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
class Ascoltatore implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Premuto!");
}
}
public class Pulsante {
public static void main(String[] args) {
JFrame finestra;
JButton premuto;
Ascoltatore ascolta = new Ascoltatore();
finestra = new JFrame();
premuto = new JButton("premere");
finestra.add(premuto);
premuto.addActionListener(ascolta);
finestra.pack();
finestra.setVisible(true);
}
}
|
| 2 |
Convertire il numero 12.52 in binario, virgola fissa con quattro bit dopo la virgola. |
Conversione della parte intera per divisioni successive: 12 / 2 = 6 resto 0 6 / 2 = 3 resto 0 3 / 2 = 1 resto 1 1 / 2 = 0 resto 1 Quindi 12 convertito in binario è 1100 Conversione della parte frazionaria per moltiplicazioni successive: .52 * 2 = 1.04 parte intera 1 .04 * 2 = 0.08 parte intera 0 .08 * 2 = 0.16 parte intera 0 .16 * 2 = 0.32 parte intera 0 La parte frazionaria è quindi .1000 se limitata a quattro bit, come richiesto. Il numero 12.52 è quindi 1100.1000 in binario con quattro bit frazionari. |
| 3 |
Mostrare un esempio di grafo che contiene sette archi, e due sottografi indotti da quattro nodi ciascuno, il primo con cinque archi e il secondo con tre. |
In rosso e in verde sono segnati i due sottografi indotti. |
| 4 |
Scrivere l'espressione regolare che collima con le stringhe costituite solo dei caratteri abcd e che contengono una sequenza di esattamente tre a consecutive. La sequenza potrebbe trovarsi anche all'inizio o alla fine della stringa, oltre che nel mezzo. La stringa può contenere anche altre sequenze di a consecutive, ma almeno una deve essere di lunghezza tre e non di più. |
L'espressione regolare aaa collima con tutte le sequenze di tre a, anche seguite o precedute da altre a. La domanda richiede che questo non succeda, e quindi il carattere prima o dopo non deve essere una a. L'espressione regolare [bcd]aaa[bcd] collima con le stringhe di tre a consecutive precedute e seguite da una lettera diversa da a. Non collima però con le sequenze di tre a che si trovano all'inizio o alla fine. E nemmeno con le sequenze di tre a che non sono precedute né seguite da altri caratteri. Per queste occorre fare tre casi a parte. ^aaa$|^aaa[bcd]|[bcd]aaa[bcd]|[bcd]aaa$ |
| 5 |
Dire cos'è la notazione O-grande, a cosa serve e perchè è definita in quel modo. |
La notazione O-grande misura il costo asintotico dei programmi: non il numero di operazioni eseguito, ma come questo numero aumenta rispetto alla grandezza dei dati di input. Un programma ha costo O(f(n)) se
È definita in questo modo per trascurare le componenti di minore entità e lasciare solo la parte di costo che cresce di più all'aumentare di n. |
NOTA: risposte prive di esauriente motivazione (es. i passaggi delle operazioni numeriche) verranno considerate nulle.