domingo, 25 de abril de 2010

Proyecto #4

Equipo: 4
Tema: Pilas

¿Qué hice yo, cómo me salió?
Yo diseñe la animación de como se acomodan las pilas, cual se elimina, y donde se puede insertar un nuevo dato etc. Me salió bien la animación mis compañeros la revisaron y les pareció buena.

En que aspectos estoy bien y en que debo mejorar:

Entendí el funcionamiento de las pilas, sus aplicaciones en la vida real, como se acomodan, cual se puede eliminar, donde insertar otra nueva etc.
No entendía el "Conteo de paréntesis" pero mis compañeros de equipo me lo explicaron y pude entenderlo.

Ayudo a los demas o me apoyo en ellos:

Todos ayudamos para poder hacer la precentación, si alguien tenia una idea la revisábamos y la aplicábamos si estaba bien, sino la mejorabamos o proponiamos otras.

¿Quien se encarga de coordinar el trabajo?

Lo hicimos en equipo, decidimos que cosas poner cuales puntos usar y como acomodarlos para que se entienda la mejor posible.

¿Que papel tomo yo?

Todos decidimos que era lo mejor para la precentación, todos fuimos una parte importante del proyecto.



Descargar presentación


Blogs de mis compañeros:
http://technolifeandmore.blogspot.com/
http://yeyohbk.wordpress.com/
http://emmanuelgs.blogspot.com/

domingo, 21 de marzo de 2010

Proyecto #3

Problema: Generacion de elementos de la serie Fibonacci


Recursión es una técnica para programar en la que se hacen llamadas de alguna función muchas veces para resolver algun problema. Siempre se cuenta con una caso base que no es recursivo.

Cuando usar la recursión:

Sirve para simplificar códigos.
Tambien para dar estilo o "elegancia"
Cuando se usan arreglos largos en los metodos.
Cuando cambia el metodo de manera impredecible.
Son mas cercanos a la descripcion matemática.
Son mas fáciles de analizar.

Cuando no usar recursión:

Cuando no se necesita repetir un proceso o una funcion, cuando es mas importante el rendimiento, ya que cuando hace muchas llamadas a una funcion consume mas memoria, al crear variables para guardar informacion.


Trabajo en Equipo

Trabajamos bien, todos dimos nuestra opinión al respecto y juntamos nuestras ideas para lograrlo.
Sabemos como crear algoritmos, sabemos un poco de como convertirlo en un programa con su codigo en "C" y creo que debemos mejorar en el análisis asintótico.

Yo contribuí con mis conocimientos en dev- C para crear un programa que genere la serie Fibonacci y analizando el algoritmo para saber si es recursivo o iterativo.

Creo que cada quien aporto algo con respecto a lo que domina.

Podemos mejorar conociendo mas temas que nos ayuden en la resolución de problemas o en la creacion de mejores algoritmos.

Presentación:

http://medel.jimdo.com/2010/03/22/proyecto-no-3/


Blogs:

http://cynthiatelles.blogspot.com/

http://karla-ias.blogspot.com/

http://medel.jimdo.com/


Bibliografía:

http://es.wikipedia.org/wiki/Sucesión_de_Fibonacci

http://computacion.cs.cinvestav.mx/~acaceres/courses/estDatosCPP/node38.html

http://ciberconta.unizar.es/leccion/fin005/700.HTM

jueves, 4 de marzo de 2010

Proyecto #2

La asignación de alumnos y maestros a grupos, horas y salones.





Primero divido el problema en partes mas pequeñas:





¿Existe una combinación de alumnos para que en todos los grupos haya el mismo numero de alumnos?


Si no es posible, buscar una combinación con una diferencia mínima de alumnos por grupo.





Después: ¿Existe una combinación de horas en la cual todos los grupos tengan la misma cantidad de horas?


Tomando en cuenta que ya habíamos llenado los grupos con la misma cantidad o mínima diferencia de alumnos.





¿Existe una combinación de salones en la que se puedan repartir la misma cantidad de horas?


Tomando en cuenta que a cada grupo ya se le asignaron sus horas.





¿Exitse una combinación de salones en la cual todos los maestros den clase en la misma cantidad de salones?


Tomando en cuenta que cada salón tiene sus horas, cada hora sus grupos y cada grupo sus alumnos.



Para solucionar este problema de la manera mas óptima necesitamos que todos los recursos con que contamos sean utilizados eficientemente y no desperdiciar unos y a otros sobrecargarlos.





Algoritmo:





1.- Revisar el total de alumnos por asignar, los maestros, la cantidad de grupos, las horas de clase y los salones disponibles que hay.


2.- Acomodar el mismo numero de alumnos por grupo, dividiendo el total de alumnos entre los grupos o si no que la diferencia sea mínima.


3.- Una vez repartidos los alumnos, se reparten las horas para los grupos, demanera que los grupos lleven la misma cantidad de horas.


4.- Darle a los salones las horas que seran utilizados.


5.- Asignar los maestros a los salones en en los que daran clase sin empalmarlos.





Este algoritmo realiza almenos 10 cosas como minimo para decidir la mejor asignación.



Este tipo de problema que es del tipo P porque si conocemos la cantidad de alumnos, maestros, grupos, salones y horas podemos encontrar la asignación más optima

jueves, 25 de febrero de 2010

Hola soy Emilio, y para el proyecto 2 elijo el problema de: "La Asignacion de alumnos y maestros a grupos/horas/salones ".

viernes, 19 de febrero de 2010

Proyecto 1_Problema 3




Libros que están en el librero:





Título del libro


Valor de “i”



0


Aeropuertos [1]


2


Escultura [2]


5


Japón [3]


10


Tornado [4]


20



Libros por acomodar ordenados de menor a mayor en cajas:




Título del libro Caja 1


Valor de “j”


Bellas Artes


3


Gatos


7


India


9


México


14


Visión


22




1.- Inicializa: Pide el valor de “j”.


2.- Compara: “j” con “i”, si j mueve a "i" y a los libros siguientes un lugar y coloca "j" antes de "i" y avanza al paso 3; si j>i, mueve "i" al libro siguiente y vuelve a comenzar el paso 2.


3.- Imprime: “i” anterior a “j”, “j”, “i” posterior a “j”; regresa “i” a i=0; mientras pide “j” siguiente y regresa al paso 2.


4.- Hecho.



Explicación:


Suponiendo que hay un librero, en el que se encuentran algunos libros y teniendo otros organizados alfabeticamente en cajas, los cuales colocaremos en el librero.


Por lo cual todos los libros tienen un número que los identifican y con estos haremos comparaciones para organizarlos.