informatica c#

Page 20

20

Costrutti di base

Nota bene: se l’utente inserisce 1 il programma non produce alcun output. Ciò dipende dal fatto che il ciclo while() rappresenta un ciclo iterativo con controllo in testa, dove per ogni iterazione viene prima verificata la condizione e soltanto dopo, se questa risulta vera, viene eseguito il corpo del ciclo. Naturalmente, se la condizione risulta subito falsa il corpo del ciclo non viene mai eseguito. Ed è ciò che accade se N è uguale a 1, infatti: 1 non è inferiore o uguale alla metà di 1. In questo programma il tipo delle variabili è int, che corrisponde al tipo intero. L’argomento dei tipi di dati viene affrontato nel capitolo successivo, per ora è importante sottolineare il fatto che per memorizzare il contenuto della stringa tmp nella variabile n viene fatto uso del metodo ToInt32() della classe Convert.

4.3 Costrutto for() Supponiamo di voler realizzare un programma che implementi l’algoritmo che sommi i numeri naturali compresi tra 1 e un numero dato. Occorrerà naturalmente utilizzare un ciclo iterativo, come il while(): static void Main() { int n, somma, x; string tmp; Console.WriteLine("Inserire il numero N "); tmp = Console.ReadLine(); n = Convert.ToInt32(tmp); // ---------------------- <n è fornito> somma = 0; x = 1; while (x <= n) { somma = somma + x; x = x + 1; } Console.WriteLine("La somma è: {0}", somma); } Esempio 2-2 Programma che somma i numeri naturali fino a un numero dato.

Si nota immediatamente una forte similitudine tra questo programma e l’esempio precedente; in entrambi una variabile assume il ruolo di contatore, e cioè: 1) la variabile viene impostata a un valore iniziale; 2) viene incrementata ad ogni iterazione del ciclo; 3) raggiunge un valore finale che determina la fine del ciclo. In entrambi i casi il ciclo while() svolge la funzione di reiterare per un certo numero di volte una determinata operazione; per ottenere questo viene utilizzata una variabile il cui scopo è appunto quello di contare quante volte è stata eseguita l’operazione. E’ questo un uso molto comune dei cicli iterativi; per questo motivo C# mette a disposizione un secondo costrutto di controllo che implementa l’iterazione, il ciclo for(). Questo è funzionalmente equivalente al ciclo while(), ma caratterizzato da una sintassi che facilita la realizzazione di cicli iterativi che svolgono un conteggio.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.