Вы находитесь на странице: 1из 18

PROGRAMACION LINEAL, PROGRAMACION ESTRUCTURADA

Conceptos clave: Funcin objetivo: La funcin por optimizar (maximizar o minimizar) Restricciones: Representan condiciones que es preciso satisfacer. Sistema de igualdades y desigualdades ( )

La programacin estructurada utiliza un nmero limitado de estructuras de control que minimizan la complejidad de los problemas y por consiguiente reducen los errores. La programacin estructurada es un estilo con el cual l se busca que el programador elabore programas sencillos y fciles de entender Programacin estructurada Es un estilo con el cual el se busca que el programador elabore programas sencillos y fciles de entender. Para ello se hace uso de 3 estructura bsicas. o Estructura secuencial. o Estructura selectiva. o Estructura repetitiva (o iterativa)
2

Estructura Secuencial Indica que las instrucciones de un programa se ejecutan una despus de la otra, en el mismo orden en el cual aparecen en el programa.

Estructura Selectiva Conocida como la estructura SI-VERDADERO-FALSO, plantea la seleccin entre dos alternativas con base en el resultado de la evaluacin de una condicin; equivale a la instruccin IF de todos los lenguajes de Programacin.

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS


El proceso de resolucin de un problema con una computadora conduce a la escritura de un programa y su ejecucin en la misma. Aunque el proceso de disear programas es esencialmente un proceso creativo, se pueden considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los programadores. Las fases de resolucin de un problema con computadora son: o Anlisis del problema o Diseo del algoritmo o Codificacin o Compilacin y ejecucin o Verificacin o Depuracin o Mantenimiento o Documentacin Herramientas de programacin Diagramas de flujo Un diagrama de flujo (flowchart) es una representacin grfica de un algoritmo. (los smbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalizacin (ANSI, por sus siglas en ingls). Pseudocdigo El pseudocdigo es una herramienta de programacin en que las instrucciones se escriben en palabras similares al ingls o espaol, que facilitan tanto la escritura como la lectura de programas.

Aunque no existen reglas para escritura del pseudocdigo en espaol, se ha recogido una notacin estndar que es muy empleada en los libros de programacin en espaol. Las palabras reservadas bsicas se representan en letras negritas minsculas. Estas palabras son traduccin libre de palabras reservadas de lenguajes como C, Pascal, etc. Codificacin de un programa Una vez que el algoritmo se ha convertido en un programa fuente, es preciso introducirlo en memoria mediante el teclado y almacenarlo posteriormente en un disco. El programa fuente debe ser traducido a lenguaje mquina, este proceso se realiza con el compilador y el sistema operativo que se encarga particularmente de la compilacin. Cuando se ejecuta un programa se pueden producir tres tipos de errores: Errores de compilacin. Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programacin y suelen ser errores de sintaxis. Si existe un error de sintaxis, la computadora ni puede comprender la instruccin, no se obtendr el programa objeto y el compilador imprimir una lista de todos los errores encontrados durante la compilacin. Errores de ejecucin. Estos errores se producen por instrucciones que la computadora puede comprender pero no ejecutar. Ejemplos tpicos son: divisin entre cero y races cuadradas de nmeros negativos. En estos casos se detiene la ejecucin del programa y se imprime un mensaje de error. Errores de lgica. Se producen en la lgica del programa y la fuente del error suele ser el diseo del algoritmo. Estos errores son los ms difciles de detectar, ya que el programa puede funcionar y no producir errores de compilacin ni de ejecucin, y slo puede advertir el error por la obtencin de resultados incorrectos. En este caso se debe volver a la fase de diseo del algoritmo, modificar el algoritmo, cambiar el programa fuente y compilar y ejecutar una vez ms.
5

ORIGENES DE P.O.O.
Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje especfico conocido como cdigo mquina, el cual la mquina comprende fcilmente, pero que lo hace excesivamente complicado para las personas. De hecho slo consiste en cadenas extensas de nmeros 0 y 1. Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un traductor para reemplazar los 0 y 1 por palabras o abstraccin de palabras y letras provenientes del ingls; ste se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). El lenguaje ensamblador sigue la misma estructura del lenguaje mquina, pero las letras y palabras son ms fciles de recordar y entender que los nmeros. La necesidad de recordar secuencias de programacin para las acciones usuales llev a denominarlas con nombres fciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denomin "instrucciones", y a este conjunto de instrucciones se le llam lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programacin, los cuales reciben su denominacin porque tienen una estructura sintctica similar a los lenguajes escritos por los humanos, denominados tambin lenguajes de alto nivel. La primera programadora de computadora conocida fue Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemticas a Ada quien, despus de conocer a Charles Babbage, tradujo y ampli una descripcin de su mquina analtica. Incluso aunque Babbage nunca complet la construccin de cualquiera de sus mquinas, el trabajo que Ada realiz con stas le hizo ganarse el ttulo de primera programadora de computadoras del mundo. El nombre del lenguaje de programacin Ada fue escogido como homenaje a esta programadora.

A finales de 1953, John Backus someti una propuesta a sus superiores en IBM para desarrollar una alternativa ms prctica al lenguaje ensamblador para programar la computadora central IBM 704. El histrico equipo Fortran de Backus consisti en los programadores Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.2 El primer manual para el lenguaje Fortran apareci en octubre de 1956, con el primer compilador Fortran entregado en abril de 1957. Esto era un compilador optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a menos que su compilador pudiera generar cdigo cuyo desempeo fuera comparable al de un cdigo hecho a mano en lenguaje ensamblador. VENTAJAS DE LA PROGRAMACIN ORIENTADA A OBJETOS Vamos a ver las ventajas ms importantes de la programacin orientada a objetos:

Reusabilidad. Cuando hemos diseado adecuadamente las clases, se pueden usar en distintas partes del programa y en numerosos proyectos.

Mantenibilidad. Debido a la sencillez para abstraer el problema, los programas orientados a objetos son ms sencillos de leer y comprender, pues nos permiten ocultar detalles de implementacin dejando visibles slo aquellos detalles ms relevantes.

Modificabilidad. La facilidad de aadir, suprimir o modificar nuevos objetos nos permite hacer modificaciones de una forma muy sencilla.

Fiabilidad. Al dividir el problema en partes ms pequeas podemos probarlas de manera independiente y aislar mucho ms fcilmente los posibles errores que puedan surgir.

Datos separados del Diseo. - Reutilizacin del cdigo. -Entendimiento del programa en el mundo real. - Fcil entendimiento de la lgica del programa.

CAJA NEGRA
En teora de sistemas y fsica, se denomina caja negra a aquel elemento que es estudiado desde el punto de vista de las entradas que recibe y las salidas o respuestas que produce, sin tener en cuenta su funcionamiento interno En otras palabras, de una caja negra nos interesar su forma de interactuar con el medio que le entendiendo qu es lo que hace, pero sin dar importancia a cmo lo hace. Por tanto, de una caja negra deben estar muy bien definidas sus entradas y salidas, es decir, su interfaz; en cambio, no se precisa definir ni conocer los detalles internos de su funcionamiento rodea La caja negra se utiliza para representar a los sistemas cuando no sabemos que elementos o cosas componen al sistema o proceso, pero sabemos que a determinadas entradas corresponden determinadas salidas y con ello poder inducir, presumiendo que a determinados estmulos, las variables funcionaran en cierto sentido Interfaz o Interfaz es la conexin entre dos ordenadores o mquinas de cualquier tipo dando una comunicacin entre distintos niveles. o Adems, la palabra interfaz se utiliza en distintos contextos: o Interfaz como instrumento: desde esta perspectiva la interfaz es una "prtesis" o "extensin" de nuestro cuerpo. El ratn es un instrumento que extiende las funciones de nuestra mano y las lleva a la pantalla bajo forma de cursor. As, por ejemplo, la pantalla de una computadora es una interfaz entre el usuario y el disco duro de la misma. o Interfaz como superficie: algunos consideran que la interfaz nos trasmite instrucciones ("affordances") que nos informan sobre su uso. La superficie de un objeto (real o virtual) nos habla por medio de sus formas, texturas, colores, etc.

o Interfaz como espacio: desde esta perspectiva la interfaz es el lugar de la interaccin, el espacio donde se desarrollan los intercambios y sus manualidades. EJEMPLO EMPRESA: En la entrada puede considerarse la inversin inicial de fondos y de esas inversiones (planta y equipos) se produce una salida compuesta por varias clases de productos que son distribuidos entre los consumidores como tambin dividendos que retornan a los inversionistas (sean estos privados o pblicos). En estos casos slo nos preocupamos por las entradas y salidas que produce no por lo que sucede dentro del sistema, es decir la forma en que operan los mecanismos y procesos internos del sistema y mediante los cuales se producen las salidas.

OBJETOS: CLASES, ENCAPSULAMIENTOS Y APLICACIN.


o En P.O.O., una clase es una construccin que se utiliza como un modelo (o plantilla) para crear objetos. o Una clase es un conjunto coherente que consiste en un tipo particular de metadatos (son datos que describen otros datos) Encapsulamiento Se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que slo se puede cambiar mediante las operaciones definidas para ese objeto. El encapsulamiento es una de las ventajas de la P.O.O. y radica en que un objeto puede tener mtodos y atributos a la que la clase solo puede tener acceso, esto se realiza con los modificadores del tipo de acceso.

En general el encapsulamiento es capturar todo lo necesario en el objeto y que este controle estas caractersticas o mtodos. Qu formas de encapsulamiento hay? o Abierto : Hace que el miembro de la clase pueda ser accedido desde el exterior de la Clase y cualquier parte del programa. o Protegido : Solo es accesible desde la Clase y las clases que heredan (a cualquier nivel). o Semi-cerrado : Solo es accesible desde la clase heredada o Cerrado : Solo es accesible desde la Clase.

10

LA ABSTRACCIN
Consiste en aislar un elemento del resto de los elementos que lo acompaan. En programacin, el trmino se refiere al nfasis en el "qu hace?Ms que en el "cmo lo hace?" (Caracterstica de caja negra). LOS LENGUAJES DE PROGRAMACION Son las herramientas mediante las cuales los diseadores de lenguajes pueden implementar los modelos abstractos*. La abstraccin de los lenguajes de programacin se puede dividir en dos: Abstraccin de datos (pertenecientes a los datos) Abstraccin de control (perteneciente a las estructuras de control).

La abstraccin desde el punto de vista de la POO: Expresa las caractersticas esenciales de un objeto, las cuales distinguen al objeto de los dems. Provee lmites conceptuales, quiere decir que la encapsulacin separa las caractersticas esenciales de las no esenciales dentro de un objeto. Si un objeto tiene ms caractersticas de las necesarias resultarn difciles de usar, modificar, construir y comprender. Genera una ilusin de simplicidad dado a que minimiza la cantidad de caractersticas que definen a un objeto. Uso de la abstraccin Permite que dispongamos de las caractersticas de un objeto que necesitemos. Descripcin simplificada de un sistema que enfatiza algunos detalles o propiedades mientras suprime otros.
11

Una buena abstraccin es la que enfatiza detalles que son significantes al lector, y suprime los que no lo son. Se enfoca sobre una vista externa del objeto, y separa su comportamiento esencial de su implementacin. Encapsulamiento Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la coherencia de los componentes del sistema. La encapsulacin La capacidad de agrupar y condensar en un entorno con lmites bien-definidos distintos elementos. La Clase una encapsulacin porque constituye una cpsula que encierra de forma clara los datos de los objetos y los procedimientos que permiten manipularlos. Las Clases se constituyen en abstracciones encapsuladas 2 ventajas iniciales: o Lo que hace el usuario puede ser controlado internamente (incluso sus errores), evitando que todo colapse por una intervencin indeseada. o La segunda ventaja es que, al hacer que la mayor parte del cdigo est oculto, puedes hacer cambios y/o mejoras sin que eso afecte el modo como los usuarios van a utilizar tu cdigo.

12

PROGRAMACIN ORIENTADA A OBJETOS


Atributos, Mtodos, Mensajes Y Diseo De Una Clase.

Atributos Los atributos son empleados para identificar, describir, calificar expresar el estado de una entidad. Todo entidad posee un atributo combinacin de atributos que se denomina "clave primaria" y que emplea para diferenciar cada instancia de los dems. A los atributos que forman parte de la clave primaria se los identifica anteponindoles el signo de numero (#). A los atributos obligatorios se les antepone el asterisco (*). A los atributos opcionales se les antepone un circulo (o). Mtodos Los mtodos son comportamientos o acciones, especifican la forma en que se controlan los datos de un objeto. Los mtodos en un objeto slo hacen
13

referencia a la estructura de datos de ese objeto, no deben tener acceso directo a las estructuras de datos de otros objetos. Para utilizar la estructura de datos de otro objeto, deben enviar mensajes a ste. Desde el punto de vista de la programacin, los mtodos son funciones o procedimientos que pueden ser llamadas dentro de una clase o por otras clases. Mensajes En la programacin orientada de objetos, la accin se inicia mediante la transmisin de un mensaje a un agente (un objeto) responsable de la accin. El mensaje tiene codificada la peticin de una accin y se acompaa de cualquier informacin adicional (argumentos) necesaria para llevar a cabo la peticin. El receptor es el agente al cual se enva el mensaje. Si el receptor acepta el mensaje, acepta la responsabilidad de llevar a cabo la accin indicada. En respuesta a un mensaje, el receptor ejecutar algn mtodo para satisfacer la peticin. Para declarar una clase, todo lo que se necesita es escribir una definicin de estructura y sustituir la palabra reservada struct por class. Por ejemplo, una clase empleado con campos como el nombre, el departamento, la posicin, el una funcin que nos imprima la informacin de este quedara as: class Empleado { char* m_nombre; char* m_departamento; char* m_posicion; long m_salario; void Imprimir( Empleado infoEmpleado); }

14

OBJETOS: CICLO DE VIDA DE UN OBJETO Y ESTADO DE LOS OBJETOS


Un objeto es un componente de programa que posee instancia, es decir espacio de memoria para sus propiedades y funciones. Un objeto podra ser real o abstracto, por ejemplo una organizacin, una factura, una figura en un dibujador, una pantalla de usuario, un avin, un vuelo de avin, etc. Estructura interna de un objeto Propiedades: Son las caractersticas observables de un objeto.. A cada propiedad se le debe asignar un valor el cual permite identificar de manera nica al objeto. Mtodos: Se define como un conjunto de acciones que un objeto puede realizar para conseguir un propsito. Representan la parte viva e interesante de un objeto y se emplean habitualmente para modificar las propiedades del objeto Eventos: Todos los objetos se relacionan con el mundo que los rodea, esto significa que ningn objeto est aislado y siempre recibe el influjo de otros objetos. Los eventos son los estmulos que un objeto ejerce sobre otro La vida de un objeto Un objeto sigue vivo en la mquina virtual mientras siga habiendo referencias desde otros objetos (o clases) actualmente en uso. Los objetos declarados en un mbito, sern destruidos al salir de ste si no se guarda ninguna referencia a ellos en otro objeto: Los objetos son cosas que tienen un estado Un objeto puede existir en varios estados.

15

El estado de un objeto es la coleccin de asociaciones que tiene un objeto. Es la condicin de un objeto o el conjunto de circunstancias que describen a un objeto. Muchos de los objetos son estticos, esto es, el estado de un objeto no cambia a menos que algo externo al objeto se lo requiera Si un objeto es capaz de cambiar su propio estado espontneamente, se dice que ese objeto es un objeto con vida, tambin llamados objetos activos o actores.

16

HERENCIA Y POLIMORFISMO
Propiedad que permite a los objetos ser construidos a partir de otros objetos. Capacidad de un objeto para utilizar las estructuras de datos y los mtodos previstos en antepasados o ascendientes. o Clase Base o Jerarqua de clases (clases derivadas)

o Herencia Publica Una clase derivada tiene acceso a elementos pblicos y privados de su clase base. o Herencia Protegida Los miembros pblicos y protegidos de la clase base se convierten en miembros protegidos de la clase derivada y los privados inaccesibles. o Herencia Privada Los miembros pblicos y protegidos de la clase base se vuelven miembros privados de la clase derivada de la clase base se vuelven

17

Herencia simple o En herencia simple un objeto puede tener solo un ascendiente. o Permite que una clase herede las propiedades de su superclase en una cadena de jerarqua. Herencia mltiple Propiedad de una clase de poder tener mas de un ascendiente inmediato. Es aquella en la que cada clase puede heredar mtodos y variables de cualquier nmero de superclases. Polimorfismo Capacidad que tiene una clase de responder de manera diferente a un mismo mensaje. Permite implantar clases que respondan a un solo mensaje. De forma mas general se puede decir que el polimorfismo describe mltiples y posibles estados de una nica propiedad. Tipos de polimorfismo Ad-hoc Es generalmente soportado a travs de la herencia, por ejemplo, objetos de diferentes tipos pueden ser tratados uniformemente como miembros de una superclase comn. El polimorfismo ad-hoc es tambin soportado en muchos lenguajes usando funciones y mtodos sobrecargados. Paramtrico Es ampliamente soportado en lenguajes de programacin funcionales de tipo esttico.

18

CONCLUSION
A travs de estas exposiciones me di cuenta que son de suma importancia para la carrera que estudiamos ya que esta, yo dira, enfocada hacia la misma. Y as nos ayuda a conocer cada vez mas y si es de nuestro inters no lleva a indagar mas y mas sobre algn tema especifico. Por otro lado los temas de cada exposicin se notaban sencillos, pero al momento de abordarlos en algunos no lo era as. A mi en lo particular se me dificulto en los diagramas de flujo y en los diseos de clase. De ah en fuera lo dems si me gusto y siento y siento que si le entend solo me faltara comprobarlo con algo ms prctico.

19

Вам также может понравиться