Università di Roma "La Sapienza" — Facoltà di Ingegneria
Corso di Fondamenti di Informatica
Corsi di Laurea: Aerospaziale, Chimica, Elettrica, Materiali, Nucleare,
Ambiente e Territorio (v.p.)
1ª prova di esame del 18 giugno 1999 (II appello estivo)
tempo a disposizione: 120 minuti
Problema 1 (18 punti)
Un docente di Fondamenti di Informatica memorizza in un file di record, per fini statistici, l'esito di tutti gli esami svolti positivamente nell'ambito del suo corso. Per ogni studente esaminato sono incluse le seguenti informazioni:
Esempio. Dato il file contenente le informazioni illustrate in Fig. 1.1 (media: 26.17), il punto 1.2 richiede la costruzione di un file contenente quanto mostrato in Fig. 1.2, mentre il punto 1.3 richiede la costruzione della lista illustrata in Fig. 1.3.
matricola |
nome |
cognome |
corso di laurea |
data esame |
esito |
lode |
09000001 |
Pico |
De Paperis |
AT |
10011998 |
30 |
n |
09000021 |
Paolino |
Paperino |
CIV |
15021998 |
19 |
n |
09000101 |
Macchia |
Nera |
CH |
15021998 |
23 |
n |
09001211 |
Paperon |
de' Paperoni |
INF |
23071997 |
27 |
n |
09002110 |
Rocker |
Duck |
NUC |
23071997 |
28 |
n |
09000113 |
Archimede |
Pitagorico |
MEC |
20021905 |
30 |
s |
Fig. 1.1 |
esito |
30 |
27 |
28 |
30 |
Fig. 1.2 |
|
Fig. 1.3 |
Università di Roma "La Sapienza" — Facoltà di Ingegneria
Corso di Fondamenti di Informatica
Corsi di Laurea: Aeronautica, Chimica, Elettrica, Materiali, Nucleare,
Ambiente e Territorio (v.p.)
2ª prova di esame del 18 giugno 1999 (II appello estivo)
tempo a disposizione: 60 minuti
Problema 2 (4 punti)
Illustrare e discutere le regole di visibilità delle variabili all'interno di un programma Pascal. Quando può essere consigliabile o conveniente l'uso di variabili globali?
Problema 3 (4 punti)
Dato il seguente frammento di codice Pascal:
type PuntE = ^E; E = record info: integer; next: puntE; end; function Boh(p: PuntE): boolean; var q: PuntE; begin { Boh } if p = NIL then Boh:= TRUE else begin q:= p^.next; while ((q <> p) AND (q <> NIL)) do q:= q^.next; Boh:= q = NIL end end; { Boh }
Problema 4 (4 punti)
Si scriva un sottoprogramma Fortran che, dato come parametro una matrice di n righe e 2 colonne, a valori interi, verifichi se esiste qualche minore di ordine 2 il cui determinante è uguale a zero. (Si ricorda che i minori di ordine k di una matrice M sono tutte le sottomatrici quadrate di ordine k presenti in M).