Ciclo while diagrammi di flusso

Ciclo while diagrammi di flusso

In questa lezione implementeremo il ciclo while nei diagrammi di flusso.

Il ciclo while è una struttura iterativa, cioè una struttura che consente di ripetere (iterare) delle istruzioni.

La forma da utilizzare per realizzare il ciclo while nei diagrammi di flusso è la seguente:

ciclo while

Ma cosa dobbiamo inserire all’interno della forma? Occorre inserire una condizione che consente al ciclo di terminare.

Quello che ci servirà è una variabile che conta quante volte le istruzioni vengono ripetute, così da poterci fermare quando avremmo raggiunto il numero prestabilito.

Facciamo dunque un esempio concreto.

Ciclo while diagrammi di flusso – primo esempio

Prendere in input 10 numeri e visualizzarli.

Per realizzare questo esempio mi serve una variabile che ad ogni numero inserito si incrementi. Chiamiamo questa variabile conta e la facciamo partire da 0.

Quindi, dopo aver inserito il primo numero la variabile diventerà 1, poi 2, ecc… L’inserimento deve dunque concludersi quando la variabile diventerà 9.

Muoviamo dunque i primi passi verso la realizzazione del nostro algoritmo.

Conta while

Abbiamo inserito la variabile conta e l’abbiamo inizializzata a zero e abbiamo impostato all’interno del while la condizione conta minore di 10.

Attenzione, questa condizione è fondamentale per decretare il numero esatto di iterazioni.

Ma se non cambiamo il valore di conta, il ciclo si ripeterà all’infinito. Dunque inseriamo l’istruzione di incremento dopo l’inserimento del numero n.

Ecco quindi il secondo passo nell’utilizzo del ciclo while nei diagrammi di flusso:

inserire 10 numeri

Notate che dopo l’input, ho inserito conta=conta+1. Attenzione a non dimenticare questa istruzione in quanto altrimenti il ciclo sarebbe infinito.

Non ci rimane che visualizzare i numeri appena inseriti. La visualizzazione va fatta per ogni numero, quindi dobbiamo inserire l’output all’interno del ciclo.

Ecco dunque l’algoritmo completo che utilizza il ciclo while nei diagrammi di flusso.

diagrammi di flusso

Avremmo potuto inserire l’istruzione output anche prima dell’incremento del contatore.

Alcuni link utili

Indice argomenti diagrammi di flusso

Divisori di un numero con Algobuild

Algoritmi di selezione sugli angoli

Algoritmi di selezione

Triangoli con Algobuild

Fibonacci con Algobuild

Serie buffa con Algobuild

Numeri amicabili con Algobuild

Numeri perfetti con Algobuild

Massimo fra tre numeri

Minore fra tre numeri

Somma dei positivi e dei negativi

Somma dei positivi e dei negativi

In questa lezione svilupperemo un algoritmo che effettua la somma dei numeri positivi e negativi in C, utilizzando il ciclo for.

L’algoritmo è molto simile all’esercizio precedente sul conteggio dei numeri positivi e negativi.

Somma dei positivi e dei negativi – algoritmo

Inserire 20 numeri in input e sommare separatamente i positivi e i negativi.

In questo caso specifico dato che 0 è l’elemento neutro della somma possiamo anche tralasciare il controllo, in quanto il risultato non cambia, sia se lo sommiamo ai negativi, sia ai positivi.

Quindi inizializziamo a zero le due variabili per la somma: sommap=0 e somman=0.

Dopo dobbiamo chiedere di inserire il numero n in input.

Quindi confrontiamo n con zero, utilizzando per primo l’operatore di confronto >. (Chiaramente potevamo anche partire dal minore)

Se la condizione è vera allora sommiamo il numero a sommap, altrimenti a sommad.

Questo procedimento lo iteriamo 20 volte, cioè finché il test diventerà falso.

Dunque, con l’istruzione printf, visualizziamo le somme così ottenute.

Ecco dunque il listato completo per l’algoritmo che effettua la somma dei numeri positivi e negativi in C:

#include <stdio.h>

main()
{
	int n, i;
	int sommap=0, somman=0;

	for(i=0;i<20;i++)
	{
		printf("inserisci il %d numero: ", i+1);
		scanf("%d", &n);
		if(n>0) 
			sommap+=1;
		else
			somman+=1;
	}
	
	printf("I numeri positivi sono: %d - I numeri negativi sono: %d\n", sommap, somman);

	system("PAUSE");
}

Nel caso in cui si richiedeva il calcolo della media dovevamo fare un ulteriore controllo per n uguale zero.

Chiaramente questo è una possibile risoluzione all’algoritmo per la somma dei numeri positivi e negativi in C.

Alcuni link utili

Indice argomenti linguaggio C

La funzione fopen

La funzione fclose

Allocazione dinamica della memoria con malloc

Strutture in C

Typedef struct in C

Esercitazione sulle struct in C

Realizzare un menù di scelta in C

Strutture complesse in C

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Tavola pitagorica in C

Array multidimensionali

Quick sort in C

Selection sort in C

Merge sort in C

Insertion Sort in C