Analisi del programma

Materie:Appunti
Categoria:Informatica

Voto:

2 (2)
Download:84
Data:06.04.2001
Numero di pagine:2
Formato di file:.doc (Microsoft Word)
Download   Anteprima
analisi-programma_1.zip (Dimensione: 3.76 Kb)
readme.txt     59 Bytes
trucheck.it_analisi-del-programma.doc     22 Kb



Testo

ANALISI DEL PROGRAMMA “GESTIONE DEL PERSONALE”

Cosa Ottenere: Il testo richiede un programma in grado di gestire in modo automatico le operazioni di gestione del personale della cooperativa di insegnanti. Ci sono quattro operazioni fondamentali che il testo richiede:
1. Quando un nuovo socio si iscrive il suo nominativo viene inserito alla fine di ogni elenco di corsi in cui il nuovo socio è in grado di esercitare.
2. Quando c’è una richiesta per un corso il primo insegnante presente nella lista viene incaricato di recarsi sul posto ed il suo nominativo viene cancellato dalla lista stessa.
3. Se ad una richiesta il docente risulta già occupato in un corso, il suo nominativo viene posto alla fine della lista di appartenenza.
4. Quando un docente termina un corso il suo nominativo viene posto alla fine della lista corrispondente.

Come Ottenerlo: Per risolvere ciò che il testo richiede si è pensato di creare un menu iniziale a cascata dove ogni punto corrisponde ad una determinata richiesta del testo; poi si crea una coda per ogni lista di corsi (una lista per il corso di C++, etc.).
Per risolvere il primo punto del testo è necessario creare una procedura che letto il nominativo, e i corsi corrispondenti al nuovo socio da input, inserisce il nominativo di quest’ultimo alla fine di ogni coda a cui il socio appartiene (naturalmente ogni qualvolta si inserisce un nome bisogna verificare se la coda sia già piena).
Per risolvere il secondo punto del testo è necessario creare una procedura che letto da input il tipo di corso richiesto, si individua la coda rispettiva e viene eliminato il primo nominativo (socio che ha il compito di recarsi sul posto) che successivamente verrà salvato in un vettore di record; e in un campo viene scritto che il docente è occupato e in un altro la data di fine corso.
Per risolvere il terzo punto bisogna sfruttare la procedura del punto due, ma bisogna anche testare se il docente è già occupato in altri corsi (leggendo il vettore di record sopra utilizzato); in tal caso il suo nominativo viene posto alla fine della coda dove risultava in prima posizione.
Per risolvere il quarto punto bisogna per prima cosa rileggere il campo dove abbiamo salvato il nominativo dell’insegnante con la data di fine corso, se la data coincide con la data inserita da input, allora il nominativo del socio viene posto alla fine della coda corrispondente al corso appena terminato.

Dati di Input: In input il programma richiede il nominativo di ogni socio, associato al tipo di corso. Poi, in base alle scelte fatte dal menu principale si inseriscono in campi diversi di un record se il socio è occupato da un corso e la data di rientro dal corso.
Dati di Output: In output il programma restituisce il nominativo dell’insegnante che è stato richiesto per il corso.

Dichiarazione Dati:

CONST DIM=100;
CODA = RECORD
CORPOCODA: STRING;
CIMA: 1..DIM;
FONDO: 1..DIM;
END;
REC = RECORD
NOME: STRING;
OCCUPATO: STRING;
DATA: INTEGER;
END;
VAR
C,PASCAL, BASIC:ARRAY[1..DIM] OF CODA;
ELAB:ARRAY[1..100] OF REC;
I,J,K:INTEGER;

Esempio