ESERCITAZIONE ULTIMA SETTIMANA

ESERCIZIO su liste di interi

Un file di testo (TEMP. TXT) contiene i dati relativi alle medie di tutti gli studenti che devono accedere ad una sessione di laurea.

Si realizzi un programma C che:

  1. Costruisca in memoria centrale una lista che memorizzi, in modo ordinato crescente tali medie (intere) e la stampi.
  2. Letti due valori interi da console N e M, utilizzando la lista, visualizzi il valore delle medie comprese fra N e M ed un opportuno messaggio se non ne esistono.

Ad esempio:

Contenuto di TEMP. DAT

90
100
98
110
88
87

Intervallo

88 101

Stampa

88 90 98 100

È possibile utilizzare librerie C (ad esempio per stringhe) e si devono utilizzare le librerie sulle liste presentate a lezione. Qualunque libreria utente utilizzata va riportata nello svolgimento.

Esercizio su LISTE GENERICHE

Un file binario ( MEMO. DAT ) contiene i dati relativi agli appuntamenti giornalieri di uno studio legale. Ciascun appuntamento è caratterizzato dal cognome della persona da incontrare (al più di 20 caratteri) e l’ora (numero intero da 7 a 20).

Si realizzi un programma C che:

  1. Realizzi una lista che memorizza, in modo ordinato in base ai cognomi , i nominativi delle persone che saranno ricevute e l’ora prevista.
  2. Letto un cognome a terminale, utilizzi la lista per andare a visualizzare a quale ora tale persona sarà ricevuta o un opportuno messaggio se non è previsto nessun appuntamento.
  3. Stampi a video l’elenco dei nominativi (uno per linea) contenuti nella lista, ciascuno preceduto dall'ora del proprio appuntamento.

Ad esempio:

Contenuto di MEMO. DAT:

VERDI 17
ROSSI 7
BIANCHI 9
BLU 7
NERI 17

Risultato della stampa:

9 BIANCHI
7 BLU
17 NERI
7 ROSSI
17 VERDI

È possibile utilizzare le librerie standard C sulle stringhe e le librerie sulle liste esaminate durante il corso.

Esercizio su file e liste

Un file di testo ARCHIVIO.TXT contiene i dati ( primo autore , titolo , numero di copie possedute , numero di copie in prestito ) relativi ai differenti volumi conservati presso una biblioteca. Più precisamente, ogni riga del file contiene nell'ordine, separati da uno spazio bianco:

Si realizzi un programma C che:

1. Legga il contenuto di ARCHIVIO. TXT e costruisca in memoria centrale un vettore V di strutture corrispondenti (si supponga che il file ARCHIVIO. TXT non possa contenere più di 30 righe). Si stampi a video il contenuto del vettore.

2. A partire da V, costruisca una lista L di interi contenente per ciascun volume il numero di copie disponibili nella biblioteca, ovvero la differenza fra il numero di copie possedute e il numero di copie in prestito. Si stampi a video il contenuto della lista L.

3. Utilizzando L per ottenere la somma delle copie disponibili e V per la somma delle copie possedute, calcoli il rapporto fra volumi disponibili e volumi posseduti .

Oppure

3bis. Utilizzando la lista di interi L, stampi il numero di riga di ARCHIVIO. TXT relativo al volume con più copie disponibili. In caso di più volumi con pari numero di copie disponibili, qualunque riga relativa a questi ultimi è considerata una risposta corretta.

Ultima Esercitazione - Laboratorio di Informatica

È dato un file di testo CANZONI. TXT che contiene i dati di una

serie di canzoni (non più di 20), una canzone per riga. Più

precisamente, ogni riga contiene nell'ordine:

Si chiede di scrivere un programma C che, dopo aver definito una struttura brano nel modo appropriato a quanto sopra:

  1. Contenga una funzione leggi_ brani() che, dato il nome del file (ed eventualmente altri parametri se opportuno), legga i dati delle canzoni dal file e li metta in un array di brano di nome vettoreb. Si mostri a video l'array così costruito.
  2. Chieda all'utente il nome di un autore. A partire dal vettore costruito e dall'indicazione dell'utente, costruisca una lista di interi i cui elementi sono dati dalla durata dei brani dell’autore indicato (si supponga che l'autore inserito dall'utente sia presente nell'elenco). Si visualizzi la lista costruita.
  3. Contenga una funzione double media( list listab) con la quale visualizzi la media (con decimali) della durata dei brani contenuti nella lista.

È possibile utilizzare librerie C (ad esempio per stringhe) e si devono utilizzare le librerie sulle liste presentate a lezione. Qualunque libreria utente utilizzata deve essere consegnata.