Beruflich Dokumente
Kultur Dokumente
Contenidos
1. Metodologa para el Anlisis y Planteamientos de problemas:
1.1. Identificacin del Problema.
1.2. Identificacin de los datos necesarios (entradas).
1.3. Identificacin de los datos a obtener (salidas).
1.4. Descripcin de las operaciones a utilizar (clculos).
1.5. Descripcin de los pasos para llegar a la solucin (procesos).
2. Fundamentos generales de la Orientacin a Objetos como paradigma de
programacin:
2.1. Definicin y Ventajas.
2.2. Caractersticas.
2.3. Elementos: Clase, Objeto, Atributo, Mtodo.
2.4. Propiedades: Abstraccin, Encapsulamiento, Modularidad
3. Metodologa
Orientada
Objeto
para
la
construccin
computacionales:
3.1. Anlisis: Identificacin de clase, atributos y mtodos.
de
modelos
Conocimientos Previos
Cuando se desarrolla un algoritmo, los pasos a cumplir para dar solucin a
un problema determinado deben tener coherencia y concatenacin.
Con el propsito de que tengas xito en el aprendizaje de estos temas, es
necesario que repases el contenido de la unidad 1, con respecto al concepto y
caractersticas de los algoritmos, y la unidad 3 sobre los datos y las entidades
primitivas, adems de evaluar una expresin aritmtica, ejercicios de desarrollo
Introduccin
El Anlisis del problema es un paso fundamental en la correcta resolucin de
una situacin presentada, la cual viene determinada, en gran medida, por el
planteamiento inicial. Un planteamiento correcto evita perder tiempo en la
implementacin de algoritmos. En este paso debemos hacer tres preguntas:
(a) Qu entradas se nos ofrece?, (b) Qu salida debemos generar?, (c) Cul
es el mtodo que debemos usar para llegar hacia la solucin deseada?, es as
como el diseo del algoritmo ayuda a darle la solucin al problema.
Parte del reto de la programacin, es que cada programador tiene
estrategias diferentes para proyectar las ciertas preguntas, sin importar el enfoque
de desarrollo del programa que utilice. Pero Cmo dan solucin a estos
problemas? Qu mtodo utilizan?, En qu te ayudara conocer? Cmo
resolver problemas mediante una metodologa? Para resolver estas interrogantes
necesariamente tienes que seguir un proceso al cual se conoce como metodologa
de solucin de problemas.
La metodologa de solucin de problemas es un conjunto o sistema de
mtodos, principios y reglas que permiten enfrentar de manera sistemtica el
desarrollo de una solucin a un problema.
Esta metodologa se estructura como una secuencia de pasos que parten de la
definicin del problema y culminan con una solucin del mismo.
1.1. IDENTIFICACIN DEL PROBLEMA
Es la primera fase de la metodologa de solucin de problemas. Esta etapa
se centra en la elaboracin del texto que nos permitir saber qu es lo que se
pretende solucionar, y nos proporcionar informacin til para hallar la solucin.
Esta fase est dada por el enunciado del problema, el cual debe ser claro y
completo. Es importante que conozcamos exactamente qu se desea, ya que
mientras no identifiquemos lo que se solucionar no tiene caso pasar a la
siguiente fase. Esto se lograr mediante una buena lectura del enunciado y el
anlisis del mismo para poder identificar cada uno de los elementos (condiciones)
que afectan y/o crean el problema.
Veamos un ejemplo sencillo, en donde apliquemos la primera fase de la
metodologa de solucin de problemas. Ejemplo: Nuestro personaje est sentado
en su casa viendo la televisin. Afuera est lloviendo y como su techo est en mal
estado el agua se introduce a la habitacin.
Cul es su problema?
Resumen
Entendido el problema, para resolverlo es preciso analizar los datos o
resultados que se esperan, los datos de entrada que nos suministran, el proceso
al que se requiere someter esos datos a fin de obtener los resultados esperados,
reas de trabajo, frmulas y otros recursos necesarios.
Se puede establecer una serie de preguntas acerca de lo que establece el
problema, para poder determinar si se cuenta con los elementos suficientes para
Introduccin
La evolucin de la programacin puede sintetizarse en tres modelos o
paradigmas: (a) La programacin mediante procedimientos, (b) La programacin
estructurada, (c) La programacin orientada a objetos.
Un paradigma es una forma establecida de pensar acerca de cmo hacer
algo. Es un conjunto de teoras, estndares y mtodos que juntos representan un
medio de organizacin del conocimiento: es decir, un medio de visualizar el
mundo.
La abstraccin es la capacidad mental superior que tiene todo ser humano
para poder deducir la esencia de un concepto o situacin determinada. Definir
una abstraccin significa describir una entidad del mundo real, no importa lo
compleja que pueda ser.
Mi dibujo N 1
Mi dibujo no representaba un sombrero.
Representaba una serpiente boa que
digera un elefante. Entonces dibuj el
interior de la serpiente boa para que las
personas mayores pudieran entender.
Mi dibujo N 2
Estos
objetos
poseen
caractersticas
(atributos)
tiene
un
comportamiento (mtodos).
En el mbito de la programacin, un programa
2.3. ELEMENTOS
La programacin orientada a objetos introduce nuevos conceptos
OBJETOS
En el mundo real, las personas identifican los objetos como las cosas que
pueden ser percibidas por los cinco sentidos. Por ejemplo: una computadora, un
telfono celular, un rbol, un perro o un automvil.
Los objetos son entidades provistas de un conjunto de propiedades,
atributos o caractersticas especficas o datos, tales como tamao, color, forma,
textura y tambin tienen ciertos comportamientos, funcionalidad o mtodos que
los hacen diferentes a otros objetos. Por ejemplo: los automviles tienen
Se corresponde con los objetos reales del mundo que nos rodea, a objetos
internos del sistema o del programa. Un objeto tiene estado, exhibe algn
comportamiento bien definido, tiene una identidad nica.
Un objeto tiene estado, los atributos del objeto expresados por las variables,
se refiere al conjunto de los valores de sus atributos en un momento dado. El
comportamiento de un objeto puede modificar el estado de este.
Un Objeto exhibe algn comportamiento bien definido, lo que el objeto
puede hacer, los mtodos que componen el objeto respectivamente determinado
por las operaciones que ste puede realizar en respuesta a mensajes
(peticiones), que le son enviados por otros objetos.
Un objeto posee Identidad, que es la propiedad que permite a un objeto
diferenciarse de otros. Cada objeto es nico en el mundo por ms que haya otro
objeto con iguales atributos.
Un objeto en POO, representa alguna entidad de la vida real, es decir,
alguno de los objetos que pertenecen al negocio con que estamos trabajando o
al problema con el que nos estamos enfrentando.
CLASE
Una clase representa un conjunto de objetos que comparten una estructura
comn y un comportamiento comn, En otras palabras, una clase representa a un
conjunto de objetos que tienen en comn las mismas caractersticas (atributos) y
el mismo comportamiento (mtodos).
En el mundo real existen objetos del mismo tipo, por ejemplo tu cuenta de
ahorro en un banco, es solo una ms de todas las cuentas de ahorro del banco.
Todas las cuentas de ahorro tienen los atributos: nmero, titular, fecha apertura,
saldo y algunos mtodos como son: Aperturar, Depositar, Retirar y Cerrar. Por lo
tanto, se puede definir la clase Cuenta_Ahorro, que describe los atributos y
comportamiento de todas las cuentas.
Al referirse a una cuenta en particular, por ejemplo, tu cuenta de ahorro, se
puede decir que ella es un objeto de la clase Cuenta_Ahorro.
Las clases son modelos o plantillas que describen como se construyen uno
o ms objetos del mismo tipo, es decir, define las variables y los mtodos que son
comunes para todos los objetos de un cierto tipo. Cada vez que se construye un
objeto de una clase, se crea una instancia de esa clase, por lo tanto, una clase
puede tener muchas instancias y cada una es un objeto diferente.
Un objeto es un simple elemento. Una clase, por el contrario, describe una
familia de elementos similares. Cuando programamos un objeto y definimos sus
se est haciendo, es
EJEMPLO 2
Definamos una clase para una cuenta bancaria. Una cuenta bancaria consta
de atributos: tipo, titular y saldo. Adems permite hacer las siguientes operaciones
o mtodos: Depositar y Extraer. Veamos cmo quedara
MTODO
Un mtodo es una funcin o subrutina asociada a un objeto o a una clase de
objetos cuya ejecucin se desencadena tras la recepcin de un "mensaje". Desde
el punto de vista del comportamiento, es lo que el objeto puede hacer. Un mtodo
puede producir un cambio en las propiedades del objeto, o la generacin de un
"evento" con un nuevo mensaje para otro objeto del Sistema.
Un evento es un suceso en el sistema (tal como una interaccin del usuario
con la mquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. Tambin se puede definir
como evento, a la reaccin que puede desencadenar un objeto, es decir la accin
que genera.
La interaccin entre objetos se produce mediante mensajes. Un mensaje es
una peticin dirigida a un objeto, que le ordena que ejecute uno de sus mtodos
con ciertos parmetros asociados al evento que lo gener.
Un mensaje est compuesto por los siguientes elementos: el objeto receptor,
hacia el cual el mensaje es enviado; el nombre del mtodo que el objeto receptor
del mensaje ejecutar; cualquier informacin adicional requerida por el objeto
ATRIBUTO
Propiedad o, contenedor de un tipo de datos asociados a un objeto (o a una
clase de objetos), que hace los datos visibles desde fuera del objeto y esto se
define como sus caractersticas predeterminadas, y cuyo valor puede ser alterado
por la ejecucin de algn mtodo.
2.4. PROPIEDADES
ABSTRACCIN
Denota las caractersticas esenciales de
un objeto que lo distinguen de todos los
dems tipos de objetos, y proporciona as
fronteras
conceptuales
ntidamente
detalles irrelevantes. La
el
dominio
del
problema,
pues
hace
posible
enunciar
sin riesgo de quemaduras, que asiente de manera segura para que no se voltee.
Sin embargo, es casi seguro que desconozcamos cual es el material y el proceso
empleado para fabricar dicho recipiente.
5. Cuando estamos ante una araa, probablemente nos interese identificar si es
venenosa, empero, NO necesitaremos saber cmo produce su veneno, en que
cantidades, en qu periodo.
6. Si se tiene la posibilidad de elegir los ingredientes de una hamburguesa,
interesan detalles como si la carne es de soya o de res, el jamn de pavo o
pierna, el queso amarillo o blanco. Sin embargo, no nos ocuparemos de los
detalles de cmo se produce cada uno de estos productos.
ENCAPSULAMIENTO
Es el proceso de almacenar en un
mismo
comportamiento,
los
reunir
pueden
considerarse
vez.
Al decidir encapsular ciertas funciones o atributos, estos sern utilizados por
otros objetos para llevar a cabo alguna tarea. Sin embargo, un objeto debe
conocer de otro lo indispensable para que lo pueda utilizar, ni ms ni menos. Si
se conoce ms, entonces aumenta la cantidad de informacin que se maneja lo
que incrementa la complejidad, adems de que hace ms vulnerable el objeto
que se utiliza, y es ms difcil garantizar
su integridad y su correcto
modificacin por quien no tenga derecho a acceder a ellas; solamente los propios
mtodos internos del objeto pueden acceder a su estado. Esto asegura que otros
objetos no pueden cambiar el estado interno de un objeto de maneras
inesperadas, eliminando efectos secundarios e interacciones inesperadas.
Los atributos (datos) de un objeto deben ser privados, es decir, no pueden
ser
que
ha
sido
descompuesto en un conjunto de
mdulos cohesivos y dbilmente
acoplados.
mdulo debe estar bien definido, y su acoplamiento con los dems debera ser el
mnimo posible. Entre menos dependencias existan entre ellos, ms mantenible
ser la aplicacin final.
Nota: Modularidad se entiende como agrupacin de abstracciones u objetos.
Ejemplos de modularidad
1. En un automvil estndar reubicar la palanca de velocidades NO debe afectar
el comportamiento de la transmisin.
2. Adaptar un teclado para idioma griego NO debe requerir la construccin de
una computadora nueva.
3. Permitir que un sistema de nmina de empleados de confianza y operarios,
incorpore la funcionalidad de prstamos, NO debe requerir la reescritura del
programa completo.
POLIMORFISMO
Es una propiedad que permite que diversos objetos respondan de modo
diferente al mismo mensaje. No sera tratado en este curso.
HERENCIA
.
Es la propiedad que permite definir nuevas clases a partir de una clase base
Anlisis,
Diseo,
Desarrollo
Implementacin.
(Joyanes,
Luis.
1. Subrayado de nombres y verbos: La tcnica utilizada en esta fase es: (a) leer
la definicin o descripcin del problema y (b) subrayar los nombres o frases con
nombres y los verbos o frases con verbos. Los nombres son buenos candidatos a
Clases o atributos de clases. Los verbos son buenos candidatos a Mtodos.
NombreClase
Tipo Atributo_1
Tipo Atributo_2
*
Tipo Atributo_N
Plantillas de clases
Tipo Mtodo_1(parmetros )
Tipo Mtodo_2(parmetros )
*
Tipo Mtdo_N(parmetros )
: Estudiante
Atributo(s)
Mtodo (s)
Clase Estudiante
Solucin
Clase
: Empleado
Atributo(s)
Mtodo (s)
: Calcular el Sueldo ( )
Clase Empleados
Elemento
Responsabilidad
Calculadora
-------- >
Clase
Numero1
-------- >
Atributo de Calculadora
Numero2
-------- >
Atributo de Calculadora
Sumar()
-------- >
Mtodo de Calculadora.
AsignarNumero1
-------- >
Mtodo de Calculadora.
ObtenerNumero1
-------- >
Mtodo de Calculadora.
AsignarNumero2
-------- >
Mtodo de Calculadora.
ObtenerNumero2
-------- >
Mtodo de Calculadora.
Sumar: Mtodo de Calculadora que tiene como funcin calcular la suma de dos
nmeros enteros. La secuencia lgica es:
// Secuencial
// Secuencial
3. Retornar el resultado
// Secuencial
Donde:
Suma = Numero1 + Numero2
Calculadora
entero Numero1
entero Numero2
AsignarNumero1(entero)
entero ObtenerNumero1()
AsignarNumero2(entero)
entero ObtenerNumero2()
entero Sumar()
fin
Calculadora AsignarNumero2 (entero Valor)
inicio
Numero2 Valor
// A Numero2 se le asigna lo que contiene Valor
fin
entero Calculadora ObtenerNumero2 ( )
inicio
retornar Numero2 // Devuelve el contenido almacenado en el atributo Numero2
fin
entero Calculadora Sumar ( )
inicio
entero Resultado
// esta es una variable local del mtodo
Sumar Resultado Numero1 + Numero2
//se suma el valor de los 2 atributos
retornar Resultado
fin
// Notar que la variable local a retornar Resultado debe ser del mismo tipo
(entero) que el valor que retorna el mtodo (definido como entero en su
encabezado)
Implementacin de la Aplicacin
La aplicacin es la que interacta con el usuario, leyendo datos (desde el teclado)
y mostrando resultados (por la pantalla o impresora). Toda aplicacin tiene una
secuencia lgica, a saber:
1. Creacin de los objetos
2. Darle vida a los objetos, agregndole la informacin a sus atributos
3. Poner a Interactuar los objetos, entre ellos y con la aplicacin
4. Mostrar el resultado de la interaccin.
principal ( )
inicio
Calculadora Cal
IECalculadora (Cal)
entero Resultado
//Es una variable de la aplicacin
Resultado Cal.Sumar( ) //La aplicacin interactuando con el objeto
InterfazSalida (Resultado)
//Para mostrar el Resultado
fin
Cal.AsignarNumero1(Valor)
leer (Valor)
Cal.AsignarNumero2(Valor)
fin
2.
3.
4.
como...
a) Objeto
b) Identificador
c) Componente
d) Trmino
5. (
( )
( )
( )
( )
Lee con atencin los planteamientos y elabora un algoritmo para cada problema.
8. Calcula la superficie de un tringulo dada su base, considerando que la
superficie se calcula mediante la frmula: superficie = base * altura / 2
9. Dado como dato la calificacin de un alumno, escribe APROBADO si su
calificacin es mayor o igual a 12 y REPROBADO si su calificacin es de 0 a 11.
Lee con atencin los siguientes planteamientos y coloca dentro del parntesis de
la izquierda la letra de la opcin que contesta correctamente cada uno de ellos.
12.
( )
se le llama...
a) algoritmo.
b) pseudocdigo.
c) diagrama de flujo.
d) top down.
13.
14. (
15. (
a)
)
(
a) Variable
b) Pseudocdigo
c) Algoritmo
(
d) Anlisis
e) Proceso
Clave de Respuestas
Pregunta
1
2
3
4
5
10
11
Respuesta
d
a
c
b
a
F
V
F
V
F
Entrada
Proceso
Salida
Inicio
Obtener valor de base
Obtener valor de altura
Calcular base * altura / 2
Escribir valor de superficie
Fin
Inicio
Obtener calificacin.
Si calificacin >= 12 escribir
APROBADO.
Si calificacin <= 12
escribir "REPROBADO
Fin
Inicio
Obtener distancia
Obtener tiempo
Calcular d / t
Escribir
valor
de
velocidad.
Fin
Inicio
Obtener calificacin 1
Obtener calificacin 2
Obtener calificacin 3
Obtener calificacin 4
Obtener calificacin 5
Sumar calificaciones 1, 2,
3, 4 y 5
12
13
14
15
16
Calcular
el
promedio
dividiendo el resultado
anterior entre 5
Escribir el promedio
Fin
c
d
c
d
c
b
d
a