Ciclo While
  Le strutture iterative permettono di eseguire un blocco di codice più volte,   fintanto che si verifica una condizione o un numero di volte   predeterminato.
La struttura iterativa fondamentale è il while, e   qualsiasi iterazione più complessa può essere sempre scritta come un ciclo   while.
  
Ciclo While
  Il cliclo while è il più semplice, e da questo derivano il   for e il do-while.
Se volessimo realizzare un programma che esegue la somma di due numeri finché l'utente non immette il valore '-1', dovremmo utilizzare un ciclo, proprio come il while.
Il ciclo si compone di una condizione e un blocco di codice. Ogni volta sarà valutata la condizione, se vera sarà eseguito il corpo del cilo, se falsa il ciclo termina.
Il diagramma di flusso di qualsiasi loop while è il seguente:
Se volessimo realizzare un programma che esegue la somma di due numeri finché l'utente non immette il valore '-1', dovremmo utilizzare un ciclo, proprio come il while.
Il ciclo si compone di una condizione e un blocco di codice. Ogni volta sarà valutata la condizione, se vera sarà eseguito il corpo del cilo, se falsa il ciclo termina.
Il diagramma di flusso di qualsiasi loop while è il seguente:
Il corpo del ciclo eseguirà finché la condizione è vera.
Esempio: Somma di due numeri finché l'utente non decide di terminare
Per questo programma abbiamo bisogno di:
- due variabili per salvare i due numeri da sommare
- una variabile per salvare la somma
-       una variabile sentinella che ci       dica quando il ciclo deve uscire
 
#include<stdio.h>
int main(void)
{
    int a;
    int b;
    int s;
    int flag = 1;
    
    printf("Somma numeri\n");
    
    while( flag != -1 ) // In questo caso il ciclo è controllato da un valore sentinella
    {
        printf("\nInserisci a: ");
        scanf("%d", &a);
        printf("\nInserisci b: ");
        scanf("%d", &b);
        
        s = a + b;
        printf("La somma di %d + %d e' %d", a, b, s);
        
        printf("Un'altra somma? (-1 per uscire)");
        scanf("%d", &flag);
    }
}



 
 
Commenti
Posta un commento