Esercitazioni > Programmazione > Task 3-2: scrittura di cicli WHILE
  
Task 3-2: scrittura di cicli WHILE
Scrittura di una funzione WHILE di base
Scrivere una funzione sigma che somma tutti i numeri da 0 a n.
1. Definire una funzione sigma che accetta una variabile n e creare un nuovo programma.
2. Per aggiungere un ciclo while vuoto, nel gruppo Operatori e simboli della scheda Matematica fare clic su Programmazione e quindi su while.
3. Specificare che il ciclo while deve continuare finché vale la condizione n>0 e che la variabile n deve essere decrementata di 1 all'interno del ciclo.
* 
Diversamente da quanto avviene nei cicli for, è necessario incrementare o decrementare la variabile di iterazione while.
4. Per aggiungere alla somma il valore corrente della variabile di iterazione, digitare la riga seguente nel modo illustrato, subito dopo l'istruzione while.
5. Restituire il valore di sum.
* 
Aggiornare la variabile di iterazione alla fine, per evitare di saltare la prima somma dell'iterazione.
6. Calcolare il valore di sigma per 5.
Come previsto, il programma è equivalente alla somma riportata di seguito.
Aggiunta di istruzioni CONTINUE
Aggiungere istruzioni continue per saltare una specifica iterazione senza interrompere l'esecuzione del ciclo.
Scrivere una funzione che somma tutti i numeri da 0 a n, ad eccezione di quelli divisibili per 17.
1. Copiare la funzione precedente e rinominarla in sigma_not17.
2. All'interno del ciclo while aggiungere una nuova riga sotto l'istruzione while.
3. Aggiungere un'istruzione if e digitare l'espressione riportata di seguito.
4. Per evitare che il ciclo continui all'infinito, decrementare n di 1.
5. Per aggiungere un'istruzione continue, nel gruppo Operatori e simboli della scheda Matematica fare clic su Programmazione e quindi su continue.
6. Calcolare il valore di sigma_not17 per 16 e 17.
Aggiunta di istruzioni BREAK
Scrivere un programma che somma tutti i numeri ed esce dal ciclo quando il contatore è maggiore di 20.
1. Definire una variabile sum e creare un nuovo programma.
2. Per aggiungere un ciclo while vuoto, nel gruppo Operatori e simboli della scheda Matematica fare clic su Programmazione e quindi su while.
3. Specificare che il ciclo while deve essere eseguito all'infinito.
* 
L'esecuzione di un ciclo while continua finché il valore dell'espressione tra parentesi non è 0.
4. Inizializzare sum e i.
5. Aggiungere il valore della variabile di iterazione i a una variabile sum e incrementare i di 1 all'interno del ciclo.
6. Restituire il valore di sum.
* 
Questo ciclo è attualmente infinito.
7. Per interrompere il ciclo, digitare if i > 20 e aggiungere l'istruzione break. Per aggiungere un'istruzione break, nel gruppo Operatori e simboli della scheda Matematica fare clic su Programmazione e quindi su break.
8. Calcolare sum.
9. Per interrompere il ciclo e uscire dal programma selezionare l'istruzione break quindi, nel gruppo Operatori e simboli della scheda Matematica, fare clic su Programmazione e quindi su return, per modificarla in un'istruzione return. Digitare sum nel segnaposto, come illustrato di seguito.
* 
Utilizzare return per uscire immediatamente dal programma.
Esercitazioni pratiche
Prima di passare al task successivo, scrivere una funzione fact(n) che implementa la funzione fattoriale utilizzando un ciclo while. Definire il ciclo in modo che continui l'esecuzione finché n rimane maggiore di 1. All'interno del ciclo moltiplicare n per una variabile product (salvando il risultato del fattoriale) e decrementare n di 1.
* 
In PTC Mathcad le variabili di programma vengono impostate su 0 per default. All'inizio del programma è necessario assegnare 1 a product. In caso contrario il programma restituisce 0 per tutti gli argomenti.
Continuare con il task 3-3.