3. • Concepto de Algoritmo
• Ciclo de vida de una aplicación OO
• Concepto de Problema y Mundo (Dominio).
• Generalidades de la POO (UML de una clase simple)
• Fundamentos del lenguaje JAVA
• Tipos de datos: int, double y String
• Asignación
• Cuerpo de un Programa
• Sintaxis de las instrucciones
• Expresiones aritméticas
• Manejo de métodos básicos de la clase String
Agenda
Agenda
4. • Concepto de Algoritmo
• Ciclo de vida de una aplicación OO
• Concepto de Problema y Mundo (Dominio).
• Generalidades de la POO (UML de una clase simple)
• Fundamentos del lenguaje JAVA
• Tipos de datos: int, double y String
• Asignación
• Cuerpo de un Programa
• Sintaxis de las instrucciones
• Expresiones aritméticas
• Manejo de métodos básicos de la clase String
Agenda
Agenda
5. Concepto de Algoritmo
Concepto de Algoritmo
DATOS DE
ENTRADA
PROCESO
Clasificar
Ordenar
Calcular
Almacenar
DATOS DE
SALIDA
Los datos y la información se pueden
introducir en la computadora como entrada
y a continuación se procesan para producir
una salida.
6. Ejemplo: ¿Cuál seria la entrada, el proceso y
la salida para calcular el promedio de las
calificaciones obtenidas por los alumnos de
programación?
17. Ejemplo de Algoritmo
1. Coloque el pan, el jamón, el queso, la salsa de
tomate y un cuchillo en la mesa de trabajo.
2. Ponga dos rebanadas de pan en un plato.
3. Con el cuchillo unte las dos rebanadas de pan con la
salsa de tomate.
4. Coloque el jamón sobre una rebanada de pan.
5. Si requiere queso colóquelo sobre el jamón
6. Coloque la otra rebanada de pan sobre el queso y el
jamón respectivamente.
7. Repita los pasos 2 al 6 por cada emparedado que
requiera.
8. Cómase los emparedados.
18. Características de los algoritmos
1. Cuenta con datos de entrada, realiza
un proceso y produce un resultado.
2. Debe ser claro y no ambiguo.
3. Debe resolver el problema
correctamente.
4. Puede ser seguido con lápiz y papel.
5. Debe ejecutarse en un número finito
de pasos.
19. Componentes de un Algoritmo
1. Variables
2. Constantes
3. Asignaciones
4. Sentencias y operaciones
5. Ciclos repetitivos
6. Decisiones
20. Variables y Constantes
Variable: Es una ubicación de memoria
cuyo contenido puede ser cambiado
durante la ejecución de un programa.
Constante: Es una ubicación de
memoria cuyo contenido permanece igual
durante la ejecución del programa.
Todas las variables y constantes deben ser
declaradas al iniciar el programa.
21. Variables y Constantes
Inicia Suma en 0
0
Variable Suma
Espacio en memoria
Sumar calificación: 4.5 a Suma
4.5
0 + 4.5
8.0
Sumar otra calificación :
3.5 a Suma
4.5 + 3.5
El valor de Suma
es: 8.0
Imprimir Suma
22. Variables y Constantes
Inicia PI en 0
0
Sumar 4.5 a PI
4.5
0 + 4.5
El valor de PI es:
3.1416
Imprimir PI
Constante PI = 3.1416
Espacio en memoria
3.1416
23. Variables y Constantes
La declaración de variables y/o
constantes implica decirle al computador:
• Si es constante o variable.
• Cómo se llamará en el programa.
• El tipo de datos que contendrá
24. Asignación de Variables
La asignación implica colocar valores en
las variables es decir en los espacios de
memoria.
La asignación siempre se hace de
izquierda a derecha.
Variable = valor
25. Reglas para la Asignación de Variables
1. Solo un nombre puede ir a la izquierda del signo
igual, porque es la ubicación de memoria que va a
cambiar.
2. Las constantes no pueden ir a la izquierda del signo
igual, porque no pueden cambiar.
3. El valor de la derecha del signo igual puede ser una
constante, otra variable o una formula o expresión
aritmética que combine constantes y variables.
4. Cualquier cosa a la derecha del signo igual no
cambia.
5. La variable y el valor a asignar debe ser del mismo
tipo de datos.
26. Reglas para la Asignación de Variables
1. A= 2
2. B = 3
3. A = B
4. A = B + A
5. R
27. • Concepto de Algoritmo
• Ciclo de vida de una aplicación OO
• Concepto de Problema y Mundo (Dominio).
• Generalidades de la POO (UML de una clase simple)
• Fundamentos del lenguaje JAVA
• Tipos de datos: int, double y String
• Asignación
• Cuerpo de un Programa
• Sintaxis de las instrucciones
• Expresiones aritméticas
• Manejo de métodos básicos de la clase String
Agenda
Agenda
28. Estas actividades se realizan
normalmente en orden
secuencial, sin embargo, es
posible que algunas de las
actividades necesitan
repetirse o que otras se
realicen simultáneamente,
depende de la metodología
de desarrollo seleccionada.
Ciclo de Vida de una Aplicación
Ciclo de Vida de una Aplicación
29. • Concepto de Algoritmo
• Ciclo de vida de una aplicación OO
• Concepto de Problema y Mundo (Dominio).
• Generalidades de la POO (UML de una clase simple)
• Fundamentos del lenguaje JAVA
• Tipos de datos: int, double y String
• Asignación
• Cuerpo de un Programa
• Sintaxis de las instrucciones
• Expresiones aritméticas
• Manejo de métodos básicos de la clase String
Agenda
Agenda
30. Concepto de problema y mundo
Concepto de problema y mundo
(dominio)
(dominio)
Problema: Según la RAE es:
1. m. Cuestión que se trata de aclarar.
2. m. Proposición o dificultad de solución dudosa.
3. m. Conjunto de hechos o circunstancias que dificultan la
consecución de algún fin.
4. m. Disgusto, preocupación. U. m. en pl. Mi hijo solo da
problemas.
5. m. Planteamiento de una situación cuya respuesta desconocida
debe obtenerse a través de métodos científicos.
31. Concepto de problema y mundo
Concepto de problema y mundo
(dominio)
(dominio)
Dominio o Mundo del Problema: Según la Weithzenfeld es:
Un modelo común para todos los involucrados en el problema
que representa una parte de la realidad.
Sirve para modelar y especificar los requerimientos del sistema a
implementar.
33. • Concepto de Algoritmo
• Ciclo de vida de una aplicación OO
• Concepto de Problema y Mundo (Dominio).
• Generalidades de la POO (UML de una clase
simple)
• Fundamentos del lenguaje JAVA
• Tipos de datos: int, double y String
• Asignación
• Cuerpo de un Programa
• Sintaxis de las instrucciones
• Expresiones aritméticas
• Manejo de métodos básicos de la clase String
Agenda
Agenda
35. Definición de
la POO
Se define como el conjunto de disciplinas
(ingeniería) que desarrollan y modelizan
software que facilitan la construcción de
sistemas complejos a partir de componentes.
(Joyanes Aguilar)
La programación orientada a objetos permite
una representación mas directa del mundo real
en el código.
36. Construcción de Sistemas Orientados
Construcción de Sistemas Orientados
a Objetos
a Objetos
Comp. 1
Comp. 1 Comp. 5
Comp. 5
Comp. 3
Comp. 3
Comp. 2
Comp. 2
Comp. 4
Comp. 4 Comp. 9
Comp. 9
Comp. 7
Comp. 7
Comp. 6
Comp. 6
Comp. 8
Comp. 8
37. Beneficios de
la POO
Oportunidad: Tenemos menos software que hacer y se
puede construir con mayor rapidez. Disminución de los
Esfuerzos de mantenimiento.
Fiabilidad: Al tener buenos componentes ya usados y
probados con anterioridad se puede mejorar el desarrollo.
Eficiencia: Los componentes en muchas ocasiones son
desarrollados por expertos en el dominio que se
desarrollaron, usando los mejores algoritmos, patrones y
estructuras de datos.
Inversión: El componente no se desarrolla solo para un
proyecto, tiene la oportunidad de utilizarlo en muchos
proyectos. Se puede preservar en el componente el Know
– how de los mejores desarrolladores.
MEYER, BERTRAND.
Construcción de Software Orientado
A Objetos. Prentice-hall, 2002.
Capitulo 4.
38. CARACTERISTICAS PRINCIPALES
Abstracción: Reducir la complejidad simplificando las
tareas de desarrollo.
Modularidad: Dividir el sistema en componentes
separados, se da en base a objetos, un nivel más alto
que los datos y funciones tradicionales.
Extensibilidad: permitir cambios en el sistema de manera
modular afectando lo mínimo posible el resto del
sistema.
Reutilización: Reuso de partes existentes.
39. CARACTERISTICAS PRINCIPALES
Clasificación: objetos que contienen estructuras
similares, correspondiente a tipos de datos y
funciones similares, se clasifican como
pertenecientes a la misma clase de objeto.
Generalización: clases de objetos con estructura
y comportamiento similar se reutilizan en la
definición de las nuevas clases que heredan
dicha estructura y comportamiento.
40. DEFINICIÓN DE OBJETO
Teóricamente un objeto es cualquier cosa que se pueda
arrojar.
Son conceptos pudiendo ser abstractos o concretos.
Los objetos corresponden por lo general a sustantivos,
pero no a gerundios.
Cualquier cosa que incorpore una estructura y un
comportamiento se le puede considerar como un
objeto.
Los objetos deben ser entidades que existen de forma
Independiente. Se debe distinguir entre los objetos, los
cuales contienen características o propiedades, y las
propias características.
Los objetos deben tener nombres en singular, y no en
plural.
41. DEFINICIÓN DE OBJETO
class Component Model
Pelota
- nombre: char
- color: char
- tamaño: char
+ lanzar() : void
+ atrapar() : void
Características -
Estructura
Comportamiento
42. DEFINICIÓN DE OBJETO
class Component Model
Viaje
- nombre: char
- origen: char
- destino: char
+ iniciarViaje() : void
+ irEnCarro() : void
class Component Model
Temperatura
- valor: char
- escala: char
+ medir() : void
+ convertir() : void
43. DEFINICIÓN DE CLASE
Una clase describe un grupo de objetos con estructura y
comportamiento común.
Las estructuras o propiedades de la clase se conocen como
atributos y el comportamiento como operaciones.
Una clase se considera un "molde" del cual se crean múltiples
objetos.
Ejemplo: Juan Pérez y María López se consideran miembros de
la clase persona, donde todas las personas tienen una edad
y un nombre.
Los objetos impresora a láser, impresora de burbuja, e
impresora de punto son todos objetos que pertenecen a la
clase impresora.
44. REPRESENTACIÓN GRAFICA
El proceso de crear objetos pertenecientes a una
clase se conoce como instanciación, donde los
objetos son las instancias de la clase. El objeto
es la instancia de la clase a la que pertenece.
class Component Model
Persona
Clase
class Component Model
Pedro : Persona
Objeto
46. Notación en UML de una Clase.
class Component Model
Viaje
- nombre: char
- origen: char
- destino: char
+ iniciarViaje() : void
+ irEnCarro() : void
Clas
e
Diagrama de Clases
48. Atributos
• Definen la estructura de una clase y de sus
correspondientes objetos.
• El atributo define el valor de un dato para todos
los objetos pertenecientes a una clase.
• Los atributos corresponden a sustantivos y sus
valores pueden ser sustantivos o adjetivos.
• Dentro de una clase, los nombre de los atributos
deben ser únicos.
• Se puede asociar con cada atributo un tipo de
dato, por ejemplo, entero, cadena, etc., para
restringir sus posibles valores.
49. Operaciones
• Son funciones o transformaciones que se aplican
a todos los objetos de una clase particular.
• La operación puede ser una acción ejecutada por
el objeto o sobre el objeto.
• Ejemplo: Arrojar, atrapar, inflar, y patear, son
operaciones para la clase pelota. Abrir, cerrar,
ocultar, y dibujar, son operaciones para la clase
ventana.
• Las operaciones pueden tener argumentos, o
sea, una lista de parámetros, cada uno con un
tipo, y pueden también devolver resultados, cada
uno con un tipo.
52. • Concepto de Algoritmo
• Ciclo de vida de una aplicación OO
• Concepto de Problema y Mundo (Dominio).
• Generalidades de la POO (UML de una clase simple)
• Especificación de requerimientos funcionales simples
• Fundamentos del lenguaje JAVA
• Tipos de datos: int, double y String
• Asignación
• Cuerpo de un Programa
• Sintaxis de las instrucciones
• Expresiones aritméticas
• Manejo de métodos básicos de la clase String
Agenda
Agenda
54. Ejercicio en Clase
Proponga tres ejemplos de clases del mundo real:
•Asóciele a cada clase un nombre(identificador) descriptivo
adecuado.
•Enumere por lo menos tres atributos y tres operaciones para cada
una de las clases.
•Represente gráficamente las clases utilizando la notación UML.
•Para cada una de ellas, determine tres objetos que pertenezcan a
esa clase.
55. Gracias por su atención
M.Sc. FREDY H. VERA R
freve9@gmail.com
Cúcuta - 2013