Fondamenti di Informatica
Aeronautica, Meccanica, Elettrica, Materiali,
Nucleare, Chimica, Ambiente e Territorio
Appello del 15-7-1997
PRIMA PARTE
Esercizio 1 (18 punti)
Una matrice T(n x m) rappresenta la pianta dei posti di un teatro. Gli elementi della matrice possono assumere i valori: 0 (posto libero), 1 (posto occupato), 2 (posto non disponibile perche' riservato al personale). Inoltre, un vettore C, ad n componenti, specifica, per ogni componente i, il costo del biglietto corrispondente ad un qualunque posto in i-esima riga.
1. Scrivere le dichiarazioni di tipo necessarie per i sottoprogrammi 2 e 3 seguenti.
2. Scrivere una procedura o funzione Pascal che, ricevendo in ingresso la matrice T, il vettore C, un intero k, che rappresenta il numero dei biglietti richiesti dal cliente, ed un intero q, che rappresenta il prezzo massimo che il cliente e' disposto a pagare per ogni biglietto, restituisca in uscita il valore vero se e' possibile soddisfare la richiesta del cliente (cioe' se in T esistono k posti liberi, adiacenti sulla stessa riga, con costo unitario ² q), falso altrimenti.
3. Scrivere una procedura o funzione Pascal che, ricevendo in ingresso il vettore C, una coppia di interi i e j, che rappresentano le coordinate di riga e colonna del primo biglietto venduto, ed un intero k, che rappresenta il numero di biglietti adiacenti venduti, restituisca in uscita la lista dei biglietti venduti, cioe' una lista con tanti elementi quanti sono i biglietti venduti nella fila i, ed in cui ogni elemento contiene le coordinate di riga e colonna del posto ed il prezzo di un biglietto.
Esempio

Fondamenti di Informatica
Aeronautica, Meccanica, Elettrica, Materiali,
Nucleare, Chimica, Ambiente e Territorio
Appello del 15-7-1997
SECONDA PARTE
Esercizio 2 (4 punti)
Descrivere la struttura della CPU ed illustrarne le principali funzionalita'.
Esercizio 3 (4 punti)
Scrivere un sottoprogramma Fortran che, ricevendo in ingresso un vettore di interi di ordine N, con N pari, restituisca in uscita il valore vero se il vettore e' simmetrico, cioe' ogni elemento e' uguale al corrispondente elemento speculare rispetto alla meta' del vettore, falso altrimenti.
Esempio
Esercizio 4 (4 punti)
Data la seguente procedura Pascal (che fa parte di un programma completo, contenente le ovvie dichiarazioni di tipo, ecc.):
cosa stampa, ricevendo in input la lista p:
e l'intero n=2? Motivare la risposta.
Download testo in formato Word.