Codice dei programmi nella directory:

///File: Potenza.c
#include <stdio.h> #include <math.h> /*** Compito: scrivi le seguenti funzioni: 1) funzione int quadrato(x) 2) funzione int cubo(x) 3) funzione int fatt(x) (fattoriale di x = 1*2*3*....x) 4) funzione double serie1(N) --> ritorna 1 + 1/2 + 1/4 + 1/8 + 1/16 + .... (N termini) 5) funzione double serie2(N) --> ritorna 1 + 1/2 + 1/3 + 1/4 + 1/5 + .... (N termini) 6) funzione void quadrato(N) --> vsualizza a video un quadrato di N asterischi 7) Facoltativo: modificare il programma Roulette.c usando le funzioni in modo che il programma diventi molto piu' leggibile ****/ int pot(int x, int n) { int i,p; for (p=1,i=1; i<=n; i++) p = p*x; return p; } int main() { int base,esponente,risultato; int i; printf("Base->"); scanf("%d",&base); printf("Esponente->"); scanf("%d",&esponente); risultato=pot(base,esponente); printf("%d elevato alla %d fa %d (con pot() )\n",base,esponente,risultato); risultato=pow(base,esponente); printf("%d elevato alla %d fa (con pow() in math.h) %d\n",base,esponente,risultato); for ( i=0; i<31; i++) printf("%d\n",pot(2,i)); return 0; }
///(Fine file: Potenza.c)

///File: funzioni.c
#include <stdio.h> #include <math.h> int pot(int x, int n) { int i,p; for (p=1,i=1; i<=n; i++) p = p*x; return p; } int quadrato(int n) { ///return n*n; return pot(n,2); } int cubo(int n) { /// return n*n*n; return n*quadrato(n); } double fattoriale(int n) { double fat =1.0; int i; for(i=2; i <= n; i++) fat=fat*i; return fat; } void linea(int n) /// NB: siccome e' void NON ritorna niente, manca il return! { int i; for(i=1; i <= n; i++) putchar('*'); putchar('\n'); } void quadrato_asterischi(int n) { int i; for(i=1; i<= n; i++) linea(n); } void quadrato2(int n) { int i,j; for(i=0; i < n; i++) { for(j=0; j < n; j++) putchar('*'); putchar('\n'); } } int main() { int base,esponente,risultato; int i; int n; /** printf("Base->"); scanf("%d",&base); printf("Esponente->"); scanf("%d",&esponente); risultato=pot(base,esponente); printf("%d elevato alla %d fa %d (con pot() )\n",base,esponente,risultato); risultato=pow(base,esponente); printf("%d elevato alla %d fa (con pow() in math.h) %d\n",base,esponente,risultato);***/ printf("Dammi un numero e visualizzo il quadrato, il cubo e il fattoriale ->"); scanf("%d",&n); printf("Il quadrato e' %d, il cubo e' %d\n",quadrato(n),cubo(n)); printf("Il fattoriale e' %20.0lf\n",fattoriale(n)); printf("Un quadrato di asterischi:\n"); quadrato_asterischi(n); printf("Ancora un quadrato di asterischi:\n"); quadrato2(n); return 0; }
///(Fine file: funzioni.c)

///File: ideeXordineEtronca.txt
double tronca
(double n) /// se n == 1234.5678 ritorna 1234 { int x=n; // in x ci va 1234 return x; } double tronca(double n) { return (int) n; } int ordine(int n1, int n2, int n3) n1 <= n2 <= n3 { if (n1 <= n2) if (n2 <= n3) return 1; return 0; } int ordine(int n1, int n2, int n3) { return (n1 <= n2 && n2 <= n3); }
///(Fine file: ideeXordineEtronca.txt)

///File: ideaXefattoriale.txt
double fattoriale
(int n) { double fat =1.0; int i; for(i=2; i <= n; i++) fat=fat*i; return fat; } int efattoriale(int n) { int d; /// d e' un valore for(d=1; d < n/2; d++) { if (fattoriale(d)==n) /// d! e' uguale a n return d; /// se fattoriale(5) == 120 e n == 120 ritorna 5 } return 0; /// finito il ciclo, so che n non e' un fattoriale }
///(Fine file: ideaXefattoriale.txt)

///File: MassimoFra3valori.c
#include <stdio.h> /*** leggere un certo numero di valori e calcolarne il massimo */ int max(int num1, int num2) { if (num1 > num2) return num1; else return num2; } int max3(int num1, int num2, int num3) { return max(max(num1,num2),num3); } int main() { int n1, n2, n3, massimo; printf("tre numeri ->"); scanf("%d %d %d",&n1,&n2,&n3); massimo=max3(n1,n2,n3); printf("Il massimo e' %d\n", massimo); return 0; }
///(Fine file: MassimoFra3valori.c)