CP 04
CP 04
CP 04
Clase Práctica 4
Ejercicios Sobre Funciones
Asignatura: Computación Carrera: Radioquı́mica
Profesor: E. González - V. M. Tamé Departamento: Matemática y Computación
10 Marzo, 2010
Nota:
Todos los ejercicios deben ser completados.
Los ejercicios tienen un orden de dificultad aleatorio.
Los ejercicios marcados con dos asteriscos (∗∗) serán considerados para la nota del estudiante en la clase
práctica correspondiente (son los que deciden la nota del estudiante en la clase práctica).
Los ejercicios marcados con tres asteriscos (∗ ∗ ∗) serán considerados para la calificación final del estudiante
(significa que el estudiante puede ser convalidado o recibir bonificación en su nota final).
Se recomienda resolver problemas del sitio http://coj.uci.cu/ (sitio accesible para todos los estudiantes del
InSTEC) y comunicar su solución al profesor. Todos estos problemas serán considerados como tres asteriscos
(∗ ∗ ∗) lo cual significa que el estudiante puede ser convalidado al final del curso, según la cantidad y dificultad
de los problemas resueltos.
Ejercicios Propuestos:
1. Escribe la declaración de un tipo de estructura que se llamará TAlumno, con la siguiente información:
Escribe la declaración de una variable llamada Alumno de tipo TAlumno, y el código necesario para
poner el campo pasa de esa variable a true si el alumno ha aprobado más de 6 asignaturas o a false
en caso contrario.
3. Supón que un colegio tiene como máximo 100 alumnos y cada alumno hace siempre 10 asignaturas.
Escribe la declaración de la estructura de datos que se llamará TColegio, necesaria para guardar toda
la información de un colegio. En concreto, la estructura debe tener:
#include <iostream.h>
void main(){
float r,v;
const float pi=3.141593;
cout << "r=?\n";
cin >> r;
cout << "r=" << r << "\n";
v=(4.0 * pi * r * r * r)/3.0;
cout << "v= " << v << "\n";
}
#include <iostream.h>
#include <math.h> // to use fabs
void main(){
float x, eps, E=1.0, NextTerm=1.0, n=1.0;
cout << "what is x> what is eps?\n";
cin >> x >> eps; //read x and eps
cout "x= " << x << " eps = "<< eps << endl; //echo
//now do the loop for the series
while (fabs(NextTerm) > eps){ //fabs is absolute value
NextTerm = (x * NextTerm)/n;
E = E + NextTerm; //update approximation
//output current approximation
cout << "E = " << E << "n= " << n << endl;
n++; //increase n by 1
}
}
Re-escriba el programa anterior, de tal forma que la aproximación de ex sea calculado por una función.
Corra el programa para varios valores de x y eps y compare las aproximaciones, con el valor real ex .
Se puede concluir que mientras mayor es x, más
x=1 eps=0.0001
términos son necesarios en la serie para obtener
E=2 n=1
una determinada precisión. Haga lo mismo para
E=2.5 n=2
funciones como:
E=2.66667 n=3
a) sin x E=2.70833 n=4
E=2.71667 n=5
b) cos x E=2.71806 n=6
E=2.71825 n=7
Se le da la siguiente tabla, como ejemplo de una
E=2.71828 n=8
salida para x=1 y ε = 0,0001.
8. Diga qué imprime el siguiente programa:
#include <iostream.h>
int i=3;
int main(){
j=3;
cout << (i+j) << endl;
{int i=4; j=4;
cout << (i+j) << endl;
}
cout << (i+j) << endl;
return 0;
}
b o o l StrEq ( c o n s t c h a r * s1 , c o n s t c h a r * s 2 )
{
// Code t o e n t e r
}
I
E
R1
L1
Utilizando el programa escrito en el ejercicio anterior, halle las soluciones del problema:
dI
E = ER + EL = RI + L
dt
Mostrar resultados particulares para el caso: R1 = 10Ω, L1 = 2 henries, E(t) = 20 cos 5t. Con I(0) = 0
Compare sus resultados con la solución analı́tica, expresada según:
Z 1 R
I(t) = µ(t) E(t)dt + C donde: µ(t) = e− R(t)dt
µ(t)
14. Re-escribir la solución del problema 12 utilizando inlining y evaluar las diferencias entre los programas
obtenidos. Evaluar el rendimiento de cada uno cuando se estudia la variación del paso (se recomienda
utilizar el comando time 5 de Linux)
Referencias
[1] Clases prácticas de métodos numéricos. http://www.instec.cu/e-books/cps/?p=369, 2003.
[2] Manuel Álvarez Blanco et al. Matemática Numérica. Editorial “Felix Varela”, La Habana, 2003.
[3] Arnaldo Gómez Montenegro and Lilian Álvarez Diaz. Métodos Numéricos del Análisis Matemático.
Editorial Academia, La Habana, 1991.