Proyecto1

Páginas: 23 (5526 palabras) Publicado: 27 de julio de 2015
Visualizaci´on creativa de polinomios
Proyecto #1 de Programaci´on Num´erica
Marzo 2015

1

Introducci´
on

Existen un sinf´ın de aplicaciones donde las matem´aticas y el c´omputo se combinan en aplicaciones cuyo u
´nico objetivo es generar un producto creativo (y
en algunos casos, art´ıstico). Ejemplos de esto son: paisajes generados mediante fractales, animaci´
on por computadora (demoscene),videojuegos, m´
usica
algor´ıtmica y otros (a los nefitos se les sugiere hacer una b´
usqueda en youtube
de cada uno de estos ejemplos). Adem´as de proporcionar un medio de expresi´on,
este tipo de aplicaciones permiten a los desarrolladores y mejorar sus habilidades
matem´
aticas y de programaci´on.
En este proyecto se pretende introducir al alumno a la animaci´on por computadora en tiempo real yal arte digital a trav´es de la visualizaci´on de polinomios en el plano complejo. Los objetivos particulares del proyecto son:
• Que el alumno aprenda a desarrollar sus propias librer´ıas en lenguajes C
y C++.
• Que el alumno aprenda a desarrollar proyectos compuestos de m´
ultiples
archivos fuente bajo Code::Blocks.
• Que el alumno implemente una librer´ıa para el manejo b´asico de polinomios.
•Que el alumno implemente una librer´ıa para visualizar cualquier funci´on
de C a C.
• Que el alumno utilice las librer´ıas desarrolladas para generar animaciones
en tiempo real.

2

Implementaci´
on de librer´ıas en C/C++

Antes de comenzar formalmente el proyecto, es importante conocer c´omo se desarrollan proyectos de C/C++ un poco mas ambiciosos que los ejemplos usualmente vistos en clase. Unproyecto consiste generalmente de m´
ultiples archivos
de c´
odigo fuente, donde solo uno de ellos contiene a la funci´on principal main().
Dado que en el curso se utiliza el lenguaje C++, todos los archivos fuente deben
1

llevar la extensi´
on .cpp y por lo general se debe tratar de que cada archivo fuente
contenga funciones relacionadas en t´erminos de su funcionalidad. Por ejemplo,
se puedetener un archivo fuente que contenga las funciones para el manejo de
polinomios, otro que contenga funciones para trabajar con matrices, otro que
tenga funciones para trabajar con im´agenes, etc. Incluso los archivos fuente que
son demasiado extensos se pueden separar en dos o mas archivos.
Para poder utilizar las funciones definidas en un archivo fuente dentro de
otro es necesario escribir unarchivo separado que contenga los encabezados de
tales funciones y cualquier otra definici´on que sea necesario compartir con otros
archivos fuente (e.g., definici´on de constantes, nuevos tipos de datos y clases).
Este archivo de encabezados suele tener el mismo nombre que el archivo fuente
correspondiente, pero con extensi´on .h o .hpp (esta u
´ltima solamente para

odigo en C++). El archivo deencabezado entonces se puede incluir dentro de
cualquier archivo fuente mediante la directiva #include "nombre_del_archivo".
Por ejemplo, suponga que se desea elaborar una librer´ıa con los m´etodos
de obtenci´
on de ra´ıces vistos en clase. El archivo de encabezado (llam´emosle
raices.h) puede quedar como sigue:
// Archivo raices.h
#ifndef _raices_h
#define _raices_h
double biseccion(double(*f)(double x), double a, double b,
double precision = 1e-10, bool info = false) ;
double falsapos(double (*f)(double x), double a, double b,
double precision = 1e-10, bool info = false);
double puntofijo(double (*g)(double x), double p, int maxit = 100,
double precision = 1e-10, bool info = false);
double newtonraphson(double (*f)(double x), double (*df)(double x),
double xr_ant, int maxit = 100, doubleprecision = 1e-10,
bool info = false);
#endif
El c´
odigo que se encuentra entre las directivas #ifndef y #endif se compilar´
a solamente si la macro _raices_h no ha sido definida. Ya que lo primero
que se hace en este caso es definir la macro, eso impedir´a que el compilador
trate de compilar el c´
odigo m´as de una vez (lo cual provocar´ıa un error de compilaci´
on), a´
un cuando el archivo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Proyecto1
  • Proyecto1
  • Proyecto1
  • Proyecto1
  • Proyecto1
  • Proyecto1
  • Proyecto1
  • proyecto1

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS