mathlover24
Genius
1 min. di lettura
Vota 3 / 5

Concetti Chiave

  • Il diagramma di flusso guida nella fattorizzazione di un numero intero, partendo da una variabile K inizializzata a 2.
  • Il processo verifica se K divide il numero N; se sì, N viene diviso per K finché possibile, e K viene stampato come fattore primo.
  • Il ciclo continua incrementando K di 1 fino a che K è minore o uguale a N, esplorando ogni possibile divisore.
  • La fattorizzazione termina quando il ciclo condizionato da K maggiore di N non è più soddisfatto.
  • Il diagramma termina con un blocco che segna la fine del processo di fattorizzazione.

Fattorizzatore

Ecco la costruzione guidata di un diagramma di flusso, che permette precisamente di fattorizzare un numero intero a nostra scelta.
Il ragionamento è:
  • considerare N come un numero intero;
  • Considerare una variabile K e farla partire da 2;
  • Per tutti i valori di K minori o uguali a N verificare che dividano N, se sì si scrivono finché N non è più divisibile per K;
  • K viene aumentato di 1;
Fattorizzatore articolo
Spiegazione DDF
[html]

Blocco 1: INIZIO

Il programma parte.

Blocco 2: Leggi N

Viene inserito un numero intero che prende il posto della variabile N.

Blocco 3: K = 2

Viene assegnato a K il valore di partenza pari a 2.

Blocco 4: While(K Finché K è minore o uguale ad N, esegui le istruzioni riportate successivamente.

Blocco 4.1: While(N % K == 0)

Mentre N modulo K (cioè il resto di N diviso K) è uguale a 0 esegui le seguenti istruzioni:

Blocco 4.1.1: N = N/K

N è divisibile per K, per cui N viene diviso per K e successivamente:

Blocco 4.1.2: OUTPUT K

Viene stampato K, che sarà sicuramente fattore primo di N.

Blocco 4.2: K = K+1

Una volta terminato il ciclo while (condizione affinché termini è che N non sia divisibile per K), K viene aumentato di 1 e il ciclo riparte. Si giunge al blocco 4.2 dal blocco 4.1.1 solo se N non è divisibile per K, cioè N % K != 0 (diverso da 0.

Blocco 5: FINE

Il programma termina.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community