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)