MODULO MAIN
var COM: COMMANDO; C: CHAR; begin writeln('Vuoi recuperare lo stato iniziale ? (S/N)?'); readln(C); if C= 'S' then RECUPERA_STATO else STATO_VUOTO; repeat LEGGI_COMMANDO(COM); ESEGUI(COM); until E_FINIRE(COM); SALVA_STAT0; end.
MODULO ATTIVITÀ BASE
procedure ESEGUI(COM:COMMANDO); { Usa la variabile globale ARCHI } procedure INSER; var NOME, COGNOME: PAROLA; M: MATRICOLA; G: GRUPPO; S: SCHEDA; begin LEGGI_PAROLA(NOME); LEGGI_PAROLA(COGNOME); LEGGI_MAT(M); LEGGI_GRUPPO(G); SCHEDA_INIZIALE(NOME,COGNOME,M,G,S); AGGIUNGI_SCHEDA(S); end; {INSER} ..... begin {ESEGUI} case COM of INSERISCI: INSER; CANCELLA: CANC; CAMBIA_GRUPPO: CAMBIA_G; VOTO_ORALE: VOTO_O; VOTO_SCRITTO: VOTO_S; VOTO_PROGETTO: VOTO_P; PASSATO: PASS; STAMPA_GRUPPI: STAMPA_G; STAMPA_MATRICOLA: STAMPA:M; STAMPA_COGNOME: STAMPA_C; STAMPA_PASSATI: STAMPA_PAS; STATISTICHE: STA; FINE: end; end; {ESEGUI}sviluppo successivo del modulo
MODULO COMANDI
type COMANDO = (INSERISCI, CANCELLA, CAMBIA_GRUPPO, VOTO_ORALE, VOTO_SCRITTO, VOTO_PROGETTO, PASSATO, STAMPA_GRUPPI, STAMPA_MATRICOLA, STAMPA_COGNOME, STAMPA_PASSATI, STATISTICHE, FINE); procedure LEGGI_COMMANDO(var COM: COMANDO); ..... end; function E_FINE(COM: COMANDO): bool; .... end;sviluppo successivo del modulo
MODULO STATO
type STATO = ..... var ARCHI: STATO; procedure RECUPERA_STATO; { recupero lo stato corrente dalla memoria di massa e lo mette in ARCHI } ..... end; procedure SALVA_STATO; {salva lo stato corrente, contenuto nella variabile ARCHI, sulla memoria di massa} ..... end; procedure STATO_VUOTO; {assegna alla variabile ARCHI l'archivio vuoto} ..... end; procedure AGGIUNGI_SCHEDA(S: SCHEDA); {aggiunge la scheda S all'archivio contenuto nella variabile ARCHI } ..... end;sviluppo successivo del modulo
MODULO SCHEDA
type PAROLA = .... MATRICOLA = ..... GRUPPO= ..... SCHEDA = .... procedure LEGGI_PAROLA(var P: PAROLA); ...... end; procedure LEGGI_MAT(var M: MATRICOLA); ...... end; procedure LEGGI_GRUPPO(var G: GRUPPO); ...... end; procedure SCHEDA_INIZIALE(N, M: PAROLA; MAT: MATRICOLA; G: GRUPPO; var S: SCHEDA); ...... end;sviluppo successivo del modulo
MODULO RISPOSTE
....sviluppo successivo del modulo