Affronteremo in questa lezione un altro esercizio con le iterazioni.
Utilizzeremo sempre il ciclo while, ma a breve vi dimostrerò come utilizzare altre strutture iterative come ad esempio il for.
Inserire 10 numeri e sommare solo quelli compresi tra 50 e 100.
In questo caso dobbiamo inserire dei numeri ma sommare solo quelli che sono compresi nell’intervallo [50,100].
Esercizio con le iterazioni – Primo procedimento
Innanzitutto assegniamo a conta e somma il valore 0. Modificate la somma nella versione nuova di Algobuild inserendo somma=0.0.
Dopo impostiamo la condizione conta <10 e finché questa condizione è vera eseguiamo queste istruzioni:
Inseriamo il numero n.
Controlliamo se n soddisfa la condizione richiesta utilizzando gli operatori logici. Nel caso specifico l’operatore && (and) che rende vera l’espressione, solo se entrambe le condizioni sono vere.
Se la condizione è vera sommiamo il numero, altrimenti niente.
Incrementiamo il contatore di 1.
Al termine del ciclo visualizziamo in output la somma così ottenuta.
Esercizio con le iterazioni – Secondo procedimento
Innanzitutto assegniamo ad N il valore 10, che decrementeremo ad ogni numero inserito.
Poi inizializziamo la variabile somma a 0: somma=0. In quanto l’elemento neutro della somma è 0.
Impostiamo la condizione del while: N>0, cioè finché N è positivo eseguiamo queste istruzioni:
Inseriamo in input il numero n;
Dopo, con l’if (la selezione) facciamo un test per vedere se il numero preso in input è maggiore o uguale a 50 e contemporaneamente minore o uguale a 100. Utilizzeremo dunque questa istruzione: n>=50 && n<=100, utilizzando l’operatore logico and (&&). Se il numero è compreso nell’intervallo allora lo aggiungiamo alla variabile somma: somma=somma+n.
Poi decrementiamo N di uno.
Al termine dell’iterazione procederemo a visualizzare il risultato, cioè la somma dei numeri compresi nell’intervallo [50,100].
Ecco il diagramma a blocchi dell’esercizio con le iterazioni proposto in questa lezione.
Chiaramente la soluzione proposta all’esercizio con le iterazioni è solo uno dei possibili procedimenti risolutivi.
Alcuni link utili
Indice argomenti diagrammi a blocchi
Divisori di un numero con Algobuild
Algoritmi di selezione sugli angoli
Numeri amicabili con Algobuild