Programacion Visual - Tema 1 - Paradigmas de Programacion
Programacion Visual - Tema 1 - Paradigmas de Programacion
TEMA 1:
PARADIGMAS DE
PROGRAMACION
Paradigmas de
programacin
Un 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
programacin
Imperativo 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
programacin
Declarativo: 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.
Caractersticas de la
programacin modular
Todo 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 ttulos
Submdulo de lectura de datos
Submdulo ejecucin de procesos
Submdulo impresin de resultados
Funciones en Programacin
Proceso que recibe valores de entrada
(parmetros) y retorna un resultado.
funcion <nombre> (par1:tipo1,...parn:tipon): tipo
variables
<declaraciones>
inicio
< instrucciones >
retornar <expresin>
fin_funcion
Procedimientos
Porciones 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 <nombre>(par1:tipo1, ...parn:tipon)
variables
<declaraciones>
inicio
< Instrucciones >
fin_procedimiento
Variables Locales
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 Globales
Variables 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 programa
Regla del buen programador:
evitar al mximo el uso de variables globales.
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 OBJETOS
Es 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.
CLASE
Es 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.
Clases
Atributos
Operaciones
Comportamiento
Lavadora
marca
modelo
capacidad
..
Programar
PonerRopa
.
CerrarPuerta
Lavar
OBJETO
Es 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)
Objetos
Un 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.
ID:Lavadora
marca=Lapava
capacidad=5
estado=enjuagando
Metodo
En 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.
Herencia
Proceso 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
Herencia
Animal
Mamfero
Canino
Domstico
Collie
Reptil
Felino
Salvaje
Pastor
alemn
Lobo
...
...
Polimorfismo
El 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;
Polimorfismo
En 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, deben
tener 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
eventos
Programacion orientada a
eventos
El 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 mensajes
Evento: 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.
Lenguaje de programacion
vs. Herramienta de
desarrollo
(IDE)
Las herramientas de desarrollo son aquellos