ESERCITAZIONE DATABASE
IL PROBLEMA
Sviluppare un programma PASCAL per gestire i dati degli studenti del corso
di LP.
Tali dati sono precisamente:
- Nome e cognome
- matricola
- numero del gruppo
- voti (scritto, orale, progetto)
I primi tre dati sono obbligatori, mentre gli altri sono opzionali; inoltre
il numero di gruppo ed i voti possono essere modificati, mentri gli altri
no.
Uno studente ha passato l'esame solamente se
ha voti di scritto, orale ed esercitazione maggiori o uguali a 15 e il
voto finale determinato da
VF = (2/5 Voto progetto) + 3/5 (media tra Voto scritto e Voto orale)
approssimato per eccesso è maggiore o uguale a 18.
La base di dati deve essere persistente, cioè i dati degli studenti
devono essere immagazzinati in memoria di massa alla fine dell'esecuzione
del programma.
Il programma deve fornire le seguenti funzionalità
- inserire\togliere uno studente dal database
- cambiare gruppo ad uno studente
- registrare un voto (scritto, oroale o progetto) ad uno studente
- controllare se uno studente ha passato l'esame
- stampare l'elenco degli studenti (gruppo, cognome, nome)
in ordine di gruppo (e all'interno del
gruppo in ordine per cognome e nome)
- stampare l'elenco degli studenti (matricola, cognome, nome)
in ordine di matricola
- stampare l'elenco degli studenti (cognome, nome)
in ordine per cognome e nome
- stampare l'elenco degli studenti (cognome, nome e i voti registrati)
in ordine per cognome e nome
- stampare l'elenco degli studenti che hanno passato l'esame
(cognome, nome, voto finale)
in ordine per cognome e nome
- stampare le statistiche del corso (numero studenti,
% di coloro che hanno voto scritto, orale, progetto maggiore o uguale a 15),
% di coloro che hanno passato l'esame
- terminare l'esecuzione del programma
SVILUPPO
ANALISI
(analisi del problema)
STRUTTURA MODULARE
(strutturazione in moduli)
FASE 1
(parte sviluppata nella prima lezione)
FASE 2
(parte sviluppata nella seconda lezione)
FASE 3
(parte sviluppata nella terza lezione)
FASE 4
(parte sviluppata nella quarta lezione)
PROGRAMMA 1
(il programma ottenuto combinando i moduli dopo il controllo sintattico)
ULTERIORI ESERCIZI
- Provare ad estendere il programma rendendolo più friendly,
quindi aggiungendo messaggi per l'utente, ad esempio dammi la
matricola, ... .
- Provare ad eseguire il programma dato al punto PROGRAMMA 1, eventualmente mettere
a punto eliminando possibili malfunzionamenti.
- Estendere il programma così sviluppato per trattare
adeguatamente gli errori dell'utente; per esempio inserire matricole
errate, inserire due volte lo stesso studente, richiedere dati/segnare un
voto ad uno studente inesistente, ... .
- Cambiare solamente il modulo STATO implementando lo stato del database
per mezzo di un file di schede; tutto il resto deve rimanere inalterato e
continuare a funzionare.