miércoles, 22 de mayo de 2013

Programación dirigida por eventos y control



PROGRAMACIÓN DIRIGIDA POR EVENTOS Y CONTROL

Eventos secuenciales 

Este tipo de programación se basa en la creación de programas a partir de un conjunto de sentencias escritas de forma secuencial y cuya ejecución sigue dicha secuencia.

Eventos simultáneos 

Muchos programas pueden correr simultáneamente en la misma computadora, a lo cual se le conoce como multitarea y puede lograrse a través de mecanismos de software o de hardware.

Eventos concurrentes 

Un programa concurrente es un programa que tiene mas de una línea lógica de ejecución, es decir, es un programa que parece que varias partes del mismo se ejecutan simultáneamente. Un ejemplo de esto es un programa que realice determinada función y, simultáneamente, exponga datos en la pantalla

Multitareas 

Muchos programas pueden correr simultáneamente en la misma computadora, a lo cual se le conoce como multitarea.

martes, 7 de mayo de 2013

Programacion estructurada


PROGRAMACIÓN ESTRUCTURADA

¿Que es programación estructurada?

La programación estructurada es una teoría de programación que consiste en construir programas de fácil comprensión, es especialmente útil, cuando se necesitan realizar correcciones o modificaciones después de haber concluido un programa o aplicación. Al utilizar la programación estructurada, es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes secciones.

Características

·         Los programas son más fáciles de entender, pueden ser leídos de forma secuencial, no hay necesidad de hacer engorrosos seguimientos en saltos de líneas (GOTO) dentro de los bloques de código para intentar entender la lógica.
·         La estructura de los programas es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí.
·         Reducción del esfuerzo en las pruebas y depuración. El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a su estructura más sencilla y comprensible, por lo que los errores se pueden detectar y corregir más fácilmente.
·         Reducción de los costos de mantenimiento. Análogamente a la depuración, durante la fase de mantenimiento, modificar o extender los programas resulta más fácil.
·         Los programas son más sencillos y más rápidos de confeccionar


Tipos

1. La estructura secuencial: Está definida por el flujo de control automático de un programa. 
De manera natural, a menos que otra cosa se indique, la computadora ejecuta las líneas de código en el orden en que fueron escritas. El control del programa fluye de la línea anterior a la línea siguiente.

2. Las estructuras de selección: Se basan en una declaración condicional. Si es verdadera, ciertas líneas de código son ejecutadas. Si tal declaración es falsa, esas líneas no serán ejecutadas. Las dos estructuras de selección más comunes son: Si-Entonces (If-Then) y Si-Entonces-de lo contrario (If-Then-Else).

3. Las estructuras de repetición (o de ciclos): Su construcción también hace uso de declaraciones condicionales. Si la condición evaluada es verdadera, un bloque de una o más instrucciones se repetirá, hasta que la condición sea falsa. La computadora prueba la condición una primera vez, si es verdadera, ejecuta el bloque de comandos. Entonces, finalizada la primera repetición, comprueba de nuevo la condición y si es verdadera se repite el bloque nuevamente, y así sucesivamente hasta que la condición sea falsa. Ya que este funcionamiento es cíclico, cada una de estas repeticiones es llamada también ciclo. Tres estructuras de este tipo son: Repita para (For-Next), Repita Mientras (While) y Repita Hasta (Do-While).


Lenguajes de programación

Los principales son 
  •  Borland
  •  Delphi
  •  C
  •  C++
  •  Phyton
  •  ALGO
  • pascal
  • PL/I 
  • ADA
  • etc.
  •  

programación funcional

PROGRAMACIÓN FUNCIONAL

¿Que es programación funcional?

 la programación funcional es un paradigma de programación declarativa basado en la utilización de funciones aritméticas que no maneja datos mutables o de estado.se basa fuertemente en un concepto de función algo diferente al que estamos acostumbrados, más cercano al matemático que su contraparte en los lenguajes imperativos. No hay variables, por lo que estas funciones sólo tratarán con sus valores de entrada y con constantes predefinidas; no tienen más posibilidad de acción

Características

  •  Ausencia de efectos colaterales
  • El valor de una expresión solo depende de los valores de sus subexpresiones, si las tiene

Lenguajes

Entre los principales caben destacar:
Los lenguajes funcionales híbridos más conocidos son:
  • Scala 
  • Lisp  
  • Schme 
  • Ocaml 
  • SAP 
  • Standard ML
  •  Perl 
  • Python
  • Ruby

lunes, 6 de mayo de 2013

Programación dirigida por eventos

PROGRAMACIÓN DIRIGIDA POR EVENTOS 

¿Que es la programación dirigida por eventos?

La programación dirigida por eventos es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.

Características 

1. Al comenzar la ejecución del programa se llevarán a cabo las inicializaciones y demás código inicial y a continuación el programa quedará bloqueado hasta que se produzca algún evento.


2. Cuando alguno de los eventos esperados por el programa tenga lugar, el programa pasará a ejecutar el código del correspondiente administrador de evento. 

3. Puede emplearse también para desarrollar interfaces entre componentes de Software o módulos del núcleo.


4. La programación orientada a eventos permite interactuar con el usuario en cualquier momento de la ejecución.

5. Los programas creados bajo esta arquitectura se componen por un bucle exterior permanente encargado de recoger los eventos, y distintos procesos que se encargan de tratarlos

 Lenguajes de programación 

* JAVA SCRIPT
* VISUALC++
* VISUAL .NET
* VISUAL C#
* VISUAL J#
* ASP 
*.NET

 Ejemplo

Si el evento consiste en que el usuario ha hecho click en el botón de play de un reproductor de películas, se ejecutará el código del administrador de evento, que será el que haga que la película se muestre por pantalla.

Programacion orientada a objetos

PROGRAMACIÓN ORIENTADA A OBJETOS

¿Que es la programación orientada a objetos?

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.

caracteristicas

Existe un acuerdo acerca de qué características contempla la "orientación a objetos". Las características siguientes son las más importantes:


  • Abstracción: Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos, y, cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción


  • Encapsulamiento: Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.


  • Polimorfismo: Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++


  • Herencia: Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes

Lenguajes 

Entre los lenguajes orientados a objetos se destacan los siguientes:
·ABAP -> SAP Lenguaje orientado a eventos
·ABL Lenguaje de programación de OpenEdge de Progress Software
·ActionScript
·ActionScript 3
·Ada
·C++
·C#
·Clarion
·  Clipper (lenguaje de programación) (Versión 5.x con librería de objetos Class(y))
·D
·Object Pascal (Embarcadero Delphi)
·Gambas
·Genie
·Harbour
·Eiffel
·Fortran 90/95
·Java
·JavaScript (la herencia se realiza por medio de la programación basada en prototipos)
·Lexico (en castellano)
·Objective-C
·Ocaml
·Oz
·R
·Perl (soporta herencia múltiple. La resolución se realiza en preorden, pero puede modificarse al algoritmo linearization C3 por medio del módulo Class::C3en CPAN)
·PHP (a partir de su versión 5)
·PowerBuilder
·Python
·Ruby
·Self
·Smalltalk (Entorno de objetos puro)
·Magik (SmallWorld)
·Vala
·VB.NET
·Visual FoxPro (en su versión 6)
·Visual Basic 6.0
·Visual DataFlex
·Visual Objects
·XBase++
·Lenguaje DRP
.Visual Studio
.Maya
Muchos de estos lenguajes de programación no son puramente orientados a objetos, sino que son híbridos que combinan la POO con otros paradigmas.
Al igual que C++, otros lenguajes, como OOCOBOLOOLISPOOPROLOG y Object REXX, han sido creados añadiendo extensiones orientadas a objetos a un lenguaje de programación clásico. Por ejemplo cada ventana que abres en tu computadora es un Objeto tiene propiedades que son el color de la ventana, su tamaño, imagenes, etc. Y tiene Sus métodos. Cerrar, Abrir. Maximizar.

Pseudocodigos

PSEUDOCÓDIGO 

¿Qué es un pseudocódigo?

Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos

Características:

*Es sencillo y fácil de manipular
*Ocupa menos espacio en una hoja de papel
*Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de programación
*Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación

tipos (ejemplos)


Secuenciales

Variables
Area, Base, Altura, son de tipo flotante.
INICIO
Escribir: captura un valor  para la base.
Leer: Base
Escribir: captura un valor  para la altura.
Leer: Altura
          Area = Base * Altura
Escribir: Area
FIN

Selectivos
Variable
Edad de tipo entero
INICIO
Escribir: programa  de votacion electoral
Escribir: cual es tu edad
Leer: Edad
 SI Edad >= 18 ENTOCES
Escribir: puedes ejercer su voto
SI NO
Escribir: no cuentas con la edad necesaria para votar
FIN