Fondamenti di Informatica
Ingegneria Aeronautica, Meccanica, Elettrica, Materiali,
Nucleare, Chimica, Ambiente e Territorio
Appello del 19-2-1997
PRIMA PARTE

Esercizio 1 (18 punti)

Una associazione naturalistica sta studiando la fauna selvatica di un bosco che si estende su una supeficie di 20km x 30km. In particolare vuole registrare il numero di tane di volpi e di scoiattoli. Per fare ciò ha suddiviso il bosco in ‘regioni’ di 1 km2 e le ha identificate con due coordinate con valori che variano da 0 a 19 e da 0 a 29. La regione di coordinate 0,0 include il punto fissato come origine, mentre la regione 5,6 é situata 5km a sud e 6km ad est dal punto fissato come origine.

Per ogni regione vengono memorizzate le seguenti informazioni:
· le coordinate stabilite con le regole descritte
· il numero di tane di volpe (0 se assenti)
· il numero di tane di scoiattolo (0 se assenti)

Non tutte le regioni sono state censite e i dati sono stati memorizzati in un ordine casuale in una lista (rappresentata con record e puntatori).

1. Scrivere le dichiarazioni di tipo delle strutture dati necessarie per risolvere i problemi seguenti.

2. Scrivere un sottoprogramma che ricevendo in ingresso la lista e due coppie di coordinate, calcoli e restituisca in uscita il numero totale di tane di ognuno dei due animali presenti nell’area geografica definita dalle due coppie di coordinate. Ad esempio se le due coppie di coordinate sono 3,4 e 6,5 il sottoprogramma dovrà calcolare il numero totale di tane di ciascun animale che sono contenute nelle regioni (3,4), (3,5), (4,4), (4,5), (5,4), (5,5), (6,4), (6,5).

3. Scrivere un sottoprogramma che ricevendo in ingresso la lista e la parola ‘volpe’ o la parola ‘scoiattolo’, crei e restituisca in uscita una nuova lista contenente i dati relativi alle regioni che contengono un numero maggiore di zero di tane dell’animale prescelto.


Fondamenti di Informatica
Ingegneria Aeronautica, Meccanica, Elettrica, Materiali,
Nucleare, Chimica, Ambiente e Territorio
Appello del 19-2-1997
SECONDA PARTE
Esercizio 2 (punti 4)
Descrivere le funzioni del gestore dei processi e in particolare il modo in cui gestisce le interruzioni interne ed esterne.
Esercizio 3 (4 punti)
Che cosa stampa il programma seguente se vengono lette le coppie di dati (2.0, 3), (2.0, 10), (2.0, -3)?
Motivare adeguatamente la risposta.
Esercizio 4 (4 punti)
Dato il seguente programma FORTRAN
.............PROGRAM Matrici
.............REAL A(-5:4, 6), SomPos
* legge una matrice reale
.............READ(*,*) A
* richiama la function SomPos che calcola la somma degli elementi di valore positivo di A
.............WRITE(*,*) SomPos(A)
.............STOP
.............END
scrivere la function SomPos.
Download testo in formato Word.