Testo prova C
esercizio1.htm — HTML, 4 kB (4563 bytes)
Contenuto del file
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8"> <TITLE>FONDAMENTI DI INFORMATICA II (Prof Lamma)</TITLE> </HEAD> <BODY LANG="en-GB" TEXT="#000000" DIR="LTR"> <DIV TYPE=HEADER> <P LANG="it-IT" STYLE="margin-left: 4cm; font-weight: normal"><BR> </P> </DIV> <h1 LANG="it-IT" CLASS="western" ALIGN=CENTER> FONDAMENTI DI INFORMATICA (II, modulo B, A+B) <br>(2h, punti 30/30) 22 Giugno 2011</h1> <P LANG="it-IT" STYLE="font-weight: normal"><BR> </P> <H2 LANG="it-IT" CLASS="western">Esercizio 2: PROGRAMMAZIONE IN C (punti 20)</H2> <P LANG="it-IT" CLASS="western" ALIGN=JUSTIFY STYLE="font-weight: normal"> <FONT SIZE=3>Un file di testo (<a href="film.txt">film.txt</a>) contiene record relativi a produzioni cinematografiche (si sa che sono al massimo 30). Ogni linea riporta, per ciascun progetto cinematografico, un codice del film (valore numerico intero), nome del regista, budget richiesto (valore numerico intero). Un secondo file testo (<a href="preventivi.txt">preventivi.txt</a>) riporta le spese preventivate da ciascuna produzione, sono riportati il codice del film, il nome del produttore, la sua offerta di spesa (valore numerico intero). Per lo stesso progetto cinematografico ci possono essere state più offerte di produttori diversi, </FONT><FONT SIZE=3><B>e ve ne è almeno una</B></FONT><FONT SIZE=3>.</FONT></FONT></P> <P LANG="it-IT" CLASS="western" ALIGN=JUSTIFY STYLE="font-weight: normal"> <FONT SIZE=2><FONT SIZE=3>I nomi (di regista e produttore) sono stringhe di al massimo 20 caratteri. </FONT> </P> <P LANG="it-IT" CLASS="western" ALIGN=JUSTIFY STYLE="font-weight: normal"> <FONT SIZE=2><FONT SIZE=3>Si scriva un programma C organizzato in (almeno tre) funzioni invocate dal <code>main</code> e dedicate rispettivamente a:</FONT></FONT></P> <OL> <LI><P LANG="it-IT" CLASS="western" ALIGN=JUSTIFY STYLE="margin-top: 0.18cm; margin-bottom: 0.18cm; font-weight: normal"> <FONT SIZE=3>Per ogni record letto dal primo file, cerchi nel secondo file l'elemento che ha lo stesso codice film e l'offerta di spesa maggiore e restituisca una struttura composta dai campi: codice del film, nome del regista, budget richiesto, nome del produttore (che ha fatto l'offerta maggiore) e la sua offerta. Tale funzione ha come parametri un puntatore a file e un elemento; restituisce un tipo <code>struct</code> da definire in base ai campi indicati e richiesti;</FONT></P> <LI><P LANG="it-IT" CLASS="western" ALIGN=JUSTIFY STYLE="margin-top: 0.18cm; margin-bottom: 0.18cm; font-weight: normal"> <FONT SIZE=2><FONT SIZE=3>Inserisca poi la struttura restituita in un albero binario di ricerca T, ordinato sul campo codice; tale funzione ha come parametri la struttura restituita dal punto precedente, il puntatore all'albero T (più eventuali altri a scelta) e restituisce il puntatore all'albero creato;</FONT></FONT></P> <LI><P LANG="it-IT" CLASS="western" ALIGN=JUSTIFY STYLE="margin-top: 0.18cm; margin-bottom: 0.18cm; font-weight: normal"> <FONT SIZE=2><FONT SIZE=3>Stampi ordinatamente in base al codice del film il contenuto dell'albero T su un file di tipo testo (OUTPUT.TXT, da consegnare con i sorgenti ed eseguibile), che riporta, per ciascuna riga, il codice del film, il nome del regista, il budget richiesto, il nome del produttore (che ha fatto l'offerta maggiore) e la sua offerta. Tale funzione ha come parametri il puntatore al file di uscita e il puntatore all'albero T (più eventuali altri a scelta) e restituisce <code>void</code>.</FONT></FONT></P> <LI><P LANG="it-IT" CLASS="western" ALIGN=JUSTIFY STYLE="margin-top: 0.18cm; margin-bottom: 0.18cm; font-weight: normal"> <FONT SIZE=2><FONT SIZE=3><B>Per chi svolge il compito A+B: </B></FONT><FONT SIZE=3>Inserisca in un vettore V</FONT><FONT SIZE=3><B> </B></FONT><FONT SIZE=3>ordinato sul campo codice film gli elementi dell'albero T che hanno il campo budget maggiore del campo offerta. Tale funzione ha come parametri il puntatore all'albero T e il vettore V (più eventuali altri a scelta) e restituisce un <code>int</code> che rappresenta il numero di elementi inseriti in V (facoltativo: si stampi a video poi il contenuto del vettore).</FONT></FONT></P> </OL> <P LANG="it-IT" CLASS="western" ALIGN=JUSTIFY STYLE="margin-left: 1cm; margin-top: 0.18cm; margin-bottom: 0.18cm; font-weight: normal; page-break-before: always"> <BR><BR> </P> </BODY> </HTML>