Università di Roma "La Sapienza"
Facoltà di Ingegneria
Corso di Fondamenti di Informatica - A.A. 1999/2000
Corso di Laurea:
Ambiente e Territorio
Appello del 20 giugno 2000 - 1ª prova scritta
tempo a disposizione: 2 ore

 

Problema 1 (18 punti) Un tifoso di calcio scrive su un file di testo i risultati delle partite a cui è interessato. Per ogni partita sono rappresentate nel file le seguenti informazioni:

Ad esempio, in un certo istante il file potrebbe contenere le seguenti informazioni:

GENZANO PRATO 0 3
CROTONE PERUGIA 0 0
TERNI SPOLETO 2 2
PRATO NARNI 4 3
PERUGIA COLLEFERRO 0 0
SPOLETO ANGUILLARA 2 2
GELA COMO 1 0
GELA BARI 0 2
BARI TERNI 2 2

Si richiede di risolvere i seguenti punti:

  1. Scrivere le dichiarazioni dei tipi di dato C da utilizzarsi per risolvere i punti successivi. Qualora si utilizzino variabili globali motivare adeguatamente la scelta.
  2. Scrivere una funzione C (o più) che riceve come parametri di ingresso il nome fisico f del file che contiene i dati e i nomi di due squadre p ed s, e restituisce, attraverso parametri di output e/o valori restituiti dalla funzione, un array A contenente, nell'ordine, i dati relativi a tutte e sole le partite in cui p ha vinto, seguiti dai dati relativi a tutte e sole le partite in cui s ha vinto.

    Ad esempio, facendo riferimento al file sopra riportato e alle squadre PRATO e GELA, la funzione deve restituire l'array A con le seguenti informazioni:

    GENZANO PRATO 0 3 (cella 0)
    PRATO NARNI 4 3 (cella 1)
    GELA COMO 1 0 (cella 2)

  3. Scrivere una funzione C (o più) che, ricevendo come parametri di ingresso il nome fisico f del file che contiene i dati e il nome fisico g di un file, crea un file di testo g contenente i nomi di tutte le squadre che hanno effettuato più pareggi. Scrivere i nome delle squadre su righe differenti.

    Ad esempio, facendo riferimento al file sopra riportato, il massimo numero di pareggi (due) è stato raggiunto dalle squadre PERUGIA e SPOLETO, per cui la funzione deve produrre un file con le seguenti informazioni:

    PERUGIA  (riga 1)
    SPOLETO  (riga 2)


Università di Roma "La Sapienza"
Facoltà di Ingegneria
Corso di Fondamenti di Informatica - A.A. 1999/2000
Corso di Laurea:
Ambiente e Territorio
Appello del 20 giugno 2000 - 2ª prova scritta
tempo a disposizione: 1 ora

 

Problema 2 (4 punti) In relazione alla costruzione di programmi scritti in un linguaggio di programmazione ad alto livello, illustrare i concetti di

 

Problema 3 (4 punti) Si consideri il seguente programma C



#include <stdio.h>
int Boh(int i) {
    if ((i%2) == 0)
        return 1 + Boh(i/2);
    else
        return 0;
}
int main(void) {
    printf("%d\n", Boh(24));
    return 0;
}

 

 

Problema 4 (4 punti) Date le relazioni Automobili(Produttore, Modello, Potenza, VelocitaMax) e Tragitti(Partenza, Destinazione, Distanza), scrivere una interrogazione SQL che costruisca la lista dei produttori delle automobili che, almeno in teoria, sarebbero in grado di completare il tragitto Roma - Milano in meno di 3 ore.

Descrizione degli attributi:

 


File translated from TEX by TTH, version 2.25.
On 26 Jun 2000, 16:33.