Analisi programma
Testo:
In una fabbrica le scatole del materiale vengono inserite come codice in una coda a mano a mano che arrivano.
I tre operai usano il materiale presente in una pila, da cui prelevano la scatola che si trova in testa.
Esiste una pila per ogni operaio; un altro operaio, a richiesta, prende la prima scatola della coda e la inserisce nella pila richiesta. Realizzare un programma che gestisca:
- A) Arrivo del materiale e inserimento del codice nella coda delle scatole disponibili.
- B) Spostamento della scatola dalla coda alla pila dell’interessato (1, 2, 3).
- C) Memorizzazione di tali spostamenti in un file contenente il numero dell’operaio a cui è stata assegnata la scatola e il codice della stessa.
- D) Estrazione della scatola da una delle pile.
- E) Stampa di tutti i codici della coda e delle pile.
Analisi programma
Il programma è stato diviso in 5 parti, ognuna delle quali ha un compito ben preciso:
- 1) Inserimento materiale:
- 2) Spostamento materiale in una pila:
- 3) Salvataggio di tali spostamenti sul file:
- 4) Eliminazione da una delle pile di una scatola:
- 5) Stampa in video dei codici rimasti nella coda e nelle pile:
1) Inserimento materiale
Per fare questo si è dovuta creare una procedura. Nella procedura si genera a random un numero e lo si inserisce in una variabile che è stata inizializzata a zero nel main e richiamata nella nostra procedura.
Dopo aver generato il numero, lo si inserisce nella coda, si incrementa la coda e si verifica che la coda non sia piena, dopodiché si ritorna al menu per la scelta degli altri punti.
Nel caso che la coda sia piena, viene visualizzata a video tale indicazione e quindi, finché non viene spostato un elemento, non sarà possibile inserire altri codici.
2) Spostamento codici nella pila
Anche in questo caso, per fare il seguente punto, è stato necessario creare una procedura.
Per prima cosa è stata richiamata la variabile contenente il codice del primo elemento della coda ed è stata anche creata una nuova variabile che serve per memorizzare il numero che si genera a random, che equivale alla pila. Dopodiché, con un per caso, si va a inserire nella pila che è stata scelta il primo elemento inserito nella coda.
Dopodiché lo si stampa a video e si incrementa la pila.
3) Salvataggio di tali spostamenti su file
Dunque, in questo caso, si utilizza la stessa procedura del punto due, con un’altra procedura che serve per stampare a video il contenuto del file.
Alla procedura precedente è stata aggiunta una parte per la creazione del file, che crea il file se non c’è oppure inizia a scrivere in fondo a quello che contiene già.
Nell’altra procedura è bastato stampare il contenuto di tale file.