miércoles, 16 de febrero de 2011

Semana 4 Herramietas y Documentacion

La documentación es básicamente enseñar lo que estamos haciendo dentro del programa, le hace saber cómo funciona el código que estamos usando esto hace que las personas que lo vean les resulte fácil de entender nuestro código y tenga una visión de lo que es cada clase, método, atributo entre otras cosas. La documentación hace fácil al lector ver algún error cometido y este lo puede hacer saber al programador. Si se quiere dar mantenimiento al código como ejemplo , la documentación vuelve más sencilla esta parte.
En Python exsisten Docstrings y Pydoc
En Docstrings :
los objetos cuentan con una variable especial __doc__ mediante la que indicar el propósito y uso del objeto. Estos son los llamados docstrings o cadenas de documentación.

A estos atributos se les puede asociar el texto correspondiente explícitamente, asignándolo al literal cadena correspondiente, como con cualquier otra variable. Sin embargo, por conveniencia, Python ofrece un mecanismo mucho más sencillo y es que si el primer estamento de la definición del objeto es una cadena, esta se asocia a la variable __doc__ automáticamente.


view plaincopy to clipboardprint?
01.def haz_algo(arg):
02. """Este es el docstring de la funcion."""
03. print arg
04.
05.print haz_algo.__doc__
06.
07.haz_algo.__doc__ = """Este es un nuevo docstring."""
08.
09.print haz_algo.__doc__

Pydoc

La función help, utiliza el módulo pydoc para generar la documentación de un objeto a partir de su docstring y los docstrings de sus miembros. Este módulo, incluido por defecto con Python desde la versión 2.1, se puede importar en nuestro código Python y utilizarse programaticamente, o bien se puede utilizar como una herramienta de línea de comandos que sería el equivalente a la aplicación Javadoc del mundo Java.

pydoc puede mostrar la información como texto en la consola, tal como lo utiliza help, pero también puede generar archivos HTML como javadoc o facilitar la información a través de un pequeño servidor web incluido con el módulo.

miércoles, 9 de febrero de 2011

Semana 3 Herencia y Poliformismo

Herencia en ingles inheritance  en la programación es la facilidad de ampliar una funcionalidad existente definiendo una nueva clase que hereda funcionalidad de una clase existente. A consecuencia la persona que está programando lo haga en mitad del tiempo. Si tenemos una clase que es muy parecida a lo que necesitamos no va haber necesidad de hacer otra clase desde el principio podemos extenderla y así hacer la nueva clase que se va llamar “subclase” y la existente tomara el nombre de  “superclase”.
 La subclase va a tener  todos los atributos y los métodos que fueron definidos en la clase. Si tenemos que cambiar uno de los métodos se puede escribir otra vez el comportamiento en la subclase usando el mismo nombre y los métodos que están en la subclase, también se puede incluir un método nuevo en la subclase.
Dos superclases le pasan los atributos a una clase  y esto se usa para agrupar métodos y atributos de varias clases en una sola misma.
Polimorfismo
En términos simples, polimorfismo le deja tratar a miembros derivados de la clase apenas como los miembros de sus clases del padre.

El polimorfismo es el proceso de usar un operador o una función en diversas maneras para diverso sistema de entradas dadas.

Más específico, polimorfismo (programación orientada al objeto la teoría) es la capacidad de objetos el pertenecer a diferente tipos para responder a método llamadas del mismo nombre, cada uno según un comportamiento tipo-específico apropiado. El programador (y el programa) no tiene que saber el tipo exacto del objeto por adelantado, así que este comportamiento pueden ser puestos en ejecución en el tiempo de pasada (se llama esto último atascamiento o atascamiento dinámico).



Aplicando a la fabricación de pigmentos  la herencia y polimorfismo

en Herencia:
Superclase: Controlar la temperatura 24C
subclase: tolerancia +2C, Tolerancia -2C
En Poliformismo
Modificar formula  de  la masa del ácido (kilos)
Modificar Formula  de la masa del ácido (kilos, litros)
 Modificar Formula de la masa del ácido (kilos, litros, Lb, Galones)

http://www.efxto.com/mql5/bases-de-mql5/programacion-orientada-a-objetos/polimorfismo
http://msdn.microsoft.com/es-es/library/ms173152(v=vs.90).aspx


http://www.youtube.com/watch?v=0I6HbYWFTAA

http://www.youtube.com/watch?v=5aQeJ79EJCc&feature=player_embedded#!

Semana 2 Diseño de programas en términos de clases múltiples

Para mi proyecto elegi hacer el formulario y el proceso de hacer pigmentos de oxido de hierro. Sus funciones que tendra sera calcular la cantidad del volumen util del reactor, seguido por calcular el Sulfato Ferroso, formulacion del estarter o semilla, secuencia de operacion, calcinacion a rojos, Operacion de las secciones en humedo, control de funcionamiento, lavados, filtracion, secado y por ultimo checar las especificaciones.
Eh pensado que las clases serian las siguientes para la primera parte del proyecto
1. Clase Fabricacion de Sulfato Ferroso:
    se calculara la capacidad util del reactor
    Metodo:  πR^2*4R=M
    Atributo es la "M" es la capacidad util del reactor
2. Clase masa del acido
   Atributo Calcular la masa del acido llamada "d"
   Metodo:   D=M*06.25*1.84 (en Litros)

3. Clase Volumen del Estrater
    Atributo Llamaremos "V"
    Metodo: V= Volumen util del tanque productor/ 4.45
4. Clase Masa de Sulfato Ferroso Dosificada
    Atributo la llamaremos "F"
    Metodo: F=V* 0.086 (en Kg)

5. Clase Masa de la semilla caustica
    Atributo llamaremos "s"
      Metodo S1= (F/2.915)*1.1
 
Secuencia de operacion
  • Cargar primeramente agua y sulfato ferroso simultaneamente, detal modo de llegarala altura que corresponda a 1 volumen.
  • Controlar que la concentracion de sulfato ferroso en el tanque seade 86+- g/l de no ser asi se procedera a efectuar el correspondiente reajuste.
  • Controlar la temperatura, la cual debe estar en 24C con tolerancia de +-2C.
  • Precipitar con sosa custica en la proporcion indicada, sin agregar aire, y de ta modo que el agregado se semilla o sosa dure approx 40min.
  • Mantener Agitacion durante 60 min antes de comenzar  oxidar.
  • Checar que el pH se como minimo de 6.0 y la concentracion ferroso libresea de de 25g/l
  • Oxidar con aire hasta que el color, luego de virar al amarillo se  mantenga sin cambio visible entre 2 muestras tomadas con 15 min de intervalo y el pH entre 3 y 4.

Definicion del Proyecto Semana 1

Buenas tardes, el proyecto que voy a dedicarme es a programar es una preparacion para formar precipitaciones de oxido de hierro de grado pigmento. Esta idea surge ya que el negocio donde trabajo se dedica a producir pigmentos de oxido de hierro y en sus procesos no se cuenta con algun programa para calcular los volumenes,PHs entre otras cosas que se explicaran mas adelante lo cual se pierde mucho tiempo en estar formulando. Este programa facilitara y agilizara el proceso de la fabricacion de pigments de oxido de hierro.  Lo que va incluir el programa se va a controlar y poner los formularios de  los siguientes pasos.
1. Volumenes
2. Cantidades
3. PH
4. Temperatura
5. Tiempo de Residencia del grano del pigmento.
El Pigmento de oxido de hierro es utilizado como color agregado en las obras de construccion para dar color de por vida al producto deseado generalmente es utilizado en concreto y plasticos.

Esto es el producto final que se desea es como este:
El proceso se lleva a cabo en reactores como el siguiente: