Introduzione
Le strutture cicliche nella programmazione rivestono un’importanza enorme, e quindi chi si avvicina al mondo della programmazione deve imparare bene ad utilizzarli.
Per fare questo occorre svolgere diversi esercizi, prima impostando l’algoritmo risolutivo, e poi attraverso la codifica in C++.
L’esercizio che si propone serve proprio a rafforzare la conoscenza, la competenze nell’uso di queste strutture della programmazione e più in generale degli algoritmi.
Testo dell’esercizio:
“Calcolare il valore della merce di un magazzino, ove sono noti il prezzo, il codice e la quantità dei prodotti, e visualizzarlo a video”.
Questo esercizio che sembra molto banale richiede la conoscenza delle strutture cicliche; infatti nell’esercizio non è fatto riferimento al numero dei prodotti.
Questo vuol dire che il numero dei prodotti è arbitrario e che sarà l’utente in base ad un inserimento a decidere quando interrompere il ciclo.
La strategia di risoluzione può essere appunto quella di utilizzare una variabile di tipo carattere di nome “risposta” che determina in base ad un condizione se l’utente vuole inserire altri dati o meno.
Tale variabile assume due valori “s” o “n” che indicano in modo abbreviato la risposta “sì” o “no”.
La tabella delle variabili del nostro algoritmo è quindi:
Uso | Nome | Tipo | Descrizione |
Input | Prezzo | Reale | Prezzo di ogni prodotto |
Input | Codice | Stringa di 4 caratteri | Codice alfanumerico del prodotto |
Input | Q | Intero | Quantità di ogni singolo prodotto |
Input | ris | carattere | risposta dell’utente alla richiesta di nuovo inserimento “s” sì “n” è no. In C++ i caratteri maiuscoli sono distinti da quelli minuscoli. |
Output | totale | Reale | Totale di tutta la merce |
L’algoritmo risolutivo è rappresentato dal seguente diagramma di flusso o flow-chart:
Il software flowgorithm consente la prova del nostro algoritmo sul calcolatore ancor prima di scrivere il codice C++. La notazione differente di flowgorithm è la dichiarazione nei blocchi iniziali delle variabili, e la differente forma che usa per il ciclo “while” che in realtà essendo un ciclo condizionale dovrebbe essere rappresentato nel “rombo”. A parte queste differenti di notazioni, il ciclo continua fin quando l’utente digita “s” come risposta alla richiesta di inserimento di altri dati.
La codifica in C++ potete ricopiarla dalla video lezione pratica n.3