Esercitazione sulla 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.
Fare clic per copiare questa espressione
2. Per aggiungere un ciclo while vuoto, nel gruppo Operatori e simboli della scheda Matematica fare clic su Programmazione e quindi su while.
Fare clic per copiare questa espressione
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.
Fare clic per copiare questa espressione
* 
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.
Fare clic per copiare questa espressione
5. Restituire il valore di sum.
Fare clic per copiare questa espressione
* 
Aggiornare la variabile di iterazione alla fine, per evitare di saltare la prima somma dell'iterazione.
6. Calcolare il valore di sigma per 5.
Fare clic per copiare questa espressione
Come previsto, il programma è equivalente alla somma riportata di seguito.
Fare clic per copiare questa espressione
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.
Fare clic per copiare questa espressione
2. All'interno del ciclo while aggiungere una nuova riga sotto l'istruzione while.
Fare clic per copiare questa espressione
3. Aggiungere un'istruzione if e digitare l'espressione riportata di seguito.
Fare clic per copiare questa espressione
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.
Fare clic per copiare questa espressione
6. Calcolare il valore di sigma_not17 per 16 e 17.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
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.
Fare clic per copiare questa espressione
2. Per aggiungere un ciclo while vuoto, nel gruppo Operatori e simboli della scheda Matematica fare clic su Programmazione e quindi su while.
Fare clic per copiare questa espressione
3. Specificare che il ciclo while deve essere eseguito all'infinito.
Fare clic per copiare questa espressione
* 
L'esecuzione di un ciclo while continua finché il valore dell'espressione tra parentesi non è 0.
4. Inizializzare sum e i.
Fare clic per copiare questa espressione
5. Aggiungere il valore della variabile di iterazione i a una variabile sum e incrementare i di 1 all'interno del ciclo.
Fare clic per copiare questa espressione
6. Restituire il valore di sum.
Fare clic per copiare questa espressione
* 
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.
Fare clic per copiare questa espressione
8. Calcolare sum.
Fare clic per copiare questa espressione
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.
Fare clic per copiare questa espressione
* 
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.