Concetti Chiave
- Il fattoriale di un intero non negativo n, denotato come n!, è il prodotto di tutti i numeri interi da n a 1.
- Il fattoriale di 0 è definito come 1, mentre per n maggiori o uguali a 1 si calcola come n*(n - 1)*...*1.
- Il programma in C richiede all'utente di inserire un intero non negativo e gestisce input non validi fino a ottenere un valore corretto.
- Utilizza un approccio top-down per il calcolo del fattoriale, inizializzando le variabili necessarie e iterando fino al valore di input.
- Alla fine del calcolo, il programma visualizza il risultato del fattoriale calcolato all'utente.
Definizione del fattoriale
/* * Il fattoriale di un intero non negativo n si scrive n! (pronunciato * fattoriale di n) ed è definito come segue: * * n! = n*(n - 1)*(n - 2)*...*1 (per valori di n maggiori o uguali a 1) * * e * * n! = 1 (per n = 0). * * Per esempio, 5! = 5*4*3*2*1 che è 120. * * a) Scrivete un programma che legga in input un intero non negativo e * quindi visualizzi il suo fattoriale.Algoritmo top-down
*/ /* * Sviluppo top-down (per raffinamenti successivi) * * TOP) prendere in ingresso un intero non negativo, visualizzarne il * fattoriale. * * RA1) inizializzare variabile intero a -1, fattoriale a 1; * finché intero è minore di zero: * leggere in input un intero e memorizzarlo nella variabile * omonima * finché intero è positivo: * memorizzare in fattoriale, intero * fattoriale * decrementare intero * visualizzare il valoreore della variabile fattoriale.
Implementazione in C
* */ #include
int main(void) { int intero, fattoriale; intero = -1; fattoriale = 1; while (intero printf("Inserire un intero non negativo: "); scanf("%d", &intero); } while (intero > 0) { fattoriale = intero * fattoriale; --intero; } printf("Il fattoriale è %d ", fattoriale); return (0); }
Domande da interrogazione
- Cos'è il fattoriale e come si calcola?
- Qual è l'algoritmo per calcolare il fattoriale in modo top-down?
- Come viene implementato il calcolo del fattoriale in C?
Il fattoriale di un intero non negativo n, indicato come n!, è il prodotto di tutti gli interi da n a 1. Per n = 0, il fattoriale è definito come 1. Ad esempio, 5! = 5*4*3*2*1 = 120.
L'algoritmo top-down prevede di leggere un intero non negativo, inizializzare il fattoriale a 1 e, finché l'intero è positivo, moltiplicare il fattoriale per l'intero e decrementare quest'ultimo fino a raggiungere 0.
In C, il programma legge un intero non negativo, utilizza un ciclo per calcolare il fattoriale e infine visualizza il risultato. La variabile intero viene inizializzata a -1 per garantire che l'input sia valido.