Você está na página 1de 10

Programacin orientada a objetos I

Universidad Abierta y a Distancia de Mxico


Divisin de Ciencias Exactas Ingeniera y Tecnologa

Semestre 3
Programa de la asignatura:
Programacin orientada a objetos I

Actividad 1. Diferencias entre programacin


estructurada y POO

Docente: MONICA FLORES LOPEZ


Grupo:(DS-DPO1-1701-B2-005)
Alumno: Ivn Enrique Torres Ramrez
Matrcula: ES1521203139
Aguascalientes, Ags. 03/04/2017

Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 1


Programacin orientada a objetos I

1. Investiga las diferencias entre programacin estructurada y programacin


orientada a objetos.

Las principales diferencias entre la programacin estructurada y la orientada a objetos


son:

La programacin orientada a objetos es ms moderna, es una evolucin de la


programacin estructurada que plasma en el diseo de una familia de lenguajes
conceptos que existan previamente con algunos nuevos.

La programacin orientada a objetos se basa en lenguajes que soportan sintctica y


semnticamente la unin entre los tipos abstractos de datos y sus operaciones (a esta
unin se la suele llamar clase).

La programacin orientada a objetos incorpora en su entorno de ejecucin


mecanismos tales como el polimorfismo y el envo de mensajes entre objetos.

Errneamente se le adjudica a la programacin estructurada clsica ciertos problemas


como si fueran inherentes a la misma. Esos problemas fueron hacindose cada vez
ms graves y antes de la programacin orientada a objetos diversos autores (de los
que podemos destacar a Yourdon) encontraron soluciones basadas en aplicar estrictas
metodologas de trabajo. De esa poca son los conceptos de cohesin y
acoplamiento. De esos problemas se destacan los siguientes:

Modelo mental anmalo. Nuestra imagen del mundo se apoya en los seres, a los que
asignamos nombres sustantivos, mientras la programacin clsica se basa en el
comportamiento, representado usualmente por verbos.

Es difcil modificar y extender los programas, pues suele haber datos compartidos por
varios subprogramas, que introducen interacciones ocultas entre ellos.

Es difcil mantener los programas. Casi todos los sistemas informticos grandes
tienen errores ocultos, que no surgen a la luz hasta despus de muchas horas de
funcionamiento.

Es difcil reutilizar los programas. Es prcticamente imposible aprovechar en una


aplicacin nueva las subrutinas que se disearon para otra.

Es compleja la coordinacin y organizacin entre programadores para la creacin de


aplicaciones de media y gran envergadura.

En la programacin orientada a objetos pura no deben utilizarse llamadas de


subrutinas, nicamente mensajes.

Por ello, a veces recibe el nombre de programacin sin CALL, igual que la
programacin estructurada se llama tambin programacin sin GOTO.
Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 2
Programacin orientada a objetos I

Sin embargo, no todos los lenguajes orientados a objetos prohben la instruccin CALL
(o su equivalente), permitiendo realizar programacin hbrida, imperativa y orientada a
objetos a la vez.

2. Identifica las diferencias entre la programacin orientada a objetos y la


estructurada, incluye como categoras de anlisis las caractersticas, ventajas y
desventajas de ambos tipos de programacin.

Mtodo Caractersticas Ventajas Desventajas


Programacin Datos Complejidad
estructurada Los programas escritos separados para
con estos principios tienen no del Diseo. adaptarse.
solo una estructura fcil de leer, Reutilizacin Mayor
sino que adems tienen una del cdigo. cantidad de
excelente presentacin, que Entendimient cdigo
permite comprender el cdigo con o del (aunque a la
mayor facilidad. La estructuracin programa en larga no, por
del contenido facilita la revisin el mundo la
de la codificacin y reduce el real. reutilizacin).
tiempo de prueba y depuracin de Fcil
programas. entendimient
o de la lgica
Estructuras de control del
programa.
Son estructuras que Cdigo
permiten controlar el orden de simple
ejecucin de las instrucciones (aunque
contenidas dentro de de ellas cueste
dependiendo de condiciones acostumbrars
previamente establecidas. e).
Fcil
documentaci
n y diseo
del
programa.
Dinamismo
en el manejo
de los datos.
Facilidad en
el
Todos los programas mantenimient
pueden desarrollarse utilizando o y
nicamente con las tres expansin.

Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 3


Programacin orientada a objetos I

estructuras de control
caractersticas de la
programacin estructurada.

Secuencia:

Se refiere al orden en la
que las instrucciones de un
programa son ejecutadas, tal y
como se tienen en el programa.

Los elementos 1, 2 y 3
pueden ser instrucciones o
bloques que indican que
independientemente de su
complejidad o tamao, su
ejecucin es realizada en el orden
indicado.

Seleccin:

Es la posibilidad de elegir
entre dos instrucciones, donde la
decisin se toma en base a la
evaluacin de una expresin a la
que llamamos condicin.

La imagen indica que si


se cumple la condicin 1, se
avanza al punto 2 y se llega al
punto 4, en caso de no cumplirse
la condicin 1 entonces se
avanza al punto 3 y as se llega al
punto 4.

Iteracin:

Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 4


Programacin orientada a objetos I

Es una estructura que se


utiliza para repetir alguna
instruccin o grupo de
instrucciones siempre que se
cumpla una condicin.

Si se cumple la condicin
1, se avanza al punto 2 y se llega
al punto 3 donde se encuentra
una nueva condicin 3 que si se
cumple se regresa a la condicin
1 y si no se cumple, se contina
al punto 4.

Segmentacin

Para favorecer la
comprensin del cdigo de los
programas desarrollados, es
conveniente establecer
segmentos del programa para
que estos no excedan una pgina
de codificacin (50 lneas en
promedio).

No se trata nicamente de
dividir un programa en trozos
donde la longitud sea de 50
lneas; la segmentacin debe
cumplir con las siguientes
caractersticas bsicas:

- Las partes se deben


relacionar entre s de forma
jerrquica, formando una
estructura de rbol.

- Debe mostrar
claramente las relaciones
existentes entre las funciones

Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 5


Programacin orientada a objetos I

para permitir comprender lo que


debe hacer el programa de forma
fcil.

- La comunicacin entre
los segmentos se debe realizar
cuidadosamente y de forma
controlada.

La comunicacin entre los


segmentos se debe realizar a
travs de una lista de parmetros,
lo cual reduce la oportunidad de
se relacionen entre ellos de forma
indeseada o inentendible.

Identacin

Es el espacio o sangra
que se asigna a una lnea de
cdigo y dependiendo de su
longitud, esta indica si una
instruccin o grupo de
instrucciones pertenecen a
determinado bloque.

Este espacio es
importante ya que facilita la
lectura del programa respecto a
las relaciones existentes entre las
instrucciones y los segmentos.

Programacin Es un sistema de programacin Todo el Los


orientada a que utiliza objetos en sus cdigo se programas
objetos relaciones para crear aplicaciones encuentra en no pueden
y programas relacionados con las un solo lugar ser
tecnologas de la informacin. Los objetos moldeados
pueden tener enteramente
Abstraccin: Cada objeto sirve varios por la
como modelo abstracto que atributos por programaci

Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 6


Programacin orientada a objetos I

puede realizar trabajos. informar, ejemplo, que n orientada a


cambiar su estado y comunicarse lea un sensor objetos.
con otros objetos en el sistema y a la vez Para leer,
sin revelar como se implementan encienda. modificar, o
estas caractersticas Son ms hacerles algo
Encapsulacin: Tambin llamado fciles de simplemente;
ocultacin de informacin entender los en algunos
asegura que no se pueda cambiar cdigos. programas
el estado de otros objetos, cada Le ejecucin debes
objeto tiene una interfaz diferente del programa realizar un
de los otros es rpida y paso extra
Polimorfismo: Pueden tener sencilla, todo para realizar
objetos de diferentes tipos y la se encuentra estas
invocacin de un comportamiento en una sola acciones.
correcto para el tipo real de ventana. Si se fuerza
referente esto ocurre durante el el lenguaje
tiempo de ejecucin. puede perder
Herencia: Organiza y facilita el algunos
polimorfismo y el objetos y
encapsulamiento permitiendo que caracterstica
los objetos sean definidos y s.
creados especialmente. Los objetos
requieren
una extensa
documentaci
n.
Los objetos
al ser
abstracto
pueden no
coincidir la
visin de un
programador
a otro.

4. Incluye 5 ejemplos de lenguajes de cada uno de los paradigmas de


programacin.

Paradigma de programacin Imperativo

Los programas que podemos clasificar como imperativos, son todos aquellos que
contienen un grupo de datos acompaados de una serie de instrucciones, con los
cuales se le indica a la computadora cmo realizar una tarea especfica. Con estos
elementos se logra formar una abstraccin de los datos y del cdigo en la memoria

Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 7


Programacin orientada a objetos I

principal. Este modelo ha tenido gran xito entre los programadores por su sencillez y
cercana a la arquitectura de las computadoras convencionales.

C es un claro ejemplo de lenguaje de programacin imperativo, ya que forma una


abstraccin de la mquina de Von-Neumann, que se caracteriza por: la memoria
principal y la unidad central de proceso.

Paradigma de programacin Funcional

Los programas funcionales son aquellos que tienen como objetivo principal el uso de
funciones matemticas puras. El modelo funcional es muy parecido a una calculadora,
el usuario introduce una expresin inicial y es evaluada por el lenguaje. En este
modelo el programador utiliza definiciones de funciones para obtener un valor
irreductible. El modelo funcional se caracteriza por utilizar funciones de orden superior,
sistemas de inferencia de tipos, polimorfismo, listas por comprehensin y evaluacin
perezosa.

Haskell es un lenguaje de programacin funcional, en este lenguaje podemos


encontrar las caractersticas ms significativas del paradigma funcional.

Paradigma de programacin Lgica

Los programas que podemos clasificar como lgicos, son aquellos que estn basados
en premisas (hechos) y que a partir de esas reglas (supuestos verdaderos), el
programa nos retorna un valor verdadero. Con este paradigma de programacin, es
muy sencillo modelar un programa, basado en lgica matemtica. Adems se puede
escribir cdigo ms legible y eficiente, lo que hace ms sencilla la tarea de dar
mantenimiento al programa.

Prolog es un lenguaje de programacin lgica, este lenguaje se basa en un conjunto


de hechos y de reglas. Su forma de trabajo, consiste en realizar una pregunta, para
obtener por inferencia los resultados, los cuales deduce a partir de la relacin entre las
premisas y las reglas.

Paradigma de programacin Orientada a Objetos

La programacin orientada a objetos, como su nombre lo indica, es toda aquella que


se basa en la construccin de objetos y sus mtodos, para que puedan interactuar
entre ellos. Este tipo de programacin se basa principalmente en el diseo del sistema
y utiliza varias tcnicas; entre las ms utilizadas podemos encontrar: herencia,
polimorfismo y encapsulamiento.

Java es un lenguaje de programacin orientada a objetos, en este lenguaje podemos


encontrar muchas de las caractersticas que conforman a la programacin orientada a
objetos.

Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 8


Programacin orientada a objetos I

5. Integra un ejemplo de algn fragmento de cdigo de un programa de programacin


orientada a objetos y uno de programacin estructurada.

Paradigma estructurado

Bsicamente el cdigo se divide en bloques, estructuras, que pueden o no


comunicarse entre s. Este software se controla con secuencia, seleccin e
interaccin. Otorga una mejor comprensin del cdigo y permite su reutilizacin de una
forma ms fcil. Paradigma de programacin guiada 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 o que ellos mismos
provoquen.

Mientras que en la programacin secuencial 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. Al comenzar la ejecucin del programa se llevarn a cabo las
inicializaciones correspondiente y a continuacin el programa quedar bloqueado
hasta que se produzca algn evento.

Cuando alguno de estos eventos tenga lugar, el programa pasar a ejecutar el cdigo
del correspondiente manejador de evento.

6. Integra tus conclusiones indicando, cul de los dos enfoques es mejor y


porque en base a las diferencias, ventajas y desventajas.

La programacin estructurada consta, como su nombre lo indica, de una estructura


donde se va ejecutando paso a paso y este debe de tener una secuencia y una lgica
para que su funcin sea eficiente.

La programacin orientada a objetos se basa en una nueva forma de pensar los


problemas, declarando como variables o los tipos de datos los objetos del problema, y
que a su vez, cada objeto tiene anidadas variables que hacen referencia al dato.

La programacin orientada a objetos es ms moderna, es una evolucin de la


programacin estructurada que plasma en el diseo de una familia de lenguajes
conceptos que existan previamente con algunos nuevos. La programacin
orientada a objetos se basa en lenguajes que soportan sintctica y semnticamente la
unin entre los tipos abstractos de datos y sus operaciones (a esta unin se la suele
llamar clase).

La programacin orientada a objetos incorpora en su entorno de ejecucin


mecanismos tales como el polimorfismo y el envo de mensajes entre objetos.

Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 9


Programacin orientada a objetos I

La programacin estructurada pretende resolver un problema de principio a fin en una


sola estructura de cdigo.

La programacin orientada a objetos, resuelve el problema identificando los actores


que tienen participacin en el problema e identificando tambin sus acciones. Con esta
informacin se crean los objetos (que son una interpretacin de algunos de estos
actores), estos objetos estn compuestos por clases donde se detalla las acciones que
realizan y las propiedades de estos. Al tener creados los objetos solo es ponerlos a
interactuar entre ellos.

Los paradigmas juegan un papel importante en el mundo de la programacin ya que a


travs de esta nos podemos hacer planteamientos para desarrollar un software. Nos
estructuran nuestra programacin y nos dicen cmo resolver el problemas si a travs
de sentencias lgicas o matemticas. Tambin ahora se pueden comprender mejor las
diferentes definiciones de cada tipo de paradigmas. Los lenguajes de programacin a
veces pueden tener influencias de otros tipos de paradigmas.

Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 10

Você também pode gostar