Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
GULINATI FEDERICO
662844
Prova: Linguaggio C
# di matricola non è multiplo nè di 9 nè di 5
Intervallo: a=2.000000 - b=4.000000 ; suddivisioni: 20 ---> punti: 21 ; passo=0.100000
# estremo _ x _ y
1 2.00000000 -0.52259926
2 2.10000000 -0.64175815
3 2.20000000 -0.73040587
4 2.30000000 -0.78812343
5 2.40000000 -0.81552073
6 2.50000000 -0.81416428
7 2.60000000 -0.78647992
8 2.70000000 -0.73563369
9 2.80000000 -0.66539493
10 2.90000000 -0.57998625
11 3.00000000 -0.48392519
12 3.10000000 -0.38186291
13 3.20000000 -0.27842507
14 3.30000000 -0.17805989
15 3.40000000 -0.08489810
16 3.50000000 -0.00262909
17 3.60000000 0.06560326
18 3.70000000 0.11728223
19 3.80000000 0.15057526
20 3.90000000 0.16436519
21 4.00000000 0.15825551
produttoria col for: prod=1.567670, con 125 termini
produttoria col while: prod=1.570765, con 12500 termini
pigreco/2=1.5707963268
parte grafica (file .c)
#include <math.h>
#include <stdio.h>
double fun(double x);
/* main */
int main()
{ /*dichiarazione variabili */
int j,i,n,m;
double a,b,c[6],x,y,h;
/* inizializzazione variabili */
m=170;
n=5;
a=-0.5;
b=0.5;
h=(b-a)/m;
x=a;
/*punto a*/
printf("#ascissa _ funzione _ polinomio\n");
for(i=0;i<=m;i++) {
x=a+i*h;
y=fun(x);
c[0]=1.;
c[1]=6.*x;
for(j=2;j<=n;j++)
c[j]=(((2.*(j-1)+6.)*x*c[j-1])-(j+4.)*c[j-2])/(j);
printf("%8.4f %8.4f %8.4f\n",x,y,c[5]);
}
return 0;
}
/*--------------------------------------------*/
/* punto b */
double fun(double x)
{ double y;
y=(672.*x*x*x*x*x-480.*x*x*x+60.*x);
return y;
}
5
0
-5 -0,4 -0,2 0 0,2 0,4
PROVA 2 prima parte, file .c
#include <math.h>
#include <stdio.h>
double fun(double x);
/* main */
int main()
{ /*dichiarazione variabili */
int j,i,n,m;
double a,b,c[6],x,y,h;
/* inizializzazione variabili */
m=170;
n=5;
a=-0.5;
b=0.5;
h=(b-a)/m;
x=a;
/*punto a*/
printf("#ascissa _ funzione _ polinomio\n");
for(i=0;i<=m;i++) {
x=a+i*h;
y=fun(x);
c[0]=1.;
c[1]=6.*x;
for(j=2;j<=n;j++)
c[j]=(((2.*(j-1)+6.)*x*c[j-1])-(j+4.)*c[j-2])/(j);
printf("%8.4f %8.4f %8.4f\n",x,y,c[5]);
}
return 0;
}
/*--------------------------------------------*/
/* punto b */
double fun(double x)
{ double y;
y=(672.*x*x*x*x*x-480.*x*x*x+60.*x);
return y;
}
file .dat
GULINATI FEDERICO
662844
Prova: Linguaggio C
a=-3.000000; b=3.000000; passo=0.250000; punti=25
estremo - x - ordinata
1 -3.00000000 0.60000000
5 -2.00000000 -4.51959853
9 -1.00000000 -1.81417390
13 0.00000000 0.00000000
17 1.00000000 -0.41375021
21 2.00000000 0.60000000
25 3.00000000 0.60000000
n: 25; sum= 2925; identità: 2925.000000
Parte grafica, file .c
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
/* definisco il file sul quale stampo ed eventuali variabili */
#define OUTFILE "guli2_2.dat"
#define M 5
#define N 120 /* esempio */
double funz(double x); /* funzione che richiamerò nel main */
/* main */
int main()
{ /* dichiarazione variabili */
FILE *fp; /* puntatore */
int i,k;/* variabili intere tipo contatori */
double a,b,h,x,y,z,c[M],dc;/* variabili in virgola mobile */
/* eventuali altre variabili */
/* apertura in scrittura e controllo sul puntatore restituito */
if((fp=fopen(OUTFILE,"w"))==NULL) {
(void) fprintf(stderr, "Non si apre:%s\n",OUTFILE);
return EXIT_FAILURE;
}
/* inizializzazione variabili */
a=0.;
b=5.;
h=(b-a)/M;
dc=0.5;
/* esercizio richiesto */
for(i=1;i<=M;i++) {
c[0]=0.5;
c[i]=c[i-1]+dc;
for(k=0;k<=M;k++) {
x=a+h*k;
y=c[i-1]*c[i-1]*x-c[i-1]*c[i-1]*c[i-1];
fprintf(fp,"%12.8f %12.8f\n",x,y);
}
fprintf(fp,"\n");
}
h=(b-a)/N;
for(i=0;i<=N;i++) {
x=a+h*i;
z=funz(x);
fprintf(fp,"%12.8f %12.8f\n",x,z);
}
/* chiusura del file in scrittura */
fclose(fp);
return EXIT_SUCCESS;
}
/* funzione richiamata */
double funz(double x)
{ double y;
/* corpo della funzione */
y=4.*x*x*x/27.;
return y;
}
20
10
0
-10
-20 0 1 2 3 4 5
PROVE 3 prima parte (.c)
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
/* definisco il file sul quale stampo ed eventuali variabili */
#define OUTFILE "guli2_2.dat"
#define M 5
#define N 120 /* esempio */
double funz(double x); /* funzione che richiamerò nel main */
/* main */
int main()
{ /* dichiarazione variabili */
FILE *fp; /* puntatore */
int i,k;/* variabili intere tipo contatori */
double a,b,h,x,y,z,c[M],dc;/* variabili in virgola mobile */
/* eventuali altre variabili */
/* apertura in scrittura e controllo sul puntatore restituito */
if((fp=fopen(OUTFILE,"w"))==NULL) {
(void) fprintf(stderr, "Non si apre:%s\n",OUTFILE);
return EXIT_FAILURE;
}
/* inizializzazione variabili */
a=0.;
b=5.;
h=(b-a)/M;
dc=0.5;
/* esercizio richiesto */
for(i=1;i<=M;i++) {
c[0]=0.5;
c[i]=c[i-1]+dc;
for(k=0;k<=M;k++) {
x=a+h*k;
y=c[i-1]*c[i-1]*x-c[i-1]*c[i-1]*c[i-1];
fprintf(fp,"%12.8f %12.8f\n",x,y);
}
fprintf(fp,"\n");
}
h=(b-a)/N;
for(i=0;i<=N;i++) {
x=a+h*i;
z=funz(x);
fprintf(fp,"%12.8f %12.8f\n",x,z);
}
/* chiusura del file in scrittura */
fclose(fp);
return EXIT_SUCCESS;
}
/* funzione richiamata */
double funz(double x)
{ double y;
/* corpo della funzione */
y=4.*x*x*x/27.;
return y;
}
file .dat
GULINATI FEDERICO
662844
Prova: Linguaggio C
1 -3.0000000 0.1304348
4 -2.0000000 10.2803443
7 -1.0000000 1.3403265
10 0.0000000 -0.9005038
14 1.0000000 6.3333333
18 2.0000000 0.1304348
22 3.0000000 0.1304348
4 12.2013347989 1.865777e-01
8 14.9921821070 5.211929e-04
12 14.9999981351 1.243281e-07
16 14.9999999999 6.189064e-12
parte grafica (.c)
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
/* definisco il file sul quale stampo ed eventuali variabili */
#define OUTFILE "gulinati2.dat"
#define M 200 /* esempio */
double funz(double x,double t); /* funzione che richiamerò nel main */
double funz2(double x);
/* main */
int main()
{ /* dichiarazione variabili */
FILE *fp; /* puntatore */
int i,k;/* variabili intere tipo contatori */
double x,y[5],t[5],r[5],dt,I,a,b,h,g,v;/* variabili in virgola mobile */
/* eventuali altre variabili */
/* apertura in scrittura e controllo sul puntatore restituito */
fp=fopen(OUTFILE,"w");
/* inizializzazione variabili */
dt=10.;
t[0]=30.;
/*a*/
for(i=1;i<=4;i++) {
t[i]=t[i-1]+dt;
r[i]=t[i]*2*acos(0.)/180.;
}
a=0.;
b=15.;
h=(b-a)/M;
for(k=0;k<=M;k++) {
x=a+k*h;
I=funz2(x);
for(i=0;i<=4;i++)
y[i]=funz(x,t[i]);
fprintf(fp,"%13.7f %13.7f %13.7f %13.7f %13.7f %13.7f
%13.7f\n",x,I,y[0],y[1],y[2],y[3],y[4]);
}
/* chiusura del file in scrittura */
fclose(fp);
return 0;
}
/* funzione richiamata */
double funz(double x,double t)
{ double y,g,v;
g=9.81;
v=7.;
y=x*tan(t)-(g*x*x)/(2.*v*v)*(1.+tan(t)*tan(t));
return y;
}
double funz2(double x)
{ double I,g,v;
g=9.81;
v=7.;
I=(v*v)/(2.*g)-(g*x*x)/(2*v*v);
return I;
}
0 0 10 20
5 15
PROVA TG-06 prima parte (.c)
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
/* definisco il file sul quale stampo ed eventuali variabili */
#define OUTFILE "gulinati1.dat"
#define M 29 /* esempio */
double funz(double x); /* funzione che richiamerò nel main */
/* main */
int main()
{ /* dichiarazione variabili */
FILE *fp; /* puntatore */
int i,n,k;/* variabili intere tipo contatori */
double x[M],y[M],a,b,dx,prod,r,sum;/* variabili in virgola mobile */
/* eventuali altre variabili */
/* apertura in scrittura e controllo sul puntatore restituito */
fp=fopen(OUTFILE,"w");
/* STAMPA SU FILE DI NOME COGNOME MATRICOLA E ESERCIZIO */
fprintf(fp,"GULINATI FEDERICO\n");
fprintf(fp,"662844\n");
fprintf(fp,"Prova: TG-06\n");
/* inizializzazione variabili */
b=2.1;
dx=0.15;
/* e */
for(i=M-1;i>=0;i--){
x[i]=b-dx*(M-1-i);
y[i]=funz(x[i]);
/*printf("%d %f %f\n",i,x[i],y[i]);*/
}
/* f */
for(i=1;i<=M;i++) {
if((i-1)%4==0)
fprintf(fp,"%2d %14.9f %14.9f\n",i,x[i-1],y[i-1]);
}
/* g */
prod=1.;
n=6;
k=1;
while(k<=n) {
prod=prod*cos((2*k-1)*3.14/(4.*n));
k++;
}
fprintf(fp,"\ng) %15.9f %15.9f %d\n",prod,sqrt(2)/pow(2,n),n);
/* h */
/*printf("%f\n",2*acos(0) );*/
r=2.*acos(0.)/9.;
sum=0.;
for(k=1;k<=6;k++) {
sum=sum+cos(k*r);
}
fprintf(fp,"\nh) %d %15.9f %15.9f\n",n,1.+2.*sum,(sin((n+1./2.)*r))/(sin(r/2.)) );
/* chiusura del file in scrittura */
fclose(fp);
return 0;
}
/* funzione richiamata */
double funz(double x)
{ double y,t;
t=pow(x,2./3.);
/* corpo della funzione */
if(x<-2. || x>=2.)
y=23./9.;
else if(x>0. && x<2.)
y=9./5.*(log(x+1.)-sqrt(x*x+1.));
else
y=3./7.*(cos(x)*sin(x))-2./3.*t;
return y;
}
file .dat
GULINATI FEDERICO
662844
Prova: TG-06
1 -2.100000000 2.555555556
5 -1.500000000 -nan
9 -0.900000000 -nan
13 -0.300000000 -nan
17 0.300000000 -1.406999496
21 0.900000000 -1.266315333
25 1.500000000 -1.595672831
29 2.100000000 2.555555556
g) 0.022272802 0.022097087 6
h) 6 4.411474128 4.411474128
Parte grafica (.c)
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
/* definisco il file sul quale stampo ed eventuali variabili */
#define OUTFILE "gulinati2.dat"
#define M 5 /* esempio */
double funzx(double a,double teta); /* funzione che richiamerò nel main */
double funzy(double b,double teta);
/* main */
int main()
{ /* dichiarazione variabili */
FILE *fp; /* puntatore */
int i,m,k;/* variabili intere tipo contatori */
double a[M],b[M],C,da,A,B,x,y,dteta,teta;/* variabili in virgola mobile */
/* eventuali altre variabili */
/*