SlideShare una empresa de Scribd logo
Unidad de fundamentos de programacion y algoritmos
FUNDAMENTOS DE PROGRAMACIÓN
UNIDAD 1: Algorítmica y fundamentación en
lenguaje Java
• 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
• 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
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.
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?
DATOS DE
ENTRADA
PROCESO
Clasificar
Ordenar
Calcular
Almacenar
DATOS DE
SALIDA
Las calificaciones obtenidas por los alumnos
en la materia de programación.
DATOS DE
ENTRADA
PROCESO
Clasificar
Ordenar
Calcular
Almacenar
DATOS DE
SALIDA
Sumar los valores numéricos de todas las
calificaciones del curso y dividir el resultado
entre el número de estudiantes.
DATOS DE
ENTRADA
PROCESO
Clasificar
Ordenar
Calcular
Almacenar
DATOS DE
SALIDA
Un número que representa la calificación
promedio del curso de programación.
Ejemplo: ¿Cuál seria la entrada, el proceso y
la salida para calcular el área de un
triangulo?
DATOS DE
ENTRADA
PROCESO
Clasificar
Ordenar
Calcular
Almacenar
DATOS DE
SALIDA
Los datos de la base y la altura del
rectángulo.
DATOS DE
ENTRADA
PROCESO
Clasificar
Ordenar
Calcular
Almacenar
DATOS DE
SALIDA
Multiplicar los datos de la base por la altura
y dividirla entre dos. A= base * altura / 2
DATOS DE
ENTRADA
PROCESO
Clasificar
Ordenar
Calcular
Almacenar
DATOS DE
SALIDA
Un número que representa el área del
rectángulo.
¿Qué es un algoritmo?
Es un conjunto
finito de
instrucciones o
pasos que se
deben seguir para
resolver un
problema
¿Qué es un algoritmo?
Siempre utilizamos algoritmos, al realizar
una tarea, el algoritmo indica cada paso
en el orden apropiado para realizarla.
Ejemplo de Algoritmo
Escriba el algoritmo para elaborar un
emparedado de jamón y queso con salsa
de tomate.
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.
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.
Componentes de un Algoritmo
1. Variables
2. Constantes
3. Asignaciones
4. Sentencias y operaciones
5. Ciclos repetitivos
6. Decisiones
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.
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
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
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á
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
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.
Reglas para la Asignación de Variables
1. A= 2
2. B = 3
3. A = B
4. A = B + A
5. R
• 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
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
• 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
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.
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.
Concepto de problema y mundo
Concepto de problema y mundo
(dominio)
(dominio)
• 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
Generalidades de la POO
Generalidades de la POO
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.
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
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.
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.
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.
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.
DEFINICIÓN DE OBJETO
class Component Model
Pelota
- nombre: char
- color: char
- tamaño: char
+ lanzar() : void
+ atrapar() : void
Características -
Estructura
Comportamiento
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
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.
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
Ejemplo de Clase y Objetos
Clas
e
Diagrama de Clases
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
Clas
e
Diagrama de Clases
Proyecto Cupi2
Universidad de los Andes
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.
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.
Clas
e
Diagrama de Clases
Proyecto Cupi2
Universidad de los Andes
IMPLEMENTACIÓN DE UNA CLASE EN
JAVA.
• 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
Proyecto Cupi2
Universidad de los Andes
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.
Gracias por su atención
M.Sc. FREDY H. VERA R
freve9@gmail.com
Cúcuta - 2013

Más contenido relacionado

PPTX
Semana 1
PPTX
Clase 0 - Repaso de Programacion Orientada a Obejtos.pptx
PDF
Unidad 1 algoritmos y programas
PPT
Unidad 1 Introducción a los Algoritmos.ppt
PDF
Lo básico para programar
PPT
Unidad 2 introducción a los algoritmos
PDF
Algoritmos y programacion en C++
DOCX
Lo básico para programar
Semana 1
Clase 0 - Repaso de Programacion Orientada a Obejtos.pptx
Unidad 1 algoritmos y programas
Unidad 1 Introducción a los Algoritmos.ppt
Lo básico para programar
Unidad 2 introducción a los algoritmos
Algoritmos y programacion en C++
Lo básico para programar

Similar a Unidad de fundamentos de programacion y algoritmos (20)

PPT
Programación
PPT
Algoritmos
PPTX
Semana 1 - Sesión 1 - Algoritmos.pptx
PPTX
02.1 - Estructura_General_De_Programa.pptx
PDF
Tema n° 1
PPT
Presentacion sobre el uso de Visual Basic.ppt
PPT
Clase 1 Itinerario
PDF
Presentacion ii algoritmos_parte2
PPTX
Exposicion unidad-iii
DOCX
Logica computacional conceptos basicos
PPT
clase 1 programacion biomedica.ppt
PPTX
SEMANA 05- Introducción a la Ingeniería de Software
PDF
unidad1_algoritmoyprograma.pdf
PDF
Clase 1
PPTX
Fp sesion 1 ppt
PPTX
Introduccion a la Programacion Unidad I.pptx
PDF
PPT
resolucion-problemas-computadoras-algoritmos-y-programas.ppt
PPTX
Tutorial de visual c++3
PPTX
Tutorial de visual_c_3
Programación
Algoritmos
Semana 1 - Sesión 1 - Algoritmos.pptx
02.1 - Estructura_General_De_Programa.pptx
Tema n° 1
Presentacion sobre el uso de Visual Basic.ppt
Clase 1 Itinerario
Presentacion ii algoritmos_parte2
Exposicion unidad-iii
Logica computacional conceptos basicos
clase 1 programacion biomedica.ppt
SEMANA 05- Introducción a la Ingeniería de Software
unidad1_algoritmoyprograma.pdf
Clase 1
Fp sesion 1 ppt
Introduccion a la Programacion Unidad I.pptx
resolucion-problemas-computadoras-algoritmos-y-programas.ppt
Tutorial de visual c++3
Tutorial de visual_c_3
Publicidad

Último (20)

PPTX
Curso Corto de PLANTA CONCENTRADORA FREEPORT
PPTX
diego universidad convergencia e información
PDF
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
PPTX
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
PDF
Repaso sobre el Gusano_cogollero y como ataca .pdf
PPTX
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
PDF
LIBRO UNIVERSITARIO INTELIGENCIA ALGORITMICA BN.pdf
PDF
manual-sostenibilidad-vivienda-yo-construyo (1).pdf
PDF
alimentos de bebidas45rtrtytyurrrr 1.pdf
PDF
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
DOCX
Cumplimiento normativo y realidad laboral
PPTX
Electronica II, material basico de electronica II
PDF
Curso Introductorio de Cristales Liquidos
PDF
Seguridad vial en carreteras mexico 2003.pdf
PDF
BROCHURE SERVICIOS CONSULTORIA ISOTEMPO 2025
PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PDF
manual-sap-gratuito _ para induccion de inicio a SAP
PDF
silabos de colegio privado para clases tema2
Curso Corto de PLANTA CONCENTRADORA FREEPORT
diego universidad convergencia e información
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
Repaso sobre el Gusano_cogollero y como ataca .pdf
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
clase MICROCONTROLADORES ago-dic 2019.pptx
LIBRO UNIVERSITARIO INTELIGENCIA ALGORITMICA BN.pdf
manual-sostenibilidad-vivienda-yo-construyo (1).pdf
alimentos de bebidas45rtrtytyurrrr 1.pdf
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
Cumplimiento normativo y realidad laboral
Electronica II, material basico de electronica II
Curso Introductorio de Cristales Liquidos
Seguridad vial en carreteras mexico 2003.pdf
BROCHURE SERVICIOS CONSULTORIA ISOTEMPO 2025
357161027-seguridad-industrial-diapositivas-ppt.ppt
manual-sap-gratuito _ para induccion de inicio a SAP
silabos de colegio privado para clases tema2
Publicidad

Unidad de fundamentos de programacion y algoritmos

  • 2. FUNDAMENTOS DE PROGRAMACIÓN UNIDAD 1: Algorítmica y fundamentación en lenguaje Java
  • 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?
  • 7. DATOS DE ENTRADA PROCESO Clasificar Ordenar Calcular Almacenar DATOS DE SALIDA Las calificaciones obtenidas por los alumnos en la materia de programación.
  • 8. DATOS DE ENTRADA PROCESO Clasificar Ordenar Calcular Almacenar DATOS DE SALIDA Sumar los valores numéricos de todas las calificaciones del curso y dividir el resultado entre el número de estudiantes.
  • 9. DATOS DE ENTRADA PROCESO Clasificar Ordenar Calcular Almacenar DATOS DE SALIDA Un número que representa la calificación promedio del curso de programación.
  • 10. Ejemplo: ¿Cuál seria la entrada, el proceso y la salida para calcular el área de un triangulo?
  • 12. DATOS DE ENTRADA PROCESO Clasificar Ordenar Calcular Almacenar DATOS DE SALIDA Multiplicar los datos de la base por la altura y dividirla entre dos. A= base * altura / 2
  • 14. ¿Qué es un algoritmo? Es un conjunto finito de instrucciones o pasos que se deben seguir para resolver un problema
  • 15. ¿Qué es un algoritmo? Siempre utilizamos algoritmos, al realizar una tarea, el algoritmo indica cada paso en el orden apropiado para realizarla.
  • 16. Ejemplo de Algoritmo Escriba el algoritmo para elaborar un emparedado de jamón y queso con salsa de tomate.
  • 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.
  • 32. Concepto de problema y mundo Concepto de problema y mundo (dominio) (dominio)
  • 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
  • 34. Generalidades de la POO Generalidades de la POO
  • 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
  • 45. Ejemplo de Clase y Objetos Clas e Diagrama de Clases
  • 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
  • 47. Clas e Diagrama de Clases Proyecto Cupi2 Universidad de los Andes
  • 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.
  • 50. Clas e Diagrama de Clases Proyecto Cupi2 Universidad de los Andes
  • 51. IMPLEMENTACIÓN DE UNA CLASE EN JAVA.
  • 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