| prof. Nunzio Brugaletta |
C++:
programmazione e oggetti |
Le strutture cicliche assumono nella scrittura dei programmi un ruolo fondamentale, non fosse altro per il fatto che, utilizzando tali strutture, si può istruire l’elaboratore affinché esegua azioni ripetitive su insiemi di dati diversi: il che è, tutto sommato, il ruolo fondamentale dei sistemi di elaborazione.
È in ragione delle suddette considerazioni che i linguaggi di programmazione mettono a disposizione del programmatore vari tipi di cicli in modo da adattarsi più facilmente alle varie esigenze di scrittura dei programmi. Il costrutto più generale è il ciclo while (ciclo iterativo con controllo in testa):
while(esp) istruzione
Viene verificato che esp sia vera, nel qual caso viene eseguita istruzione. Il ciclo si ripete mentre esp risulta essere vera.
Naturalmente, per quanto osservato prima, istruzione può essere un blocco e, anche in questo caso, può essere utile racchiudere l’istruzione in un blocco anche se è una sola.
Come esempio delle istruzioni trattate fino a questo punto, viene proposto un programma che, data una sequenza di numeri interi positivi, fornisce la quantità di numeri pari della sequenza e la loro somma. Un qualsiasi numero negativo, o il valore nullo, ferma l'elaborazione.
#include <iostream>
using namespace std;
int main()
{
int vn,conta,somma;
// inizializzazione accumulatori
cout << "Conteggio e somma dei numeri pari\n\n";
conta = somma = 0; /*1*/
// esame dei numeri
cout << "Inserire numero positivo ";
cin >> vn; /*2*/
while (vn>0){
// verifica se, numero inserito, pari
if(!(vn%2)){ /*3*/
conta++; /*4*/
somma += vn; /*4*/
}
// prossimo numero da elaborare
cout << "Inserire numero positivo ";
cin >> vn;
}
// risultati elaborazione
cout << "Nella sequenza c\'erano "
<< conta << " numeri pari" << endl;
cout << "La loro somma e\' " << somma << endl;
return 0;
}
Nella 1 si inizializzano al valore 0 il contatore e l'accumulatore dei pari.
Nella 2 si acquisisce il primo valore numerico da elaborare.
Il controllo della 3 permette di stabilire se il numero introdotto è pari. Viene usato l'operatore modulo % che fornisce il resto della divisione intera fra vn e 2 e, subito dopo, viene controllato se tale resto è nullo in modo che, nelle 4, si possano aggiornare il contatore e l'accumulatore.
| http://ennebi.solira.org |
ennebi@solira.org |