APO1 - Presentacion nivel 1

  • 5,785 views
Uploaded on

Esta es la presentación del Nivel 1 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.

Esta es la presentación del Nivel 1 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.

More in: Education , Travel , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,785
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
81
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. NIVEL 1BIENVENIDOS A ALGORÍTMICA Y PROGRAMACIÓN 1 (APO 1) Mario José Villamizar Cano mj.villamizar24@uniandes.edu.co Oficina ML-637http://sistemas.uniandes.edu.co/~mj.villamizar24/dokuwiki/doku.php Grupo de Tecnologías de Información y Comunicación (COMIT) Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá D.C., Colombia
  • 2. NIVEL 1 REDES SOCIALES mjvc007@hotmail.com http://twitter.com/mariocloudhttp://linkedin.com/in/mariojosevillamizarcano
  • 3. NIVEL 1 INTRODUCCIÓN Y REGLAS DE JUEGOEntrega del programaPresentación del cursoOrganización del curso (cronogramas)MetodologíaReglas de juegoMedios de comunicación profesor-estudianteLibro del cursoMonitoresEsquema de evaluación
  • 4. NIVEL 1PLAN DE TEMAS
  • 5. NIVEL 1ESQUEMA DE EVALUACIÓN
  • 6. NIVEL 1 NIVEL 1 – PROBLEMAS, SOLUCIONES Y PROGRAMAS Proceso global de solución de un problema usando un programa decomputador Analizar un problema simple que se va a resolver usando unprograma de computador Explicar la estructura de un programa de computador Completar una solución parcial a un problema Utilizar un ambiente de desarrollo de programas y un espacio detrabajo predefinido
  • 7. NIVEL 1 CASOS DE ESTUDIOCaso de estudio 1: El Empleado
  • 8. NIVEL 1 CASOS DE ESTUDIOCaso de estudio 2: Simulador Bancario
  • 9. NIVEL 1 CASOS DE ESTUDIOCaso de estudio 3: El triángulo
  • 10. NIVEL 1 HOJAS DE TRABAJOHoja de trabajo 1: La alcancía
  • 11. NIVEL 1 HOJAS DE TRABAJOHoja de trabajo 2: La encuesta
  • 12. NIVEL 1PROCESO PARA SOLUCIONAR UN PROBLEMA
  • 13. NIVEL 1ETAPAS DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 14. NIVEL 1 ANÁLISIS DEL PROBLEMAEntender el problema del cliente y qué es lo que se quiere hacer.La salida de esta etapa se denomina especificación del problema.
  • 15. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALESRequerimiento funcional: Operación o servicio que el programa que seva a construir debe proveer al usuario.Elementos de un requerimiento funcional Identificador y nombre Resumen de la operación Entrada Resultados (modificación de un valor, cálculo de un valor, mezcla)
  • 16. NIVEL 1ANÁLISIS DEL PROBLEMA – EL PROBLEMA EL EMPLEADO
  • 17. NIVEL 1ANÁLISIS DEL PROBLEMA – EL PROBLEMA SIMULADOR BANCARIO
  • 18. NIVEL 1ANÁLISIS DEL PROBLEMA – EL PROBLEMA EL TRIÁNGULO
  • 19. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO DEL EMPLEADORequerimientos funcionales del ejemplo: R1 - Ingresar la información del empleado R2 - Actualizar el salario básico del empleado R3 - Calcular la edad del empleado R4 - Calcular de la antigüedad del empleado R5 - Calcular las prestaciones de un empleado
  • 20. NIVEL 1ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO 1
  • 21. NIVEL 1ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO 2
  • 22. NIVEL 1ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO 3
  • 23. NIVEL 1 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMAEntendimiento detallado del mundo en el que ocurre el problema ydefinición del Mundo del Problema. Para lograr esto se debe: Identificar las entidades (clases) Modelar las características (atributos, posibles valores) Las relaciones entre las entidadesEl modelo del mundo será expresado utilizando el lenguaje UML (UnifiedModeling Languaje)
  • 24. NIVEL 1ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA EJEMPLO DEL EMPLEADO Empleado fechaNacimiento Fechanombre diaapellido fechaIngreso messexo aniosalario
  • 25. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO DEL TRIÁNGULORequerimientos funcionales del ejemplo: R1 - Crear un nuevo triangulo R2 - Calcular área del triangulo R3 - Calcular perímetro del triángulo R4 - Cambiar color relleno R5 - Cambiar color de las líneas
  • 26. NIVEL 1 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA EJEMPLO DEL TRIÁNGULO Triangulo Punto punto1 punto2 x punto3 ycolorLineas colorRelleno Color rojo verde azul
  • 27. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO DEL SIMULADOR BANCARIORequerimientos funcionales del ejemplo: R1 - Consignar en la cuenta corriente R2 - Consignar en la cuenta de ahorros R3 - Invertir en un CDT R4 - Calcular el saldo total de un cliente del banco R5 - Avanzar la fecha de la simulación en un mes R6 - Retirar de la cuenta de ahorros R7 - Retirar de la cuenta corriente R8 - Cerrar el CDT y pasar a la cuenta corriente R9 - Dar el saldo de la cuenta corriente R10 - Dar el saldo de la cuenta de ahorros
  • 28. NIVEL 1 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA EJEMPLO DEL SIMULADOR BANCARIO CuentaBancaria CuentaCorriente corriente cedula saldo nombre ahorros CuentaAhorros saldo interesMensualmesActual inversion CDT Mes mesApertura valorInvertido mes interesMensual
  • 29. NIVEL 1ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS NO FUNCIONALESRestricciones definidas por el cliente.En este curso sólo se tendrán en cuenta requerimientos no funcionalesrelacionados con la interacción del usuario y la visualización de lainformación.
  • 30. NIVEL 1ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 31. NIVEL 1SOLUCIÓN A UN PROBLEMA
  • 32. NIVEL 1SOLUCIÓN A UN PROBLEMA
  • 33. NIVEL 1ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 34. NIVEL 1 DISEÑO DE LA SOLUCIÓNInterfaz de usuarioArquitectura de la soluciónDiseño de las clases
  • 35. NIVEL 1DISEÑO DE LA SOLUCIÓN – INTERFAZ DE USUARIO
  • 36. NIVEL 1DISEÑO DE LA SOLUCIÓN – INTERFAZ DE USUARIO (2)
  • 37. NIVEL 1 DISEÑO DE LA SOLUCIÓN – ARQUITECTURA DE LA SOLUCIÓN Desde el nivel 1 hasta el nivel 4 NO deben modificar las clases de este paquete. Todo el trabajo de los niveles 1 al 4 se desarrolla en las clases que se encuentran en este paquetePara verificar que los ejercicios desde el nivel 1 hasta el 4 están bien, deben utilizar las clases de este paquete. NO deben modificar las clases de este paquete durante TODO el curso.
  • 38. NIVEL 1ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 39. NIVEL 1ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 40. NIVEL 1CONSTRUCCIÓN DE LA SOLUCIÓN – TIPOS DE ARCHIVOS
  • 41. NIVEL 1CONSTRUCCIÓN DE LA SOLUCIÓN – ORGANIZACIÓN DE LOS ELEMENTOS DE TRABAJO
  • 42. NIVEL 1CONSTRUCCIÓN DE LA SOLUCIÓN – ORGANIZACIÓN DE LOS ELEMENTOS DE TRABAJO
  • 43. NIVEL 1ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA (4)
  • 44. NIVEL 1 Laboratorio 1 N1_T1 - Uso básico de Eclipse.pdfhttp://cupi2.uniandes.edu.co/sitio/images/cursosCupi2/apo1/talleres/n1lab_20 061_MarcelaHernandez.pdf
  • 45. NIVEL 1PREGUNTAS
  • 46. NIVEL 1 ALGORITMO E INSTRUCCIONES Algoritmo: Conjunto ordenado de pasos o instrucciones que deben serrealizados con el fin de solucionar un problema o requerimiento funcional. Instrucción: Conjunto de expresiones y operadores aritméticos que hacenparte de uno de los pasos ejecutados durante un algoritmo. Algoritmo para ir a la universidad • Instrucción 1: Levantarse • Instrucción 2: Cepillarse • Instrucción 3: Bañarse • Instrucción 4: Vestirse • Instrucción 5: Desayunar • Instrucción 6: Recoger el bolso o maletín • Instrucción 7: Despedirse de la familia • Instrucción 8: Salir y tomar el bus, ó sacar e ir en el carro • Instrucción 9: Llegar a la universidad
  • 47. NIVEL 1 TIPOS DE DATOS Tipos de datos: Cada atributo de una clase debe tener el tipo de datoasociado, entre los que se encuentran los valores enteros (int), los reales(double) y las cadenas de caracteres (String). Estudiante Empleado String nombre String nombre String apellido String apellido int sexo int sexo double promedio int salario
  • 48. NIVEL 1ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA EL EMPLEADO Empleado fechaNacimiento Fechanombre diaapellido fechaIngreso messexo aniosalario
  • 49. NIVEL 1 DISEÑO DEL PROBLEMA – DIAGRAMA DE CLASES EL EMPLEADO Empleado fechaNacimiento FechaString nombre int diaString apellido fechaIngreso int mesint sexo int anioint salario
  • 50. NIVEL 1 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA EJEMPLO DEL TRIÁNGULO Triangulo Punto punto1 punto2 x punto3 ycolorLineas colorRelleno Color rojo verde azul
  • 51. NIVEL 1 DISEÑO DEL PROBLEMA – DIAGRAMA DE CLASES EL TRIÁNGULO Triangulo Punto punto1 punto2 double x punto3 double ycolorLineas colorRelleno Color int rojo int verde int azul
  • 52. NIVEL 1 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA SIMULADOR BANCARIO CuentaBancaria CuentaCorriente corriente cedula saldo nombre ahorros CuentaAhorros saldo interesMensualmesActual inversion CDT Mes mesApertura valorInvertido mes interesMensual
  • 53. NIVEL 1 DISEÑO DEL PROBLEMA – DIAGRAMA DE CLASES SIMULADOR BANCARIO Cuenta Bancaria CuentaCorriente corriente String cedula int saldo String nombre ahorros CuentaAhorros int saldo double interesMensualmesActual inversion CDT Mes mesApertura int valorInvertido int mes double interesMensual
  • 54. NIVEL 1 CLASES Y OBJETOS Clase: Identifica una entidad general dentro del modelo mundo que tieneasociado un conjunto de atributos y métodos. Objeto: Identifica una instancia específica de una clase que tiene valoresespecíficos para cada uno de los atributos de la clase. Instanciar o crear 1 Clase 1 o más objetos :Estudiante nombre = “Ricardo Jorge” Estudiante apellido = “Torres” sexo = MasculinoString nombre promedio = 4.14 :EstudianteString apellido nombre = “Pepito”int sexo :Estudiante apellido = “Pérez” sexo = Masculinodouble promedio nombre = “María” promedio = 3.12 apellido = “González” sexo = Femenino promedio = 4.82
  • 55. NIVEL 1 DECLARACIÓN DE UNA CLASE Declaración de una clase:Cada clase de declara en un archivo .java. Ejemplo: Empleado.javapackage uniandes.cupi2.empleado.mundo;/** * Esta clase representa un empleado */public class Empleado{ //------------------------------------------------ // Atributos //------------------------------------------------ . . . //------------------------------------------------ // Métodos //------------------------------------------------ . . .}
  • 56. NIVEL 1 DECLARACIÓN DE LOS ATRIBUTOS Y COMENTARIOS Declaración de un atributo:Todos los atributos son privados y se definen con la forma:private TipoAtributo nombreAtributo;public class Empleado{ //------------------------------------------------ // Atributos //------------------------------------------------ /** * Nombre */ private String nombre; . . .}
  • 57. NIVEL 1 EJERCICIOS EN CLASECASO DE ESTUDIO: EMPLEADO
  • 58. NIVEL 1 EJERCICIOS EN CLASE CASO DE ESTUDIO: EMPLEADO Empleado fechaNacimiento FechaString nombre int diaString apellido fechaIngreso int mesint sexo int anioint salario
  • 59. NIVEL 1 EJERCICIOS EN CLASE CASO DE ESTUDIO: EMPLEADO :Empleado :Fecha fechaNacimiento dia = 1nombre = “Andres”apellido = “Rodriguez” mes = 1sexo = Masculino anio = 1970salario = 1000000 fechaIngreso :Fecha dia = 12 mes = 12 anio = 1999prestaciones = (antiguedad * salario)/12
  • 60. NIVEL 1 MÉTODOS Método: Especifica el comportamiento o un algoritmo que debe serejecutado por los objetos de una clase. Una clase puede tener tantos métodoscomo sean necesarios.En el nivel 1 deberán completar el cuerpo de los métodos ya definidos(métodos con TODO). No deberán crear nuevos métodos en ningún caso. Definición de un método en la clase Empleado e instrucción de retorno /** * Retorna el nombre del empleado * @return nombre */ public String darNombre( ) { return nombre; }
  • 61. NIVEL 1 MÉTODOS – EL EMPLEADODefinición de un método en la clase Empleado e instrucción de retorno/** * Retorna el salario del empleado * @return salario */ public int darSalario( ) { return salario; }/** * Cambia el salario del empleado. <br> * <b>post: </b> salario = pSalario. * @param pSalario El nuevo salario del empleado. */ public void cambiarSalario( int pSalario ) { salario = pSalario; }
  • 62. NIVEL 1 MÉTODOS - EL EMPLEADOCompletar los siguientes métodos/** * Retorna el sexo del empleado * @return sexo */ public int darSexo ( ) { ____________________________ }/** * Duplica el salario del empleado. <br> * <b>post: </b> salario = salario*2. */ public void duplicarSalario( ) { ____________________________ }
  • 63. NIVEL 1 MÉTODOS - EL EMPLEADO Completar los siguientes métodos/** * Cambia la fecha de ingreso del empleado. <br> * <b>post: </b> fechaIngreso = pFechaIngreso. * @param pFechaIngreso La nueva fecha de ingreso del empleado. * pFechaIngreso != null. */ public void cambiarFechaIngreso( Fecha pFechaIngreso ) { ____________________________ }/** * Retorna la fecha de nacimiento del empleado * @return fachaNacimiento */ public Fecha darFechaNacimiento ( ) { ____________________________ }
  • 64. NIVEL 1 OPERADORES ARITMÉTICOS + (suma) - (resta) * (multiplicación) / (división) ( ) (paréntesis)Nota: Es importante colocar paréntesis para evitar ambigüedad en lasexpresiones.Orden de evaluación Primero se aplican los paréntesis. Luego se aplican los operadores de multiplicación y división, deizquierda a derecha. Después se aplican los operadores de suma y resta, de izquierda aderecha.
  • 65. NIVEL 1 MÉTODOS - EL EMPLEADOCompletar los siguientes métodos/** * Retorna el porcentaje del salario para aportes a salud con <br> * base en el porcentaje recibido como parámetro <br> * @param pSalud El porcentaje de aportes a salud. * @return valorAporteSalud */ public double darValorAporteSalud (int pSalud ) { ____________________________ }/** * Incrementa el salario del empleado en el porcentaje recibido como <br> * parámetro. <br> * @param pIncremento El porcentaje de incremento del salario. * <b>post: </b> salario = salario + salario * pIncremento / 100. */ public void incrementarSalario(int pIncremento ) { ____________________________ }
  • 66. NIVEL 1PREGUNTAS
  • 67. NIVEL 1 Laboratorio 2 N1_T2: Inicio en Javahttp://cupi2.uniandes.edu.co/sitio/images/cursosCupi2/apo1/talleres/n1lab_20 061_APO1-GUIA-N1-L2.doc
  • 68. NIVEL 1 EJERCICIOS EN CLASECASO DE ESTUDIO: SIMULADOR BANCARIO
  • 69. NIVEL 1 EJERCICIOS EN CLASE CASO DE ESTUDIO: SIMULADOR BANCARIO CuentaBancaria CuentaCorriente corrienteString cedula int saldoString nombre ahorros CuentaAhorros int saldo double interesMensualmesActual inversion CDT Mes mesApertura int valorInvertido int mes double interesMensual
  • 70. NIVEL 1 EJERCICIOS EN CLASE CASO DE ESTUDIO: SIMULADOR BANCARIO corriente : CuentaCorriente : CuentaBancaria saldo = 1000000 cedula = “13456789” nombre = “Juan Pérez” ahorros : CuentaAhorrosmesActual saldo = 1000000 interesMensual = 10 : Mes mes = 1 inversion : CDT : Mes mesApertura valorInvertido = 500000 mes = 1 interesMensual = 10
  • 71. NIVEL 1 MÉTODOS – SIMULADOR BANCARIOInstrucción de llamada a un métodoLlamada de métodos con parámetros Realizar los 10 ejercicios del nivel 1 SIMULADOR BANCARIO
  • 72. NIVEL 1 RECOMENDACIONES SOBRE EL EJERCICIODiligenciar los requerimientos funcionales.Documentar los atributos o métodos que se requieran.Revisar todos los TODO.No borrar los TODO.
  • 73. NIVEL 1PREGUNTAS