cicli nidificati
cicli nidificati
il ciclo nidificato è un secondo ciclo che viene eseguito all’interno del primo ciclo.
il secondo ciclo funziona come il primo, ma bisogna seguire queste regole altrimenti potrebbe non funzionare.
- 1. le operazioni del ciclo interno vanno eseguite nel ciclo esterno: nel primo mentre o while bisogna eseguire le operazioni iniziali dell’altro ciclo, azzeramento dei contatori ecc per non avere problemi.
- 2. le operazioni finali del ciclo devono essere eseguite sempre all’interno del primo mentre, altrimenti i valori delle variabili se viene rieseguito il ciclo si perdono.
i due cicli come avrete capito si chiamano:
- 1. ciclo esterno: il ciclo che viene eseguito per primo e che esegue le operazioni iniziali e finali del ciclo interno.
- 2. ciclo interno: il ciclo che viene eseguito all’interno del ciclo esterno
concetto di max e min
questi concetti non sono utili per eseguire l’esercizio, ma è utile saperli per utilizzi futuri.
max o massimo: si confronta un valore di una variabile con il valore di max o massimo, se la variabile è > massimo allora in massimo si inserisce il nome della variabile, altrimenti si passa avanti.
max deve essere azzerata prima del ciclo con il numero 0.
min o minimo: si confronta il valore della variabile min o minimo, se la variabile è < minimo in minimo si inserisce il nome della variabile altrimenti si passa avanti.
minimo deve essere azzerato con un numero più alto possibile, come 100000.
prospetti
nei cicli nidificati si utilizzano anche i prospetti, dei sistemi per creare dei tabulati con i risultati dati dai vari cicli che terminano.
il tabulato è una tabella che asseconda del linguaggio si inserisce in un’oggetto, nel visual basic che prendiamo noi come riferimento si utilizza una list box.
il tabulato è composto da 3 parti:
- 1. righe di intestazione: in queste righe si inseriscono le scritte statiche o le scritte dinamiche che devono essere inserite una sola volta.
esiste anche l’intestazione della riga dettaglio che contiene le intestazioni di tutti i valori dinamici che devono essere inseriti.
esempio:
scrivi “rubrica telefonica”
scrivi “nome, cognome, indirizzo, e-mail, numero di telefono, sito web, contatto social”
questa è l’intestazione della riga dettaglio che per ogni ciclo che va avanti, dopo questa riga il programma inserisce i dati nome, cognome, indirizzo, e-mail, numero di telefono, sito web, contatto social che noi gli scriviamo da tastiera.- righe dettaglio: contengono, come detto sopra, i valori contemplati dalla riga di intestazione, che noi gli scriviamo da tastiera o che provengono da elaborazioni successive del programma.
- righe finali: queste righe contengono i risultati finali del programma, una volta che tutti i cicli si sono conclusi con successo.
nota: le righe che vanno da * a * si eseguono all’interno del ciclo interno
si vuole effettuare una statistica sul fatturato della alfa spa.a tale scopo per ogni fattura si inserisca il numero della fatt e il cliente, e per ogni prodotto fatturaato la descrizione del prodotto, il prezzo fatturato, la quantita.
stampare il seguente fatturato:
statistica fatturato alfa spa- fattura numero
cliente
prodotto, prezzo unitario, quantità , importo
iva 22 %
*totale più iva
totale di tutte le fatture
pseudo codifica
inizio inizio operazioni ciclo esterno totalefatture=0
scrivi “statistiche fatture alfa spa”
scrivi “numero fattura, cliente” scrivi “inserisci numero fattura, invio per terminare”
leggi fattura
fine operazioni iniziali ciclo esterno mentre fattura<>””
scrivi “nome cliente”
leggi cliente
scrivi cliente & fattura
inizio operazioni iniziali ciclo interno scrivi “inserisci descrizione prodotto, invio per terminare”
leggi prodotto
totaleimporti=0
scrivi “prodotto, quantità, prezzo unitario, importo”
fine operazioni ciclo interno mentre prodotto<>””
scrivi “prezzo unitario”
leggi prezzo
scrivi “quantità acquistate”
leggi quantita
prezzototale=prezzo*quantita
totaleimporti=totaleimporti+prezzototale
scrivi prodotto&quantita&prezzo&prezzototale
scrivi “inserisci descrizione prodotto, invio per terminare”
leggi prodotto fine mentre
inizio operazioni finali ciclo interno prezzoiva=prezzototale*22/100
fine operazioni finali ciclo interno scrivi “totale di tutti gli importi dei prodotti fatturati ” & totaleimporti
scrivi “iva al 22 % ” & prezzoiva
totalefatture=totalefatture+totaleimporti+prezzoiva
scrivi “inserisci numero fattura, invio per terminare”
leggi fattura
fine mentre
scrivi “totale di tutte le fatture” & totalefatture
visual basic
in visual basic create un nuovo progetto e dalla casella degli strumenti inserite un bottone e una list box.
cambiate la proprietà text al bottone e chiamatelo avvia, esegui o come vi pare.
cambiate la proprietà name (non text ma name) alla list box e chiamatela l1.
codice visual basic
dim cliente as string
dim prezzototale as single dim prezzo as single
dim totaleimporti as single
dim quantita as single dim prodotto as string
dim fattura as single
dim prezzoiva as single
dim totalefatture as single
totalefatture=0
l1.items.add(“”statistiche fatture alfa spa”)
l1.items.add(“cliente, numero fattura”)
messagebox.show(“inserisci numero fattura, invio per terminare”)
fattura=inputbox(” “)
while fattura<>”” messagebox.show(“inserisci cliente”)
cliente=inputbox(” “)
l1.items.add(cliente & fattura)messagebox.show(“inserisci prodotto, invio per terminare”)
prodotto=inputbox(” “)
totaleimporti=0
while prodotto<>””
messagebox.show(“inserisci prezzo unitario”)
prezzo=inputbox(” “)
messagebox.show(“inserisci quantità acquistata”)
quantita=inputbox(” “)
prezzototale=prezzoquantita totaleimporti=totaleimporti+prezzototale l1.itemms.add(prodotto&quantita&prezzo&prezzototale) messagebox.show(“inserisci prodotto, invio per terminare”) prodotto=inputbox(” “) end while prezzoiva=prezzototale22/100 l1.items.add(“totale di tutti gli importi dei prodotti fatturati ” & totaleimporti)
l1.items.add(“iva al 22 % ” & prezzoiva)
totalefatture=totalefatture+totaleimporti+prezzoiva messagebox.show(“inserisci numero fattura, invio per terminare”)
fattura=inputbox(” “) end while
l1.items.add(“totale di tutte le fatture” & totalefatture
- righe dettaglio: contengono, come detto sopra, i valori contemplati dalla riga di intestazione, che noi gli scriviamo da tastiera o che provengono da elaborazioni successive del programma.
il ciclo nidificato è un secondo ciclo che viene eseguito all’interno del primo ciclo.
il secondo ciclo funziona come il primo, ma bisogna seguire queste regole altrimenti potrebbe non funzionare.
- 1. le operazioni del ciclo interno vanno eseguite nel ciclo esterno: nel primo mentre o while bisogna eseguire le operazioni iniziali dell’altro ciclo, azzeramento dei contatori ecc per non avere problemi.
- 2. le operazioni finali del ciclo devono essere eseguite sempre all’interno del primo mentre, altrimenti i valori delle variabili se viene rieseguito il ciclo si perdono.
i due cicli come avrete capito si chiamano:
- 1. ciclo esterno: il ciclo che viene eseguito per primo e che esegue le operazioni iniziali e finali del ciclo interno.
- 2. ciclo interno: il ciclo che viene eseguito all’interno del ciclo esterno
concetto di max e min
questi concetti non sono utili per eseguire l’esercizio, ma è utile saperli per utilizzi futuri.
max o massimo: si confronta un valore di una variabile con il valore di max o massimo, se la variabile è > massimo allora in massimo si inserisce il nome della variabile, altrimenti si passa avanti.
max deve essere azzerata prima del ciclo con il numero 0.
min o minimo: si confronta il valore della variabile min o minimo, se la variabile è < minimo in minimo si inserisce il nome della variabile altrimenti si passa avanti.
minimo deve essere azzerato con un numero più alto possibile, come 100000.
lezione di programmazione: i cicliprospetti
nei cicli nidificati si utilizzano anche i prospetti, dei sistemi per creare dei tabulati con i risultati dati dai vari cicli che terminano.
il tabulato è una tabella che asseconda del linguaggio si inserisce in un’oggetto, nel visual basic che prendiamo noi come riferimento si utilizza una list box.
il tabulato è composto da 3 parti:
- 1. righe di intestazione: in queste righe si inseriscono le scritte statiche o le scritte dinamiche che devono essere inserite una sola volta.
esiste anche l’intestazione della riga dettaglio che contiene le intestazioni di tutti i valori dinamici che devono essere inseriti.
esempio:
scrivi “rubrica telefonica”
scrivi “nome, cognome, indirizzo, e-mail, numero di telefono, sito web, contatto social”
questa è l’intestazione della riga dettaglio che per ogni ciclo che va avanti, dopo questa riga il programma inserisce i dati nome, cognome, indirizzo, e-mail, numero di telefono, sito web, contatto social che noi gli scriviamo da tastiera.- righe dettaglio: contengono, come detto sopra, i valori contemplati dalla riga di intestazione, che noi gli scriviamo da tastiera o che provengono da elaborazioni successive del programma.
- righe finali: queste righe contengono i risultati finali del programma, una volta che tutti i cicli si sono conclusi con successo.
nota: le righe che vanno da * a * si eseguono all’interno del ciclo interno
si vuole effettuare una statistica sul fatturato della alfa spa.a tale scopo per ogni fattura si inserisca il numero della fatt e il cliente, e per ogni prodotto fatturaato la descrizione del prodotto, il prezzo fatturato, la quantita.
stampare il seguente fatturato:
statistica fatturato alfa spa- fattura numero
cliente
prodotto, prezzo unitario, quantità , importo
iva 22 %
*totale più iva
totale di tutte le fatture
pseudo codifica
inizio inizio operazioni ciclo esterno totalefatture=0
scrivi “statistiche fatture alfa spa”
scrivi “numero fattura, cliente” scrivi “inserisci numero fattura, invio per terminare”
leggi fattura
fine operazioni iniziali ciclo esterno mentre fattura<>””
scrivi “nome cliente”
leggi cliente
scrivi cliente & fattura
inizio operazioni iniziali ciclo interno scrivi “inserisci descrizione prodotto, invio per terminare”
leggi prodotto
totaleimporti=0
scrivi “prodotto, quantità, prezzo unitario, importo”
fine operazioni ciclo interno mentre prodotto<>””
scrivi “prezzo unitario”
leggi prezzo
scrivi “quantità acquistate”
leggi quantita
prezzototale=prezzo*quantita
totaleimporti=totaleimporti+prezzototale
scrivi prodotto&quantita&prezzo&prezzototale
scrivi “inserisci descrizione prodotto, invio per terminare”
leggi prodotto fine mentre
inizio operazioni finali ciclo interno prezzoiva=prezzototale*22/100
fine operazioni finali ciclo interno scrivi “totale di tutti gli importi dei prodotti fatturati ” & totaleimporti
scrivi “iva al 22 % ” & prezzoiva
totalefatture=totalefatture+totaleimporti+prezzoiva
scrivi “inserisci numero fattura, invio per terminare”
leggi fattura
fine mentre
scrivi “totale di tutte le fatture” & totalefatture
visual basic
in visual basic create un nuovo progetto e dalla casella degli strumenti inserite un bottone e una list box.
cambiate la proprietà text al bottone e chiamatelo avvia, esegui o come vi pare.
cambiate la proprietà name (non text ma name) alla list box e chiamatela l1.
codice visual basic
dim cliente as string
dim prezzototale as single dim prezzo as single
dim totaleimporti as single
dim quantita as single dim prodotto as string
dim fattura as single
dim prezzoiva as single
dim totalefatture as single
totalefatture=0
l1.items.add(“”statistiche fatture alfa spa”)
l1.items.add(“cliente, numero fattura”)
messagebox.show(“inserisci numero fattura, invio per terminare”)
fattura=inputbox(” “)
while fattura<>”” messagebox.show(“inserisci cliente”)
cliente=inputbox(” “)
l1.items.add(cliente & fattura)messagebox.show(“inserisci prodotto, invio per terminare”)
prodotto=inputbox(” “)
totaleimporti=0
while prodotto<>””
messagebox.show(“inserisci prezzo unitario”)
prezzo=inputbox(” “)
messagebox.show(“inserisci quantità acquistata”)
quantita=inputbox(” “)
prezzototale=prezzoquantita totaleimporti=totaleimporti+prezzototale l1.itemms.add(prodotto&quantita&prezzo&prezzototale) messagebox.show(“inserisci prodotto, invio per terminare”) prodotto=inputbox(” “) end while prezzoiva=prezzototale22/100 l1.items.add(“totale di tutti gli importi dei prodotti fatturati ” & totaleimporti)
l1.items.add(“iva al 22 % ” & prezzoiva)
totalefatture=totalefatture+totaleimporti+prezzoiva messagebox.show(“inserisci numero fattura, invio per terminare”)
fattura=inputbox(” “) end while
l1.items.add(“totale di tutte le fatture” & totalefatture
- righe dettaglio: contengono, come detto sopra, i valori contemplati dalla riga di intestazione, che noi gli scriviamo da tastiera o che provengono da elaborazioni successive del programma.