Anteprima
Vedrai una selezione di 27 pagine su 130
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 1 Programmi scientifici in linguaggio Standard C, Sistemi Pag. 2
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 6
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 11
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 16
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 21
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 26
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 31
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 36
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 41
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 46
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 51
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 56
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 61
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 66
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 71
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 76
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 81
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 86
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 91
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 96
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 101
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 106
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 111
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 116
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 121
Anteprima di 27 pagg. su 130.
Scarica il documento per vederlo tutto.
Programmi scientifici in linguaggio Standard C, Sistemi Pag. 126
1 su 130
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

NOME TIPO STRUTTURA ATTRIBUTO

Informazioni di ingresso

ei float var. semplice estremo inferiore

dell'intervallo

es float -- estremo superiore

dell'intervallo

approssimazione float -- approssimazione

richiesta

Informazioni di uscita

x float -- zeri della

funzione

NOME TIPO STRUTTURA ATTRIBUTO

Informazioni di algoritmo

g1 float -- valore

parziale di f in x

g2 float -- valore parziale di

f in x+eps

3) Formulazione dell'agoritmo

L'algoritmo è costituito da un ciclo do-while il quale partendo

dal valore dell'estremo inferiore "ei" e con passo "eps" confronta

i segni assunti dalla funzione e stampa il valore x quando i segni

risultano diversi.Il ciclo viene eseguito mentre x<=es

4) Sottoprogrammi interni adoperati

4.1) Nome:funf

Tipo: funzione oggetto dello scandaglio che restituisce un float

Motivazione:funf è la funzione in esame

Parametri di ingresso: x di tipo float è la varabile della

funzione. 32

Listato.

#include "stdafx.h"

#include <math.h>

const float eps=(float)0.0001;

float ei=0;

float es=0;

float g1=0;

float g2=0;

float x=0;

float funf(float x)

{ float ritorno_valore_funzione=0;

float radianti=0;

/* radianti=(float)((6.28318*x)/360);

ritorno_valore_funzione=(float)sin(radianti);

*/ ritorno_valore_funzione=(float)(x*x-2);

return ritorno_valore_funzione;

}

int main(int argc, char* argv[])

{ printf("Calcolo zeri con il metodo dello scandaglio!\n");

do

{ printf("Inserisci l'estremo inferiore");

scanf("%f",&ei);

printf("\n");

printf("Inserisci l'estremo superiore");

scanf("%f",&es);

printf("\n");

}while (ei>es);

// assegnazione valori iniziali

g1=funf(ei);

x=ei;

do

{ x=x+eps;

g2=funf(x); 33

if((g1*g2)<=0)

{

printf("lo zero e' %.2f\n",x);

}

g1=g2;

}while (x<=es);

printf("\n Fine ricerca zeri nell'intervallo dato\n");

return 0;

}

2.9 Calcolo zeri di una funzione (metodo bisezione - ricorsivo)

1) Intestazione

Nome programma: Metodo di Bisezione-Ricorsivo

Nome file associati al programma: Nessuno

Nome del programma sorgente:zeri bisezione ricorsiva.cpp

2) Motivazione generale del programma.

Calcolo dello zero di una funzione continua nell'intervallo (a,b)

con il metodo del dimezzamento

L'algoritmo utilizzato è di tipo ricorsivo.

La funzione presa in esame e' : f(x)=x*x-2

3) Metodo di soluzione

Si dimezza iterativamente l'intervallo (x1,x2) (all'interno del

quale la funzione assume valori opposti) in cui è contenuta la

radice fino a che la sua ampiezza non diviene minore di un epsilon

assegnato.

4) Modalità d'uso

Il programma richiede in ingresso gli estremi dell'intervallo

e la approssimazione desiderata

5) Eccezioni e messaggi di errore.

Viene stampato un messaggio di errore se la funzione non assume

valori opposti nei punti a e b (estremi dell'intervallo di

definizione)

6) Interpretazione dell'output

Stampa il punto in cui la funzione e' prossima allo zero

ed il valore assunto in tale punto

Documentazione Interna 34

1) Struttura dei dati

NOME TIPO STRUTTURA ATTRIBUTO

Informazioni di ingresso

a float var. semplice estremo inferiore

dell'intervallo

b float variabile semplice estremo superiore

dell'intervallo

approssimazione float -- approssimazione

richiesta

Informazioni di uscita

z float -- punto di nullo di f

f(z) float -- f(z) in z

Informazioni di algoritmo

con (0 oppure 1) float -- vero,cioè uguale ad

1 se converge in n

iterazioni

2)Formulazione dell'algoritmo.

Utilizza il classico algoritmo di bisezione:l'intervallo (a,b)

viene iterativamente dimezzato,scegliendo il sottointervallo in cui

la funzione cambia segno.

3) Sottoprogrammi interni adoperati

3.1) Nome:fun

Tipo: funzione oggetto del calcolo dello zero

Motivazione:fun è la funzione in esame

Parametri di ingresso: x di tipo float è la varabile della

funzione che ha valore semantico in radianti.

3.2) Nome:zero (funzione)

Tipo: funzione oggetto del calcolo dello zero

Motivazione:ricerca il punto di nullo della funzione

Parametri di ingresso: x1,x2, ed eps di tipo float

Variabili Locali: x,w di tipo float

3.3) Nome:segno

Tipo: funzione che restituisce il valore 1 che codifica il segno

"+" o il valore 0 che codifica il segno "-"

Motivazione:identifica il segno della funzione nel punto valf

Parametri di ingresso: valf di tipo float. 35

Listato.

#include "stdafx.h"

#include <math.h>

float a=0; //primo estremo dell'intervallo

float b=0; //secondo estremo dell'intervallo

float approssimazione=0; //approssimazione desiderata

float z=0; //punto di nullo della funzione

float fun(float x);

float zero(float x1, float x2,float eps);

float segno(float valf);

float fun(float x)

{ float valore_di_ritorno_della_funzione;

valore_di_ritorno_della_funzione=x*x-2;

return valore_di_ritorno_della_funzione;

}

float segno(float valf)

{ float valore_di_ritorno_della_funzione;

if(valf>0)

{ valore_di_ritorno_della_funzione=1;

}

else 36

{ valore_di_ritorno_della_funzione=0;

}

return valore_di_ritorno_della_funzione;

}

float zero(float x1, float x2,float eps)

{ float valore_di_ritorno_della_funzione=0; //valore di ritorno della

funzione

float w=0; //memorizza il valore di f

float s=0; //segno di f(x1)

float x=0; //punto medio dei successivi intervalli

w=fun(x1);

s=segno(w);

x=(x1+x2)/2;

w=fun(x);

if (fabs(x-x1)<eps)

{ valore_di_ritorno_della_funzione=x;

}

else

if(s==segno(w))

{

valore_di_ritorno_della_funzione=zero(x,x2,eps);

}

else {

valore_di_ritorno_della_funzione=zero(x1,x,eps);

}

return valore_di_ritorno_della_funzione;

}

int main(int argc, char* argv[])

{ printf("Metodo di bisezione ricorsivo!\n");

do

{ printf("\n");

printf("Metodo di bisezione ricorsivo\n");

printf("Funzione di prova x*x-2=0");

printf("Immetti gli estremi dell'intervallo (a<b)");

printf("a= ");

scanf("%f",&a);

printf("b= ");

scanf("%f",&b);

}while(a>b);

printf("\n");

printf("Immetti l'approssimazione desiderata :");

scanf("%f",&approssimazione); 37

if(fun(a)*fun(b)<0)

{

z=zero(a,b,approssimazione);

printf("\n");

printf("Il punto in cui la funzione f, con l'approssimazione\n");

printf("data, e' prossima allo zero e':");

printf("%f\n",z);

printf("\n");

printf("Il valore assunto dalla funzione in tale punto è :\n");

printf("%f\n",fun(z));

printf("\n");

}

else {

printf("\n");

printf("Errore : la fuzione deve assumere valori opposti\n");

printf("negli estremi dell'intervallo [a,b]\n");

}

return 0;

}

2.10 Calcolo Integrale definito (applicando la definizione)

1) Intestazione

Nome programma: Calcolo integrale definito

Nome file associati al programma: Nessuno

Nome del programma sorgente: Calcolo Integrale.cpp

2) Motivazione generale del programma.

Data una qualsiasi funzione definita nel dominio dei numeri reali

avente valori nel dominio degli stessi numeri reali,

il programma in questione ne calcola l'integrale definito tra due

estremi appartenenti al dominio di definizione.

La funzione presa in esame e' : f(x)=sin(x)

3) Metodo di soluzione

Si applica la definizione di integrale definito.

4) Modalità d'uso

Il programma richiede in ingresso gli estremi dell'intervallo

ed il numero di intervallino (numero di campioni) in cui viene

suddiviso tutto l’intervallo di definizione della funzione

5) Eccezioni e messaggi di errore.

Non ci sono ne eccezioni ne messaggi di errore

6) Interpretazione dell'output

Stampa il mappaggio della struttura lineare in una struttura

bidimensionale. Stampa i valori della formula, che sommando tutti

rettangoli che hanno come base gli intervallini elementari in cui

viene suddiviso l’intervallo di definizione, culmina con il

valore del rettangoloide che approssima per difetto il valore

dell’integrale. 38

Documentazione Interna

1) Struttura dei dati

NOME TIPO STRUTTURA ATTRIBUTO

Informazioni di ingresso

Primo_estremo float var. semplice estremo inferiore

di integrazione

Secondo_estremo float var.smeplice estremo superiore

di integrazione

numero_di_campioni float var. semplice numero di

intervallini

Informazioni di uscita

area_rettangoloide float var.semplice valore dell’integrale

Informazioni di algoritmo

Sequenza float array punti in cui viene

suddivisol’intervallo

di integrazione

Primo termine float variabile estremo inferiore

Strutturata intervallini di base

dei rettangoli che

formano il

rettangoloide

Secondo termine float variabile contiene l’estremo

strutturata superiore degli

intervallino di base

dei rettangoli che

formano il

rettangoloide

sommatoria float variabile valore area del

semplice rettangoloide

estremo_inferiore_ float variabile estremo inf.

intervallino semplice intervallino

estremo_superiore_ float variabile estremo sup.

intervallino semplice intervallino

valore_della_ float variabile valore della

funzione semplice funzione

nell’intervallino

2)Formulazione dell'algoritmo.

A partire dal segmento che delimita sull'asse reale l'estremo

inferiore e superiore di integrazione, lo stesso segmento

è suddiviso in un numero di parti definito dal numero in ingresso, il

quale rappresenta il numero di campioni per calcolare il

rettangoloide che approssimerà per difetto la funzione. L'area di

detto rettangoloide sarà il valore dell' integrale cercato.

In modo particolare il programma richiede l'immissione

dell'intervallo di integrazione a seconda che l'estremo inferiore

sia in valore assoluto maggiore dell'estremo superiore in valore

assoluto, inverte gli estremi di integrazione.

Questa operazione viene fatta per dare in ingresso ad una funzione di mappaggio

di una struttura dati lineare una struttura dati bidimensionale.

Si necessita il mappaggio perché si vuole applicare la formula:

area_rettangolino=f(primo_estremo_intervallino)*(primo_e

Dettagli
Publisher
A.A. 2014-2015
130 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher unina di informazioni apprese con la frequenza delle lezioni di Sistemi di elaborazione 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 Napoli Federico II o del prof Mazzocca Nicola.