CICLI FOR E WHILE

a cura di Samuele Malta

Introduzione

BLOCCO ITERATIVO

Un blocco iterativo è un insieme di istruzioni (o altri blocchi) che viene ripetuto fintanto che una condizione rimane verificata.

 

La condizione da verificare è un’operazione, o un’espressione, che produce un risultato Vero o Falso.

Ci sono due regole fondamentali nella costruzione di un ciclo:

  • deve sempre esistere almeno un caso per cui il ciclo viene eseguito;

  • deve sempre esistere almeno un caso per cui, una volta iniziata l’esecuzione delle istruzioni, vi sia la possibilità di uscire dal ciclo.

    • Per poter rispettare questa regola le istruzioni del ciclo devono andare a modificare le variabili che influenzano la condizione da verificare.

 

I blocchi iterativi si dividono in due categorie:

  • Blocchi iterativi definiti: se è noto a priori il numero di volte che il ciclo verrà eseguito.

  • Blocchi iterativi indefiniti: se non è noto a priori il numero di volte che il ciclo verrà eseguito

Inserisco un esempio di un ciclo for e while con diagramma a blocchi, può starci secondo me

BLOCCHI ITERATIVI INDEFINITI

I blocchi iterativi indefiniti si dividono in due gruppi:

  • Blocchi iterativi indefiniti a condizione finale.

  • Blocchi iterativi indefiniti a condizione iniziale.

Blocchi iterativi indefiniti a condizione iniziale

In questa tipologia di blocchi indefiniti la verifica della condizione avviene prima dell’esecuzione del corpo, le operazioni contenute all’interno del corpo potrebbero quindi essere eseguite anche zero volte, nel caso in cui la condizione non venga mai verificata.

 

Il costrutto iterativo indefinito a condizione iniziale maggiormente conosciuto è il ciclo while.

 

Il corpo viene eseguito la prima volta e alla fine delle operazioni viene rivalutata la condizione, se rimane verificata il corpo viene eseguito di nuovo, fintanto che la condizione del ciclo non è più verificata. Una volta che la condizione non è più verificata, al termine dell’esecuzione del ciclo si esce dal blocco e si esegue la prima istruzione successiva.

Ecco un esempio svolto, prova anche tu a sperimentare con il codice!

Blocchi iterativi indefiniti a condizione finale

A differenza dei blocchi iterativi a condizione iniziale, in quelli a condizione finale la verifica non avviene prima dell’esecuzione del corpo ma, come suggerisce il nome, dopo.

Questo significa che il corpo viene sempre eseguito almeno una volta.

 

Il ciclo più noto appartenente a questa categoria è il ciclo do-while.

 

Vengono eseguite le espressioni del corpo e dopo ogni esecuzione viene verificata l’espressione, se l’espressione viene verificata si ripete il ciclo, quando l’espressione risulta non verificata si esce dal ciclo e si procede con l’esecuzione della prima istruzione successiva.

ATTENZIONE:

Nel linguaggio di programmazione Python non esiste un costrutto assimilabile ad un ciclo do-while. L'argomento è stato introdotto dal punto di vista teorico per completezza, ma non può essere implementato attraverso esercizi pratici.

Do while blocchi

BLOCCHI ITERATIVI DEFINITI

Nei blocchi iterativi definiti è noto a priori il numero di esecuzioni che avverrà.

 

Sono caratterizzati da un’inizializzazione, una verifica della condizione e una modifica della variabile di controllo.

 

Il ciclo iterativo definito più famoso è il ciclo for, in cui è possibile specificare come ripetere l’esecuzione del corpo del ciclo.

PROVA TU!

Implementare un programma in Python che, dati due interi che rappresentano rispettivamente il tasso di propagazione di un virus (quante nuove persone si ammalano giorno per ogni persona già malata) e il numero di persone di una popolazione, restituisca quanti giorni sono necessari perché si ammali almeno la metà della popolazione, partendo da 1 persona malata il primo giorno.

Si supponga che l’andamento della popolazione di una colonia di batteri si sviluppi nel seguente modo: un anno raddoppia l’anno successivo cala di un terzo.
Creare un programma che dato un valore iniziale della popolazione e un valore da raggiungere di popolazione dica quanti anni ci mette quella popolazione a raggiungere o superare quel valore.

Scrivere un programma che stampi a video i numeri interi pari compresi tra due estremi -a- e -b-. Il programma deve anche indicare quanti sono i numeri pari e i numeri dispari.

Scrivere i primi -n- numeri della successione di Fibonacci (i primi due numeri sono 0 e 1, i successivi sono il risultato della somma dei due numeri precedenti nella successione).

  • Facebook - Bianco Circle
  • Instagram - Bianco Circle