Università degli Studi di  Cassino

Corso di Laurea  in Ingegneria Informatica

e delle Telecomunicazioni

 Fondamenti di Informatica 2011-2012: homeworks
 prof. Francesco Tortorella

Homeworks:

Questa pagina contiene le tracce degli esercizi che vanno sviluppati e provati sull'ambiente di sviluppo Netbeans. Per problemi insormontabili potete ricorrere al forum apposito all'interno del forum generale del corso raggiungibile qui.

per giovedì 3/11/2011:


per martedì 15/11/2011:

per martedì 22/11/2011:

per martedì 29/11/2011:

per martedì 6/12/2011:


per martedì 13/12/2011:




Esempi di tracce svolte

Istruzioni per l'uso:
  1. Leggere bene la traccia
  2. Rileggere bene la traccia
  3. Cercare di capire chiaramente quanto richiesto. Se perplessi tornare al punto 1.
  4. Progettare il programma. Una possibile sequenza è:
    1. dichiarare le strutture necessarie
    2. individuare le funzioni necessarie e dichiararne i prototipi
    3. scrivere il main
    4. scrivere le funzioni individuate al punto precedente
  5. Compilare e leggere con attenzione eventuali messaggi del compilatore
  6. Correggere eventali errori
  7. Controllare la correttezza del programma, eventualmente tornando al punto 4. o al punto 1.
  8. SOLO una volta che il programma realizzato si ritiene corretto o se, viceversa, si è superato il limite di 1000 iterazioni nei cicli precedenti, consultare la soluzione proposta (che, si ricorda, è una POSSIBILE soluzione, non LA soluzione; è quindi perfettamente inutile impararla a memoria)
Ogni soluzione è fornita come un file .zip contenente la directory all'interno della quale è il project NetBeans. Il file va quindi espanso salvando la directory in essa contenuta nella directory "NetBeansProjects" presente nella raccolta Documenti. Al successivo avvio di NetBeans, il progetto dovrebbe essere accessibile con il comando "Open Project" (o simile in italiano) sotto il menù "File".



Esempi di tracce da svolgere

Traccia 1
Si scriva un programma che utilizzi la struttura dati più adatta per gestire un elenco di aziende, in cui il generico elemento deve contenere le seguenti informazioni:

nome dell'azienda
tipologia ("meccanica", "tessile", "elettronica", "farmaceutica")
numero di dipendenti
capitale sociale (in migliaia di euro, valore reale)

Il programma deve prevedere inizialmente la lettura di due elenchi di questo tipo con tutti i dati per un numero, rispettivamente, N1 e N2 di aziende specificato dall'utente e quindi porre in ordine alfabetico i due elenchi secondo il nome dell'azienda. Il programma deve quindi fondere i due elenchi in uno solo inserendo gli elementi del secondo nel primo con la modalità seguente: se il generico elemento del secondo elenco ha un corrispettivo nel primo elenco (stesso nome e stessa tipologia) è sufficiente aggiornare i campi numerici con la somma dei valori corrispondenti; in caso contrario, l'elemento va inserito (conservando l'ordinamento) nel primo elenco.
Il programma deve infine stampare l'elenco così ottenuto, fornendo in output, per ciascuna azienda, tutti i dati prodotti.
Costituisce elemento di valutazione positiva la progettazione modulare del programma, l'utilizzo di tecniche per l'allocazione dinamica dela memoria, il commento adeguato del codice, la realizzazione di I/O adeguato.


Traccia 2
Si scriva un programma che definisca e utilizzi la struttura dati più adatta per gestire un elenco di cartelle mediche, in cui il generico elemento deve contenere le seguenti informazioni:

numero di codice del paziente (valore di tipo intero)
cognome del paziente
nome del paziente
reparto di appartenenza ("oculistica", "pediatria", "ortopedia", "medicina")

Il programma deve prevedere inizialmente la lettura dell'elenco con tutti i dati per un numero N di pazienti specificato dall'utente. Al termine, il programma deve ordinare l'elenco per numero di codice crescente e stampare l'elenco così ordinato; deve quindi prevedere la lettura dei codici di K pazienti (con K sempre specificato dall'utente) che andranno eliminati dall'elenco via via che sono inseriti in ingresso, assicurando che si mantenga l'ordinamento dell'elenco.
Il programma deve infine stampare l'elenco complessivo, fornendo in output le iniziali del cognome e del nome del paziente, il numero di codice ed il reparto.
Costituisce elemento di valutazione positiva la progettazione modulare del programma, l'utilizzo di tecniche per l'allocazione dinamica dela memoria, il commento opportunamente dettagliato del codice, la realizzazione di I/O adeguato.


Traccia 3
Si scriva un programma che definisca e utilizzi la struttura dati più adatta per gestire un elenco di informazioni bibliografiche, in cui il generico elemento deve contenere le seguenti informazioni:

cognome dell'autore
nome dell'autore
titolo del libro
anno di pubblicazione
numero di inventario (valore di tipo intero)

Il programma deve prevedere inizialmente la lettura dell'elenco con tutti i dati per un numero N di testi specificato dall'utente e la lettura di due anni A1 e A2 (con A1 minore di A2). Il programma deve costruire un nuovo elenco che contenga i dati di tutti i testi il cui anno di pubblicazione sia compreso tra A1 e A2, ordinato per numero di inventario crescente. Il programma deve infine stampare tale elenco, fornendo in output le iniziali dell'autore, il titolo del libro, l'anno di pubblicazione ed il numero di inventario.
Costituisce elemento di valutazione positiva la progettazione modulare del programma, l'utilizzo di tecniche per l'allocazione dinamica della memoria, il commento opportunamente dettagliato del codice, la realizzazione di I/O adeguato.


Traccia 4
Si scriva un programma che definisca e utilizzi la struttura dati più adatta per gestire un elenco di testi scientifici, in cui il generico elemento deve contenere le seguenti informazioni:

cognome dell'autore
titolo del testo
argomento (valori possibili: "programmazione", "database", "calcolo")
anno di pubblicazione

Il programma deve prevedere inizialmente la lettura dell'elenco con tutti i dati per un numero N di testi specificato dall'utente. L'utente dovrà inoltre fornire in input uno dei possibili argomenti ed un numero K. Il programma deve costruire un nuovo elenco che contenga i dati dei K testi più recenti dell'argomento richiesto, ordinati per anno di pubblicazione decrescente.
Il programma deve infine stampare l'elenco così ottenuto, fornendo in output i dati di ciascun testo.
Costituisce elemento di valutazione positiva la progettazione modulare del programma, l'utilizzo di tecniche per l'allocazione dinamica della memoria, il commento opportunamente dettagliato del codice, la realizzazione di I/O adeguato.
 

Traccia 5
Si scriva un programma che utilizzi la struttura dati più adatta per gestire una playlist di brani musicali, in cui il generico elemento deve contenere i seguenti dati:

titolo del brano
nome dell'esecutore
anno della registrazione
durata del brano in secondi

Il programma deve prevedere inizialmente la lettura dell'elenco per un numero N di brani specificato dall'utente. Una volta inserito l'elenco, il programma deve prevedere la lettura di un valore T e procedere all'eliminazione dall'elenco dei brani di durata inferiore a T. L'elenco ottenuto al termine delle eliminazioni deve essere quindi ordinato per durata del brano in senso decrescente e stampato, riportando tutti i dati di ciascun brano.
Costituisce elemento di valutazione positiva la progettazione modulare del programma, l'utilizzo di tecniche per l'allocazione dinamica della memoria, il commento opportunamente dettagliato del codice, la realizzazione di I/O adeguato.
Francesco Tortorella

Credits: page style by G.B. Bachelet & V.D.P. Servedio

Last modified: Mon Dec 26 21:18:00 CEST 2011