ESEMPI DI DOMANDE PER L’ORALE (chiaramente ci potrebbe
essere molte altre domande su tutti gli argomenti trattati nel corso…)
Quali sono i principali simboli adottati nella rappresentazione degli algoritmi con i diagrammi di flusso.
Rappresentare in formato binario il numero 227
Rappresentare in formato esadecimale il numero 3465
Spiegare le operazioni e le regole dell’algebra booleana.
Si disegnino i diagrammi di flusso per le principali strutture di controllo della programmazione strutturata, e si li commentino brevemente. (max 5 righe per ognuno)
Si citino i sistemi di memoria di massa conosciuti, per ognuno di essi, si indichino i relativi ordini di grandezza per ciò che riguarda tempi di accesso e capacità di memorizzazione. (p.e., “circa 10ms e da 10-20 Mbyte”). (max 10 righe)
Definire il concetto di “algoritmo” e il concetto di “programma”. (max 10 righe)
Definire il concetto di “tipo di dato” e di “tipo di dato strutturato”. (max 10 righe)
Che cos’è la ALU ? (max 5 righe)
Si riporti lo schema generale della macchina di Von Neumann e si descrivano sinteticamente (max 20
righe) le funzioni dei vari blocchi funzionali che la compongono.
Quanta memoria centrale si può rendere disponibile in un
calcolatore che ha un Bus degli Indirizzi di 12bit?
Che cosa si intende per
“interfaccia a riga di comando”, in un sistema operativo? (max
5 righe)
Fare un esempio di nome assoluto di file
e un esempio di nome relativo di file in MS-DOS.
Che cos’è un compilatore? E un interprete? (max 10 righe)
Che cos’è un indirizzo di memoria? (max 10 righe)
Che cosa si intende per “interfaccia a riga di comando”, in un sistema operativo? (max 5 righe)
Come si possono classificare i tipi di dato? (max 20 righe)
Spiegare il tipo di dato “enum” e farne un esempio di uso (max 20 righe)
Spiegare la rappresentazione a puntatori dei vettori C (max 10 righe)
Spiegare le tecniche di passaggio dei parametri in C (max 20 righe)
Spiegare la differenza tra variabili globali e locali del C (max 10 righe)
Spiegare come si sviluppano applicazioni su piu' file in C (max 10 righe)
Spiegare anche attraverso esempi il concetto di complessita' computazionale (max 10 righe)
Cosa e' una struttura dati ricorsiva? (max 10 righe)
Presentare lo schema di realizzazione in C di una struttura a Lista (oppure a Coda, a Pila, o ad Albero Binario) (max 10 righe)
ESEMPI DI ALCUNE ESERCIZI
DATI ALLO PROVA PRATICA
(alcuni di questi esercizi verranno
risolti durante le esercitazioni in laboratorio).
ESERCIZIO 1
Si realizzi un programma in C per
la gestione di un vettore di record rappresentanti dei
dati anagrafici di persone.
I campi dei record dovranno
comprendere:
- una stringa per il nome
- una stringa per il cognome
- un numero intero per l’età
anagrafica
Il programma dovrà realizzare le
seguenti funzionalità:
-
leggere i dati relativi a un
insieme di persone e inserirli in un vettore di record
-
visualizzare i dati relativi
alle persone memorizzate nel vettore
-
ordinare i dati nel vettore
per ordine alfabetico di cognome e visualizzarli in questo ordine
-
visualizzare e salvare su file
di testo tutti e soli i cittadini maggiorenni non in pensione (cioè con età
maggiore di 18 e minore di 65)
ESERCIZIO 2
Si scriva un programma per
gestire un vettore di record.
Ogni record descrive un cerchio
nel piano cartesiano: In particolare: due campi float
rappresentano il centro del cerchio, in termini delle sue cordinate
(Xc,Yc),
mentre un terzo float rappresenta il valore del
raggio del cerchio.
Il programma dovrà prevedere le
seguenti funzionalità:
- lettura da input dei dati del
vettore di record.
- visualizzazione dei dati relativi ai cerchi con area maggiore e minore di tutti
- visualizzazione dei dati relativi al cerchi con centro a maggiore e minore distanza
dall’origine del piano cartesiano, e salvataggio di questi dati su file di
testo
- visualizzazione dei dati del
vettore di record
ESERCIZIO 3
Si scriva un programma per
gestire un vettore di record.
Il vettore di record descrive un
insieme di lattine cilindriche atte a contenere alimenti. In particolare, ogni
record sarà composto di: una stringa atta a contenere una descrizione del
contenuto (p.e., “fagioli”),
l’altezza della lattina (p.e., 12) e il raggio della
lattina (p.e., 7) entrambi in centimetri.
Il programma dovrà prevedere le
seguenti funzionalità:
-
lettura da input dei dati del
vettore di record.
- visualizzazione dei
dati del vettore di record
-
visualizzazione dei dati
relativi ai contenitori con volume maggiore di tutti (si ricorda che il volume
di un cilindro è pari a pigreco*raggio*raggio*altezza)
-
visualizzazione ordinata per
ordine alfabetico di contenuto di tutti i dati del vettore di record
-
visualizzazione di tutte e
sole le lattine con altezza maggiore di 5, e salvataggio dei loro dati su file
di testo
ESERCIZIO 4
Si leggano da input o da file due matrici A e B di dimensioni NxN.
Si calcoli la matrice:
C = (A+BT)A
Si analizzi la prima colonna della matrice C e si verifichi se nella matrice C esiste un’altra colonna uguale, elemento per elemento, alla prima colonna. Se tale colonna esiste, salvarne il valore su file di testo.
ESERCIZIO 5
Si leggano da input o da file due matrici A e B di dimensioni NxN.
Si calcolino le matrici:
C = BA
D=BA
E si verifichi se C e D sono due matrici uguali, e se C è una matrice triangolare superiore oppure triangolare inferiore. Se e’ triangolare, salvarne il contenuto su file di testo.
ESERCIZIO 6
Si legga da input una matrice quadrata A di dimensioni nxn, ed un vettore V di dimensione n.
A partire dal vettore V, si costruisca la matrice VM, di dimensioni nxn, che sarà costituita da n colonne ognuna delle quali uguale al vettore V.
Si calcoli la martice B = (AT+VM)*A
Si verifichi se:
- la matrice B e’ una matrice con tutti gli elementi nulli
- nella matrice B esiste una colonna identica, elemento per elemento, al vettore V, e nel caso si visualizzi il numero di indice di tale colonna e si salvi su file di testo il contenuto della matrice