In questa lezione proponiamo altri esempi con il while in C++, prima di passare al ciclo for.

Esempi con while in C++

Scrivere un programma che, leggendo due numeri interi, sottrae il minore dal maggiore finché la loro differenza diventa inferiore a 3 unità, visualizzando sullo schermo il risultato di ogni iterazione.

Per la realizzazione del seguente algoritmo in C++, ci serviranno le seguenti variabili:

int a, b – Le variabili che contengono i due valori che dobbiamo inserire in input.

int d – La variabile che contiene la differenza tra le due variabili.

int temp – La variabile che serve per lo scambio dei valori, qualora a fosse minore di b.

Banner Pubblicitario

Innanzitutto inseriamo i valori interi a e b e dopo controlliamo se a è maggiore di b. Se ciò è vero effettuiamo uno scambio di variabili ponendo in a il valore di b e in b il valore di a. Così posso effettuare la sottrazione: d=a-b.

Poi impostiamo la condizione del while. Finchè d è maggiore o uguale a 3 continuiamo a sottrarre il numero b a d. Ad ogni iterazione stampiamo il risultato ottenuto.

Ecco dunque una possibile risoluzione dell’algoritmo proposto in C++:

#include <iostream>
using namespace std;

int main() {
    int a, b, d, temp;
    
    cout << "Inserisci a: ";
    cin >> a;
    
    cout << "Inserisci b: ";
    cin >> b;
    
    if (a < b) {
        temp = a;
        a = b;
        b = temp;
    }

    d = a - b;
    
    while (d >= 3) {
        d = d - b;
        cout << d << endl;
    }
    
    return 0;
}

Secondo esempio

Leggere da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi, il programma termina quando si inserisce un numero negativo. Per ogni numero introdotto stampare la media progressiva.

Innanzitutto dichiariamo le varibili necessarie:

int n – Rappresenta il numero inserito di volta in volta

int s – Rappresenta la variabile per la somma dei numeri

Banner pubblicitario

int i – Rappresenta il contatore dei numeri inseriti. Necessario per il calcolo della media.

float m – Rappresenta la media dei numeri inseriti.

Dopo aver dichiarato le variabili, inseriamo un numero e assegniamo alla somma il valore di questo numero.

Poi creiamo il ciclo while dove impostiamo la condizione n>0. All’interno del ciclo sommiamo i numeri e calcoliamo la media stampandola di volta in volta. Per stampare il valore decimale della media, facciamo un’operazione di casting, come spiegato nella lezione: casting in c++.

Ecco dunque una possibile risoluzione:

#include <iostream>
using namespace std;

int main() {
    int n, s, i = 1;
    float m;
    
    cout << "Inserisci n: ";
    cin >> n;
    
    s = n;
    
    while (n > 0) {
        cout << "Inserisci n: ";
        cin >> n;
        i++;
        s += n;
        m = float(s) / i;
        cout << "Media: " << m << endl;
    }
    
    return 0;
}

Questi sono solo alcuni esempi con il while in C++, nella prossima lezione affronteremo il ciclo for e compareremo i due costrutti, al fine di capire quando preferire l’uno all’altro.

Alcuni link utili

Indice argomenti linguaggio C++

1- Introduzione al linguaggio C++

2- Variabili in C++

3- Operatori di assegnazione in C++

4- Esempi in C++

5- Casting in C++

Successione di Fibonacci in C++