Programacion Visual - Tema 1 - Paradigmas de Programacion

download Programacion Visual - Tema 1 - Paradigmas de Programacion

of 35

Transcript of Programacion Visual - Tema 1 - Paradigmas de Programacion

  • PROGAMACION VISUALTEMA 1: PARADIGMAS DE PROGRAMACION

  • Paradigmas de programacinUn paradigma de programacin es una propuesta tecnolgica que es adoptada por una comunidad de programadores cuyo ncleo central es incuestionable en cuanto a que nicamente trata de resolver uno o varios problemas claramente delimitados. Es un estilo de programacin empleado.

  • Paradigmas de programacinImperativo o por procedimientos: es un paradigma de programacin que describe la programacin en trminos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cmo realizar una tarea. Es considerado el ms comn y est representado, por ejemplo, por C, BASIC o Pascal.Funcional: es un paradigma de programacin basado en la utilizacin de funciones aritmticas que no maneja datos mutables o de estado. Enfatiza la aplicacin de funciones, en contraste con el estilo de programacin imperativa, que enfatiza los cambios de estado. Est representado por Scheme o Haskell. Este es un caso del paradigma declarativo.Lgico: gira en torno al concepto de predicado, o relacin entre elementos. Est representado por Prolog. Este es otro caso del paradigma declarativo.

  • Paradigmas de programacinDeclarativo: est basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solucin. En este modelo estn por ejemplo la programacin funcional, la programacin lgica, o la combinacin lgico-funcional.Orientado a objetos: usa los objetos en sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, cohesin, abstraccin, polimorfismo, acoplamiento y encapsulamiento. Est representado por Smalltalk, un lenguaje completamente orientado a objetos.Programacin dinmica: es un mtodo para reducir el tiempo de ejecucin de un algoritmo mediante la utilizacin de subproblemas superpuestos y subestructuras ptimas. Est definida como el proceso de romper problemas en partes pequeas para analizarlos.Multiparadigma. Est constituido por lenguajes de programacion que soportan mas de un paradigma de programacin.

  • Conjunto de tcnicas que reducen el tiempo requerido para escribir, verificar, depurar y mantener los programas.Mediante el uso de: recursos abstractos, diseo descendente,estructuras bsicas. programacin estructurada - Caracteristicas

  • programacin estructurada - CaracteristicasRecursos Abstractos: Consiste en descomponer una determinada accin compleja en un nmero de acciones ms simples, capaces de ser ejecutada por una computadora y sus respectivas instrucciones.

    Diseo Descendente TOP-DOWN DESIGN Esta metodologa efecta una relacin de refinamiento entre las distintas etapas de estructuracin, de modo que se relacionen unas con otras, mediante entradas y salidas de informacin.Descompone el problema en etapas o estructuras jerrquicas, de modo que se pueda considerar cada estructura desde dos puntos de vista: qu hace y cmo lo hace

  • programacin estructurada - Estructuras bsicasTeorema de la programacin estructurada:Un programa propio es aquel que cumple las siguientes caractersticas: Posee estructuras de control:secuenciales, selectivas, y repetitivas.posee un solo punto de entrada y salida.se puede recorrer toda la estructura del programa modular.todas las instrucciones son ejecutables y no existen bucles infinitos.

  • Caractersticas de la programacin modularTodo programa tiene un mdulo principal. Dicho mdulo primario se divide en submdulos, que a su vez ejecutan una tarea nica y podrn codificarse de manera independiente de cualquier otra actividad. Sin embargo, al finalizar su funcin devolvern el control al mdulo principal.Esta independencia alude a que ningn otro mdulo podr accesarlo directamente, a excepcin de sus propios subsubmdulos y al mdulo principal.

  • Consideraciones .La descomposicin de un programa podra implemetarse as:Mdulo principal.Submdulo impresin de ttulosSubmdulo de lectura de datosSubmdulo ejecucin de procesosSubmdulo impresin de resultados

  • Que es una funcinUna funcin es un mini programa dentro de otro programa. Las funciones contienen sentencias bajo un solo nombre, que un programa puede utilizar una o varias veces para ejecutar dichas sentencias. Las funciones ahorran espacio, reduciendo repeticiones y haciendo mas fcil la programacin, proporcionando un medio fcil de dividir un proyecto grande en mdulos mas pequeos y manejables.*

  • Funciones en ProgramacinProceso que recibe valores de entrada (parmetros) y retorna un resultado.funcion (par1:tipo1,...parn:tipon): tipovariables inicio< instrucciones > retornar fin_funcion

  • ProcedimientosPorciones de cdigo similares que no calculan un valor si no que por ejemplo, presentan informacin al usuario, leen una coleccin de datos o calculan ms de un valor. procedimiento (par1:tipo1, ...parn:tipon)variables inicio < Instrucciones >fin_procedimiento

  • Variables Locales: son aquellas definidas dentro de cada funcin o procedimiento. Sus modificaciones slo son vlidas en la funcin o procedimiento en que se han definido.

    Variables Locales

  • Variables GlobalesVariables Globales: son aquellas definidas al comienzo del programa (antes de cualquier funcin o procedimiento). Se pueden usar dentro del algoritmo principal y en cada funcin y /o procedimiento definido en el programaRegla del buen programador: evitar al mximo el uso de variables globales.

  • Parmetros por ValorParmetro por valor: variable local que almacena el valor que tiene la constante o la variable que se utiliza para llamarla. Su modificacin no tiene efecto en el resto del programa.

  • Parmetros por ReferenciaParmetro por referencia: variable que almacena la referencia a una variable del procedimiento o funcin que invoca. Cualquier modificacin del parmetro tiene efectos en el resto del programa.

  • PROGRAMACION ORIENTADA A OBJETOS

    Es un nuevo paradigma de programacin basado en la orientacin a objetos.Un paradigma es un conjunto de teoras, estandar y mtodos que juntos representan un medio de organizacin del conocimiento, es decir, un medio de visualizar al mundo.

  • ORIENTACION A OBJETOS

    Es el conjunto de disciplinas (ingeniera) que desarrollan y modelizan software que facilitan la construccin de sistemas complejos a partir de componentes.

  • IMPORTANCIA DE LA ORIENTACION A OBJETOSEs especialmente adecuada para realizar determinadas aplicaciones, sobre todo la realizacin de prototipos, simulacin de programas e interfaces grficas.Los mecanismos de encapsulacin de la POO soportan un alto grado de reutilizacin de cdigo, que se incrementa por sus mecanismos de defensa.

  • CLASEEs la descripcin de un conjunto de objetos.Es una coleccin de objetos similares.Es equivalente a los modelos o plantilla, ya que ellos describen como se construyen ciertos tipos de objetos.

  • Generalmente, una clase se puede definir como una descripcin abstracta de un grupo de objetos, cada uno de los cuales tiene una serie de atributos, un estado especfico y es capaz de realizar una serie de operaciones.

    ClasesAtributosOperacionesComportamiento

  • OBJETOEs una instancia de un elemento de la vida real.Es la abstraccin de un elemento.Es una entidad que contiene los atributos que describen el estado de un elemento del mundo real y las acciones que se le asocian.Un objeto es una combinacin o encapsulacin de datos y procedimientos o funciones que manejan dichos datos.

  • OBJETO (2)La comunicacin entre objetos se realizan mediante un mensaje.Cuando un objeto recibe un mensaje, responde a ste ejecutando una accin (mtodo)Al conjunto de mensajes a los que puede responder un objeto se le llama PROTOCOLO.

  • ObjetosUn objeto, no es ms que una instancia de una clase. La instancia de una clase significa definir un objeto dndole valores a sus atributos y comportamiento, y realizando operaciones permitidas por la clase.

    Valores de los atributosEstadoIdentidad

  • MetodoEn la programacin orientada a objetos, un mtodo es una subrutina cuyo cdigo es definido en una clase y puede pertenecer tanto a una clase, como es el caso de los mtodos de clase o estticos, como a un objeto, como es el caso de los mtodos de instancia. Anlogamente a los procedimientos en los lenguajes imperativos, un mtodo consiste generalmente de una serie de sentencias para llevar a cabo una accin, un juego de parmetros de entrada que regularn dicha accin o, posiblemente, un valor de salida (o valor de retorno) de algn tipo.

  • HerenciaProceso mediante el cual una clase adquiere las propiedades de otra clase

    Permite definir una nueva clase o subclase a partir de otra clase o superclase.Una subclase incluye todo el comportamiento y especificacin de sus antecesores.Las subclases redefinen la estructura y el comportamiento de sus superclases.La herencia permite reutilizar cdigo

  • HerenciaAnimalMamferoCaninoDomsticoCollieReptil ...Felino ...SalvajeLoboPastor alemn

  • PolimorfismoEl polimorfismo se refiere al hecho de que una misma funcin adopte mltiples formas.

    Esto se consigue por medio de la sobrecarga:Sobrecarga de funciones:un mismo nombre de funcin para distintas funciones.a = Sumar (c,d); a = Sumar (c,d,5);Sobrecarga de operadores:un mismo operador con distintas funcionalidades.entero1 = entero2 + 5;cadena1 = cadena2 + cadena3;

  • PolimorfismoEn la sobrecarga de funciones se desarrollan distintas funciones con un mismo nombre pero distinto cdigo. Las funciones que comparten un mismo nombre deben tener una relacin en cuanto a su funcionalidad. Aunque comparten el mismo nombre, debentener distintos parmetros. stos pueden diferir en : El nmero El tipo El orden El tipo del valor de retorno de una funcin no es vlido como distincin.

  • PROGRAMACION ORIENTADA A EVENTOSORIENTADA A EVENTOSSon los programas tpicos de Windows, tales como Netscape, Word, Excel y PowerPoint. Cuando uno de estos programas ha arrancado, lo nico que hace es quedarse a la espera de las acciones del usuario, que en este caso son llamadas eventos.El usuario dice si quiere abrir y modificar un fichero existente, o bien comenzar a crear un fichero desde el principio. Estos programas pasan la mayor parte de su tiempo esperando las acciones del usuario (eventos) y respondiendo a ellas.Las acciones que el usuario puede realizar en un momento determinado son variadsimas, y exigen un tipo especial de programacin: la programacin orientada a eventos.

  • Programacion orientada a eventosLa programacin dirigida por eventos es un paradigma de programacin en el que tanto la estructura como la ejecucin de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.

    Para entender la programacin dirigida por eventos, podemos oponerla a lo que no es: mientras en la programacin secuencial (o estructurada) es el programador el que define cul va a ser el flujo del programa, en la programacin dirigida por eventos ser el propio usuario o lo que sea que est accionando el programa el que dirija el flujo del programa. Aunque en la programacin secuencial puede haber intervencin de un agente externo al programa, estas intervenciones ocurrirn cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programacin dirigida por eventos.

  • Programacion orientada a eventosEl creador de un programa dirigido por eventos debe definir los eventos que manejarn su programa y las acciones que se realizarn al producirse cada uno de ellos, lo que se conoce como el administrador de evento. Los eventos soportados estarn determinados por el lenguaje de programacin utilizado, por el sistema operativo e incluso por eventos creados por el mismo programador.

    En la programacin dirigida por eventos, al comenzar la ejecucin del programa se llevarn a cabo las inicializaciones y dems cdigo inicial y a continuacin el programa quedar bloqueado hasta que se produzca algn evento. Cuando alguno de los eventos esperados por el programa tenga lugar, el programa pasar a ejecutar el cdigo del correspondiente administrador de evento. Por ejemplo, si el evento consiste en que el usuario ha hecho clic en el botn de play de un reproductor de pelculas, se ejecutar el cdigo del administrador de evento, que ser el que haga que la pelcula se muestre por pantalla.

  • Eventos y mensajesEvento: Cualquier signo de actividad que se produzca en una ventana. Puede ser provocado por el usuario o por programa.Mensaje: es la forma por la que se notifica al S.O. que ha ocurrido un evento, para que este lo procese y lo transmita a las ventanas. Las ventanas al recibir el mensaje realizan alguna accin de acuerdo con las instrucciones asociadas al evento.

  • Diferencias entre la POO y la POEEn la programacin orientada a objetos (Object-Oriented Programming u OOP) las partes que componen tu programa son "abstracciones" de objetos del mundo real. Por otro lado, la programacin orientada a eventos (Event-Oriented Programming) es un modelo de diseo donde creas componentes y donde dependiendo de las acciones (o mtodos) que ejecutes sobre ellos, stos realicen algo, incluyendo llamadas a otros componentes.

  • Lenguaje de programacion vs. Herramienta de desarrollo (IDE)Las herramientas de desarrollo son aquellos programas o aplicaciones que tengan cierta importancia en el desarrollo de un programa (programacin). Pueden ser de importancia vital (como un ensamblador, un compilador o un editor) o de importancia secundaria, como una IDE (Integrated Development Environment - Entorno de Desarrollo Integrado).Se relacionan en que las herramientas de desarrollo permiten la edicin de los programas que siguen las reglas del Lenguaje de programacin.

    To close, restate the action step followed by the benefits. Speak with conviction and confidence, and you will sell your ideas.Next, state the action step. Make your action step specific, clear and brief. Be sure you can visualize your audience taking the action. If you cant, they cant either. Be confident when you state the action step, and you will be more likely to motivate the audience to action.To complete the Dale Carnegie Training Evidence Action Benefit formula, follow the action step with the benefits to the audience. Consider their interests, needs, and preferences. Support the benefits with evidence; i.e., statistics, demonstrations, testimonials, incidents, analogies, and exhibits and you will build credibility.