Beruflich Dokumente
Kultur Dokumente
Facultad de Ciencias
Fsica Computacional
CC063
Introduccion a
C++ y Fortran 90/95
Prof: J. Solano
2012-I
Fisica Computacional - CC063
Tipos de variables
Locales (Definido dentro de una funcin, slo est disponible dentro del alcance de
la funcin)
Formales (Si se define dentro de una funcin, slo est disponible dentro de esa
funcin especfica)
Globales (Definido fuera de una funcin dada, disponible para todas las funciones
desde el punto donde se define)
// declarar variables
scanf("%lf", &radio);
// leer el radio
calcular el area
A = pi * r**2
10
Compilacion en el shell
Compilar en el shell (bash) asi:
gcc -o p1-area p1-area.c
f77 -o p1-area p1-area.f
CC-FC-UNI */
main() {
double under = 1., over = 1.;
// valores de inicio
int i
for (i=0; i<N; i++) {
under /= 2.;
over *= 2.;
CC-FC-UNI */
main() {
double under = 1., over = 1.;
// valores de inicio
int i;
FILE *output;
output= fopen("p2-under-over2.dat","w");
for (i=0; i<N; i++) {
under /= 2.;
over *= 2.;
fprintf(output, "%d . under: %e over:%e \n", i+1, under, over); // guardar resultados
}
printf("datos almacenados en p2-under-over2.dat.\n");
fclose(output);
}
10
CC-FC-UNI */
// valores iniciales
int i;
for (i=0; i<N; i++) {
eps /= 2.;
uno = 1.0+eps;
printf("%.18f \t %.16e \n", uno, eps);
// imprimir resultados
}
}
Fisica Computacional - CC063
11
12
13
// declaracion de variables
// obtener a, b y c
14
15
(x-x1)*(x-x2) = 0
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, c, x1, x2, s1, s2, d;
// declaracion de variables
// obtener a, b y c
16
17
exp(-x)
Solucion:
1- calculando
donde
3- primero calculando
18
double
// declaracion de funcion
int main() {
int n;
// declaracion de variables
// inicializacion
n = 0;
term = 1;
while(fabs(term) > TRUNCATION) {
term = pow( -1, (TYPE) n) * (TYPE) pow((TYPE) x, (TYPE) n)/ factorial(n);
sum += term;
n++;
} // final del loop while()
cout << " x = " << x << " exp = " << exp(-x) << " serie = " << sum;
cout << " numero de terminos " << n << endl;
}
return 0;
}
19
// declaracion de variables
TYPE fac;
for(loop=1; fac = 1.0; loop <= n; loop++) {
fac *= loop;
}
return fac;
}
20
// declaracion de variables
// inicializacion
n = 1;
term = 1;
while(fabs(term) > TRUNCATION) {
term *= -x/((double) n);
sum += term;
n++;
} // final del loop while()
cout << " x = " << x << " exp = " << exp(-x) << " serie = " << sum;
cout << " numero de terminos " << n << endl;
}
}
21
Desviacion standard
// declaracion de variables
int i;
for(i=0 ; i < 127 ; i++){
x[i] = i + 100000.;
}
sum = 0.;
sum += x[i];
sumsq2 += pow( (double) x[i] , 2.); }
// calculo del promedio y del sigma
xbar = sum/127.;
sigma1 = sqrt((sumsq2 - sum*xbar)/126.);
/* calculamos el promedio y luego la suma de la desv. standard */
sumsq2 = 0.;
for ( i=0 ; i < 127 ; i++) {
sumsq2 += pow ( (double) (x[i]-xbar), 2.);
}
sigma2 = sqrt(sumsq2/126.);
cout << "xbar=" << xbar << " sigma1=" << sigma1 << " sigma2=" << sigma2 << endl;
return 0;
} // final funcion main()
22
Operadores en C/C++
++x; equivale a x = x+1;
--x;
equivale a x = x-1;
23
Operadores en C/C++
24