Anteprima
Vedrai una selezione di 8 pagine su 31
4 esami di C con soluzioni, prof. Scardovelli Pag. 1 4 esami di C con soluzioni, prof. Scardovelli Pag. 2
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
4 esami di C con soluzioni, prof. Scardovelli Pag. 6
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
4 esami di C con soluzioni, prof. Scardovelli Pag. 11
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
4 esami di C con soluzioni, prof. Scardovelli Pag. 16
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
4 esami di C con soluzioni, prof. Scardovelli Pag. 21
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
4 esami di C con soluzioni, prof. Scardovelli Pag. 26
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
4 esami di C con soluzioni, prof. Scardovelli Pag. 31
1 su 31
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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 */

/*

Dettagli
Publisher
A.A. 2015-2016
31 pagine
11 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher fedeguli di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Scardovelli Ruben.