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