07. Istruzione break: numero primo
L'istruzione di break consente di interrompere un ciclo senza che si verifichi la condizione di uscita.
Questa istruzione semplifica la programmazione ma non aumenta le "potenzialità" del linguaggio, infatti il programmatore potrebbe agire sulle variabili che definiscono le condizioni di uscita del ciclo per raggiungere lo stesso risultato.
In questo esempio, l'obiettivo è stabilire se un numero è primo ed è utilizzato un ciclo while per verificare se il numero in questione ha dei divisori. Naturalmente se si trova un divisore è inutile cercarne altri perché si può affermare fin da subito che non si tratta di un numero primo e pertanto è possibile uscire dal ciclo senza continuare oltre l'iterazione.
#include <stdio.h>
int main()
{
int i, primo, N;
printf("Inserire un numero intero maggiore di 1: ");
scanf("%d", &N);
if (N<=1) {
printf("Il numero inserito non e' valido\n");
return 1;
}
primo=1;
i=2;
while (i <= N/2){
if (N/i * i == N){
primo = 0;
break;
}
i++;
}
if (primo)
printf("%d e' un numero primo\n", N);
else
printf("%d NON e' un numero primo\n", N);
return 0;
}
Commento:
Il programma verifica se il numero inserito dall'utente è primo.
La variabile primo è inizializzata ad 1 ma non appena viene trovato un divisore del numero N essa è impostata a 0.
break;
L'istruzione break, inserita in un ciclo, determina l'uscita dal ciclo stesso.
In questo programma, non appena è trovato un divisore di N, sono eseguite le seguenti istruzioni:
primo = 0;
break;
In altri termini è aggiornata la variabile primo (il valore 0 corrisponde a falso) e si interrompe il ciclo while grazie al break.
La successiva istruzione eseguita è quindi if (primo).
Sito: 7ecnologie
Sezione: 08. C language
Capitolo: 02. Introduzione al C
Paragrafo: 06. Ciclo while
Approfondimento: 07. Istruzione break: numero primo
Indice dei capitoli: 00. Risorse - 01 Ambiente di sviluppo - 02. Introduzione al C - 03. Le librerie - 04. Tutorial - 05. Esercizi svolti - 98. Esercizi
Indice dei paragrafi: 01. Hello World - 02. Variabile di tipo int - 03. Input da tastiera - 04. Controllo condizionale if - 05. Operatori logici - 06. Ciclo while - 07. Operatore modulo - 08. Array - 09. Ciclo for - 10. Ciclo do/while - 11. Variabili di tipo float - 12. Funzione random() - 13. Impostazione del set di caratteri - 14. Definizione di funzioni - 15. Passaggio di parametri: gli array - 16. Variabili: visibilità e durata - 17. Il tipo char - 18. I file - 19. Funzioni matematiche
Indice degli approfondimenti: 01. Es. svolto: media - 02. Es. svolto: numero binario - 03. Es. svolto: menu - 04. Es. svolto: controllo dell'input - 05. Tutorial: integrazione di più funzionalità - 06. Es. svolto: sommare le cifre - 07. Istruzione break: numero primo