domingo, 19 de febrero de 2012

CLASE 14/02/2012

Proceso de fabricación: Es un sistema dinámico de control cuya entrada es un flujo de materias primas y cuya salida es otro flujo de productos finales elaborados.

Simulación:  Recreación de procesos que se dan en la realidad mediante la construcción de modelos que resultan del desarrollo de ciertas aplicaciones específicas.

Agentes: Objetos que comparten un entorno común.

PROGRAMAS DE SIMULACIÓN

Sirven para poner en funcionamiento el modelo matemático o computacional de un sistema y obtener resultados gráficos y animaciones de su comportamiento.

PARADIGMA = MÉTODO

PARADIGMAS DE SIMULACIÓN
  1. Dynamic Systems, es el método más antiguo. Formado por matemáticos, ingenieros y científicos.
  2. System Dinamics, son más modernos. Se crean a partir de la 2ª Guerra Mundial. Compuesto por físicos, ingenieros, matemáticos, biólogos, economistas, etc.

 HERRAMIENTAS DE SIMULACIÓN

Las que usaremos en clase son:
  • AnyLogic: System Dynamics
  • EJS (Resuelve ecuaciones diferenciales): Dynamics System

SISTEMAS CONTINUOS

Los sistemas continuos en el tiempo son los que evolucionan de forma suave en el tiempo, es decir, las magnitudes que representan a sus elementos son funciones continuas de la variable independiente t (tiempo). 

Su modelo matemático puede ser una Ec. Diferencial Ordinaria (EDO) o una Ec. Diferencial Parcial (EDP).

PROBLEMA DE VALOR INICIAL (PVI)








t = variable independiente
x = función incógnita

DIFERENCIA ENTRE EDO Y EDP

Ecuación Diferencial Ordinaria (EDO): Solo existe una única variable independiente.

Ecuación Diferencial Parcial (EDP): Hay varias variables independientes.


 



PROGRAMACIÓN ORIENTADA A OBJETOS

La programación orientada a objetos modela el mundo real, cualquier cosa del mundo puede ser modelada como un objeto. Así una circunferencia es un objeto, un automóvil es un objeto e incluso un préstamo es un objeto.

La programación orientada a objetos (POO) es la base de Java y constituye una nueva forma de organización del conocimiento en la que las entidades son los objetos. Se centra en la creación, manipulación y construcción de objetos.

Un objeto tiene propiedades (un estado) y un comportamiento. Las propiedades y el estado se definen utilizando datos y el comportamiento utilizando métodos.

Los objetos se definen utilizando clases en Java.
La programación orientada a objetos proporciona mayor flexibilidad, modularidad y reusabilidad.

En un objeto se unen una serie de datos con una relación lógica entre ellos,  a los que se denomina variables de instancia, con las rutinas necesarias para manipularlos, a las que se denomina métodos.

Los objetos se comunican unos con otros mediante interfaces bien definidas a través de paso de mensajes; en POO los mensajes están asociados con métodos, de forma que cuando un objeto recibe un mensaje, ejecuta el método asociado.

Cuando se escribe un programa utilizando programación orienta a objetos, no se definen verdaderos objetos, sino clases.

En las clases pueden existir unos métodos especiales denominados constructores que se llaman siempre que se crea un objeto de esa clase y cuya misión es iniciar el objeto.

Los destructores son otros métodos especiales que pueden existir en las clases y cuya misión es realizar cualquier tarea final que corresponda realizar en el momento de destruir el objeto.

CONCEPTOS BÁSICOS

  1. OBJETO es una realización concreta de una descripción de una clase. El proceso de creación de objetos se denomina instanciación de una clase.
  2. CLASE es una plantilla que define las variables y los métodos que son comunes para todos los objetos de un cierto tipo.
  3. ABSTRACCIÓN es la capacidad de separar los elementos para poder verlos de forma singular.
  4. MÉTODO acción que se realiza por un objeto de una clase.
 Las propiedades fundamentales de los objetos son:
  • Encapsulamiento, consiste en la combinación de los datos y las operaciones que se pueden ejecutar sobre esos datos en un objeto, impidiendo usos indebidos al forzar que el acceso a los datos se efectúe siempre a través de los métodos del objeto. Su base es la clase, donde se define la estructura y el comportamiento.
  • Herencia, es la capacidad para crear nuevas clases que se construyen sobre otras existentes, permitiendo que éstas les transmitan sus propiedades.
  • Polimorfismo, consigue que un mismo mensaje pueda actuar sobre diferentes tipos de objetos y comportarse de modo distinto. Adquiere su máxima expresión en la derivación o extensión de clases, es decir, cuando se obtienen nuevas clases a partir de una ya existente.



CLASE  07/02/2012

PROGRAMACIÓN

A continuación se enumeran algunas de las consideraciones a tener en cuenta  a la hora de programar con el lenguaje java.
  • No espacios entre nombres
  • Cada entrada debe finalizar en ;
  • Cada función debe tener paréntesis ()
  • Los comentarios de única línea comienzan con //, mientras que     los comentarios múltiples deben ser definidos entre /*y*/
Los datos se insertan a través del teclado y los resultados se obtienen directamente en la pantalla, los cuales también pueden ser impresos.

Otra cosa importante es saber en qué momento se debe utilizar una librería u otra en función de lo que se quiera programar.

MEMORIA

Un bit es una señal electrónica que puede estar encendida (1) o apagada (0). Es la unidad más pequeña de información que utiliza un ordenador. Tiene capacidad para representar dos estados: TRUE / FALSE


En el siguiente gráfico se muestra el funcionamiento de una memoria de 32 bits.

A la derecha se colocan tantos cables eléctricos como bits disponibles en la memoria. A ese lado se le conoce como bus de direcciones.

Cada uno de esos cables irá designado de la siguiente manera:
  • 0 = 0 voltios
  • 1 = 5 voltios (ejemplo)
En la parte de dirección, se colocarán en diferentes cuadros las designaciones de los cables en el orden establecido. Tendrá tantos cuadros como bits (cables).

A la izquierda siempre irán 8 cables.


BUFFER DE MEMORIA: Parte de la memoria reservado para alguna cosa en concreto.

La memoria al ser de 32 bits, lo que podrá direccionar serán 32 bits.


TIPOS DE DATOS

Java es un lenguaje fuertemente tipeado; esto implica que constantes, variables y expresiones tienen un tipo asociado y toda variable que interviene en un programa debe ser declarada antes de poder ser utilizada.

TIPOS SIMPLES (PRIMITIVOS)

Son aquellas variables sencillas que contienen los tipos de información más habituales.

No están orientados a objetos y pueden subdividirse en enteros, reales, datos de tipo carácter y lógicos o booleanos, caracterizándose cada uno de estos grupos por el conjunto de valores que pueden tomar y las operaciones que se pueden realizar sobre ellos.

Cada tipo de dato tiene un dominio (rango) de valores.

ENTEROS

Permiten almacenar valores en un determinado rango (8, 16, 32, 64). Pueden ser positivos o negativos.


REALES

Permiten almacenar números muy grandes, muy pequeños o que contienen coma decimal.


CARÁCTER

Los datos char son útiles para representar un carácter y lo efectúa en formato Unicode.


LÓGICO

Las variables booleanas almacenan el resultado de una expresión lógica, teniendo en cuenta que ésta pude estar formada por  una única constante o variable de tipo lógico.


APPLETS

Los applets son pequeños programas Java que se incluyen en páginas Web y cuyo código se descarga desde el servidor para ser ejecutado localmente por un navegador.

Características de los applets:
  • No tienen un método main con el que comience la ejecución.
  • Derivan e la clase java.applet.Applet.
  • Se heredan muchos métodos de las super-clases de Applets que tienen que ver con la generación de interfaces gráficas de usuario (AWT).
  • Suelen redefinir ciertos métodos gráficos.
  • Disponen de métodos relacionados con la obtención de información.

Para ello es necesario conocer las características de las páginas Web y el lenguaje en el que están escritas.

Las páginas Web se escriben en lenguaje HTML (lenguaje de marcas de hipertexto).En un documento HTML existe texto normal y marcas encerradas entre llaves angulares que indican al navegador cómo mostrar el contenido del documento en pantalla.

Algunas marcas básicas necesitan otra de cierre.

Ejemplos:
  • <html>...........</html>: Comienzo y fin del documento HTML
  • <head>...........</head>: Comienzo y fin de cabecera
  • <body>...........</body>: Comienzo y fin del cuerpo

Limitaciones de los applets:
  • No pueden leer o escribir en el sistema de archivos de la computadora, ya que podrían producir daños en archivos.
  • No pueden establecer conexiones entre la computadora de un usuario y otra, excepto que sea el servidor donde están almacenados los applets.
  • No pueden ejecutar programas de la computadora donde reside el navegador, dado que podrían originar daños al sistema.

Los applets admiten los formatos JPEG y GIF para representar imágenes a partir de ficheros localizados en el servidor.

domingo, 12 de febrero de 2012

CLASE 31/01/2012

JAVA

Es un lenguaje de programación utilizado tanto en teléfonos como ordenadores, siendo independiente del dispositivo utilizado. Parte de su sintaxis es heredada de C Y C++.

Puede ejecutarse en cualquier plataforma al generarse un código conocido como "bytecode".

En el siguiente esquema se muestra como funciona dicho lenguaje, así como los programas necesarios para compilar y ejecutar.



Se comienza creando el archivo fuente mediante editor (blog, notas, word) y su terminación debe ser java.

Un ejemplo sería: Ejemplo1.java
Además para facilitar la programación, Java dispone de unas librerías. Cada una de ella tiene unas utilidades y funciones. Algunas de ellas son:

   - java.applet
   - java.awt
   - java.io
    - java.math

También se pueden encontrar los entornos IDE (Integrated Development Environments), que facilitan las tareas de edición, compilación y ejecución de programas y que permite crear proyectos complejos de una manera ordenada y efectiva.

En clase utilizaremos jEdit. A continuación se muestra su instalación.

      1. Instalar jEdit.
          Una vez realizado, instalar plugin Console. Se realiza en el programa.


    2. Programar y compilar:


    3. Por último ejecutar: