SlideShare una empresa de Scribd logo
1 de 78
Descargar para leer sin conexión
NIVEL 1

BIENVENIDOS A ALGORÍTMICA Y PROGRAMACIÓN 1 (APO 1)




                     Mario José Villamizar Cano
                   mj.villamizar24@uniandes.edu.co
                             Oficina ML-637
http://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
NIVEL 1

             REDES SOCIALES




           mjvc007@hotmail.com




        http://twitter.com/mariocloud




http://linkedin.com/in/mariojosevillamizarcano
NIVEL 1

            INTRODUCCIÓN Y REGLAS DE JUEGO
Entrega del programa

Presentación del curso

Organización del curso (cronogramas)

Metodología

Reglas de juego

Medios de comunicación profesor-estudiante

Libro del curso

Monitores

Esquema de evaluación
NIVEL 1

PLAN DE TEMAS
NIVEL 1

ESQUEMA DE EVALUACIÓN
NIVEL 1

      NIVEL 1 – PROBLEMAS, SOLUCIONES Y PROGRAMAS

   Proceso global de solución de un problema usando un programa de
computador


   Analizar un problema simple que se va a resolver usando un
programa 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 de
trabajo predefinido
NIVEL 1

                    CASOS DE ESTUDIO
Caso de estudio 1: El Empleado
NIVEL 1

                   CASOS DE ESTUDIO
Caso de estudio 2: Simulador Bancario
NIVEL 1

                     CASOS DE ESTUDIO
Caso de estudio 3: El triángulo
NIVEL 1

                     HOJAS DE TRABAJO
Hoja de trabajo 1: La alcancía
NIVEL 1

                    HOJAS DE TRABAJO
Hoja de trabajo 2: La encuesta
NIVEL 1

PROCESO PARA SOLUCIONAR UN PROBLEMA
NIVEL 1

ETAPAS DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
NIVEL 1

                  ANÁLISIS DEL PROBLEMA
Entender el problema del cliente y qué es lo que se quiere hacer.




La salida de esta etapa se denomina especificación del problema.
NIVEL 1

  ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES


Requerimiento funcional: Operación o servicio que el programa que se
va 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)
NIVEL 1

ANÁLISIS DEL PROBLEMA – EL PROBLEMA
            EL EMPLEADO
NIVEL 1

ANÁLISIS DEL PROBLEMA – EL PROBLEMA
        SIMULADOR BANCARIO
NIVEL 1

ANÁLISIS DEL PROBLEMA – EL PROBLEMA
            EL TRIÁNGULO
NIVEL 1

  ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES
                 EJEMPLO DEL EMPLEADO

Requerimientos 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
NIVEL 1

ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES
                    EJEMPLO 1
NIVEL 1

ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES
                    EJEMPLO 2
NIVEL 1

ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES
                    EJEMPLO 3
NIVEL 1

       ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA


Entendimiento detallado del mundo en el que ocurre el problema y
definició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 entidades


El modelo del mundo será expresado utilizando el lenguaje UML (Unified
Modeling Languaje)
NIVEL 1

ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA
           EJEMPLO DEL EMPLEADO




     Empleado        fechaNacimiento      Fecha
nombre                                 dia
apellido                fechaIngreso
                                       mes
sexo                                   anio
salario
NIVEL 1

  ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES
                 EJEMPLO DEL TRIÁNGULO

Requerimientos 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
NIVEL 1

     ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA
                EJEMPLO DEL TRIÁNGULO

          Triangulo                               Punto
                                     punto1
                                     punto2   x
                                     punto3   y




colorLineas           colorRelleno

              Color
        rojo
        verde
        azul
NIVEL 1

  ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES
            EJEMPLO DEL SIMULADOR BANCARIO

Requerimientos 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
NIVEL 1

 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA
       EJEMPLO DEL SIMULADOR BANCARIO

   CuentaBancaria                              CuentaCorriente
                                  corriente
 cedula                                        saldo
 nombre

                                    ahorros     CuentaAhorros
                                               saldo
                                               interesMensual
mesActual                          inversion
                                                       CDT
          Mes
                    mesApertura                valorInvertido
    mes                                        interesMensual
NIVEL 1

ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS NO FUNCIONALES



Restricciones definidas por el cliente.

En este curso sólo se tendrán en cuenta requerimientos no funcionales
relacionados con la interacción del usuario y la visualización de la
información.
NIVEL 1

ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN
             A UN PROBLEMA
NIVEL 1

SOLUCIÓN A UN PROBLEMA
NIVEL 1

SOLUCIÓN A UN PROBLEMA
NIVEL 1

ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN
             A UN PROBLEMA
NIVEL 1

               DISEÑO DE LA SOLUCIÓN




Interfaz de usuario


Arquitectura de la solución


Diseño de las clases
NIVEL 1

DISEÑO DE LA SOLUCIÓN – INTERFAZ DE USUARIO
NIVEL 1

DISEÑO DE LA SOLUCIÓN – INTERFAZ DE USUARIO (2)
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 paquete
Para 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.
NIVEL 1

ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN
             A UN PROBLEMA
NIVEL 1

ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN
             A UN PROBLEMA
NIVEL 1

CONSTRUCCIÓN DE LA SOLUCIÓN – TIPOS DE ARCHIVOS
NIVEL 1

CONSTRUCCIÓN DE LA SOLUCIÓN – ORGANIZACIÓN DE LOS
             ELEMENTOS DE TRABAJO
NIVEL 1

CONSTRUCCIÓN DE LA SOLUCIÓN – ORGANIZACIÓN DE LOS
             ELEMENTOS DE TRABAJO
NIVEL 1

ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN
            A UN PROBLEMA (4)
NIVEL 1




            Laboratorio 1

  N1_T1 - Uso básico de Eclipse.pdf

http://cupi2.uniandes.edu.co/sitio/imag
es/cursosCupi2/apo1/talleres/n1lab_20
       061_MarcelaHernandez.pdf
NIVEL 1



PREGUNTAS
NIVEL 1

                       ALGORITMO E INSTRUCCIONES
     Algoritmo: Conjunto ordenado de pasos o instrucciones que deben ser
realizados con el fin de solucionar un problema o requerimiento funcional.

    Instrucción: Conjunto de expresiones y operadores aritméticos que hacen
parte 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
NIVEL 1

                            TIPOS DE DATOS

    Tipos de datos: Cada atributo de una clase debe tener el tipo de dato
asociado, 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
NIVEL 1

ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA
                EL EMPLEADO




     Empleado        fechaNacimiento      Fecha
nombre                                 dia
apellido                fechaIngreso
                                       mes
sexo                                   anio
salario
NIVEL 1

  DISEÑO DEL PROBLEMA – DIAGRAMA DE CLASES
                EL EMPLEADO




     Empleado         fechaNacimiento      Fecha
String nombre                           int dia
String apellido          fechaIngreso
                                        int mes
int sexo                                int anio
int salario
NIVEL 1

     ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA
                EJEMPLO DEL TRIÁNGULO

          Triangulo                               Punto
                                     punto1
                                     punto2   x
                                     punto3   y




colorLineas           colorRelleno

              Color
        rojo
        verde
        azul
NIVEL 1

       DISEÑO DEL PROBLEMA – DIAGRAMA DE CLASES
                     EL TRIÁNGULO

          Triangulo                              Punto
                                     punto1
                                     punto2   double x
                                     punto3   double y




colorLineas           colorRelleno

              Color
        int rojo
        int verde
        int azul
NIVEL 1

 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA
              SIMULADOR BANCARIO

   CuentaBancaria                              CuentaCorriente
                                  corriente
 cedula                                        saldo
 nombre

                                    ahorros     CuentaAhorros
                                               saldo
                                               interesMensual
mesActual                          inversion
                                                       CDT
          Mes
                    mesApertura                valorInvertido
    mes                                        interesMensual
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 interesMensual
mesActual                           inversion
                                                            CDT
        Mes
                     mesApertura                int valorInvertido
    int mes                                     double interesMensual
NIVEL 1

                          CLASES Y OBJETOS
   Clase: Identifica una entidad general dentro del modelo mundo que tiene
asociado un conjunto de atributos y métodos.

   Objeto: Identifica una instancia específica de una clase que tiene valores
especí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 = Masculino
String nombre              promedio = 4.14                      :Estudiante
String apellido                                           nombre = “Pepito”
int sexo                         :Estudiante              apellido = “Pérez”
                                                          sexo = Masculino
double promedio            nombre = “María”               promedio = 3.12
                           apellido = “González”
                           sexo = Femenino
                           promedio = 4.82
NIVEL 1

                  DECLARACIÓN DE UNA CLASE
   Declaración de una clase:

Cada clase de declara en un archivo .java. Ejemplo: Empleado.java

package uniandes.cupi2.empleado.mundo;

/**
  * Esta clase representa un empleado
  */
public class Empleado
{
     //------------------------------------------------
     // Atributos
     //------------------------------------------------
     . . .
     //------------------------------------------------
     // Métodos
     //------------------------------------------------
     . . .
}
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;

    . . .
}
NIVEL 1

   EJERCICIOS EN CLASE
CASO DE ESTUDIO: EMPLEADO
NIVEL 1

                 EJERCICIOS EN CLASE
              CASO DE ESTUDIO: EMPLEADO




     Empleado             fechaNacimiento      Fecha
String nombre                               int dia
String apellido              fechaIngreso
                                            int mes
int sexo                                    int anio
int salario
NIVEL 1

                   EJERCICIOS EN CLASE
                CASO DE ESTUDIO: EMPLEADO


      :Empleado                                               :Fecha
                                     fechaNacimiento      dia = 1
nombre = “Andres”
apellido = “Rodriguez”                                    mes = 1
sexo = Masculino                                          anio = 1970
salario = 1000000

                                           fechaIngreso
                                                              :Fecha
                                                          dia = 12
                                                          mes = 12
                                                          anio = 1999
prestaciones = (antiguedad * salario)/12
NIVEL 1

                                MÉTODOS
    Método: Especifica el comportamiento o un algoritmo que debe ser
ejecutado por los objetos de una clase. Una clase puede tener tantos métodos
como 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;
    }
NIVEL 1

                    MÉTODOS – EL EMPLEADO
Definició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;
 }
NIVEL 1

                 MÉTODOS - EL EMPLEADO
Completar 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( )
 {
      ____________________________
 }
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 ( )
 {
      ____________________________
 }
NIVEL 1

                     OPERADORES ARITMÉTICOS

    + (suma)
    - (resta)
    * (multiplicación)
    / (división)
    ( ) (paréntesis)

Nota: Es importante colocar paréntesis para evitar ambigüedad en las
expresiones.

Orden de evaluación

    Primero se aplican los paréntesis.
    Luego se aplican los operadores de multiplicación y división, de
izquierda a derecha.
    Después se aplican los operadores de suma y resta, de izquierda a
derecha.
NIVEL 1

                    MÉTODOS - EL EMPLEADO
Completar 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 )
 {
     ____________________________
 }
NIVEL 1



PREGUNTAS
NIVEL 1




            Laboratorio 2

        N1_T2: Inicio en Java

http://cupi2.uniandes.edu.co/sitio/imag
es/cursosCupi2/apo1/talleres/n1lab_20
       061_APO1-GUIA-N1-L2.doc
NIVEL 1

        EJERCICIOS EN CLASE
CASO DE ESTUDIO: SIMULADOR BANCARIO
NIVEL 1

                     EJERCICIOS EN CLASE
             CASO DE ESTUDIO: SIMULADOR BANCARIO

  CuentaBancaria                                  CuentaCorriente
                                 corriente
String cedula                                 int saldo
String nombre

                                   ahorros        CuentaAhorros
                                              int saldo
                                              double interesMensual
mesActual                         inversion
                                                          CDT
       Mes
                   mesApertura                int valorInvertido
   int mes                                    double interesMensual
NIVEL 1

                       EJERCICIOS EN CLASE
               CASO DE ESTUDIO: SIMULADOR BANCARIO


                                   corriente        : CuentaCorriente
     : CuentaBancaria
                                               saldo = 1000000
  cedula = “13456789”
  nombre = “Juan Pérez”
                                     ahorros         : CuentaAhorros
mesActual                                         saldo = 1000000
                                                  interesMensual = 10
        : Mes
     mes = 1                          inversion

                                                           : CDT
        : Mes        mesApertura
                                                  valorInvertido = 500000
      mes = 1                                     interesMensual = 10
NIVEL 1

           MÉTODOS – SIMULADOR BANCARIO

Instrucción de llamada a un método


Llamada de métodos con parámetros




  Realizar los 10 ejercicios del nivel 1
       SIMULADOR BANCARIO
NIVEL 1

         RECOMENDACIONES SOBRE EL EJERCICIO



Diligenciar los requerimientos funcionales.



Documentar los atributos o métodos que se requieran.



Revisar todos los TODO.



No borrar los TODO.
NIVEL 1



PREGUNTAS
APO1 - Presentacion nivel 1
APO1 - Presentacion nivel 1
APO1 - Presentacion nivel 1
APO1 - Presentacion nivel 1
APO1 - Presentacion nivel 1

Más contenido relacionado

La actualidad más candente

Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
pierrepo
 
Ascenso a la Colina
Ascenso a la ColinaAscenso a la Colina
Ascenso a la Colina
Tutor4uDev
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Sergio Sanchez
 

La actualidad más candente (20)

Números primos en java
Números primos en javaNúmeros primos en java
Números primos en java
 
Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18
 
Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estados
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Cours+sql++ +base+de+données+-+bac+informatique+(2009-2010)++elève++khmiri+zied
Cours+sql++ +base+de+données+-+bac+informatique+(2009-2010)++elève++khmiri+ziedCours+sql++ +base+de+données+-+bac+informatique+(2009-2010)++elève++khmiri+zied
Cours+sql++ +base+de+données+-+bac+informatique+(2009-2010)++elève++khmiri+zied
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Orientacion A Objetos Para Dummies
Orientacion A Objetos Para DummiesOrientacion A Objetos Para Dummies
Orientacion A Objetos Para Dummies
 
Poo 1
Poo 1Poo 1
Poo 1
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Ascenso a la Colina
Ascenso a la ColinaAscenso a la Colina
Ascenso a la Colina
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
POO Programación Orientada a Objetos
POO Programación Orientada a ObjetosPOO Programación Orientada a Objetos
POO Programación Orientada a Objetos
 
RED NEURONAL Backpropagation
RED NEURONAL BackpropagationRED NEURONAL Backpropagation
RED NEURONAL Backpropagation
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
java Código para calculo de salario de un empleado
java Código  para calculo de salario de un empleadojava Código  para calculo de salario de un empleado
java Código para calculo de salario de un empleado
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
Practica de requerimientos
Practica de requerimientosPractica de requerimientos
Practica de requerimientos
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 
Búsqueda IA
Búsqueda IABúsqueda IA
Búsqueda IA
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swing
 

Destacado

Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
still01
 

Destacado (20)

APO1 - Presentacion nivel 2
APO1 - Presentacion nivel 2APO1 - Presentacion nivel 2
APO1 - Presentacion nivel 2
 
APO1 - Presentacion nivel 6
APO1 - Presentacion nivel 6APO1 - Presentacion nivel 6
APO1 - Presentacion nivel 6
 
APO1 - Presentacion nivel 3
APO1 - Presentacion nivel 3APO1 - Presentacion nivel 3
APO1 - Presentacion nivel 3
 
APO1 - Presentacion nivel 4
APO1 - Presentacion nivel 4APO1 - Presentacion nivel 4
APO1 - Presentacion nivel 4
 
APO2 - Presentacion nivel 8
APO2 - Presentacion nivel 8APO2 - Presentacion nivel 8
APO2 - Presentacion nivel 8
 
APO2 - Presentacion nivel 10
APO2 - Presentacion nivel 10APO2 - Presentacion nivel 10
APO2 - Presentacion nivel 10
 
APO2 - Presentacion nivel 9
APO2 - Presentacion nivel 9APO2 - Presentacion nivel 9
APO2 - Presentacion nivel 9
 
Emprendimiento en internet y startups 2017
Emprendimiento en internet y startups 2017Emprendimiento en internet y startups 2017
Emprendimiento en internet y startups 2017
 
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
 
Admon requerimientos
Admon requerimientosAdmon requerimientos
Admon requerimientos
 
De diagrama de clase a Codigo Java
De diagrama de clase a Codigo JavaDe diagrama de clase a Codigo Java
De diagrama de clase a Codigo Java
 
Plan de gestión de requerimientos
Plan de gestión de requerimientos Plan de gestión de requerimientos
Plan de gestión de requerimientos
 
Metodología gestión de requerimientos
Metodología gestión de requerimientosMetodología gestión de requerimientos
Metodología gestión de requerimientos
 
Proyecto triqui
Proyecto triquiProyecto triqui
Proyecto triqui
 
Viejo gus
Viejo gusViejo gus
Viejo gus
 
Persistencia jpa
Persistencia jpaPersistencia jpa
Persistencia jpa
 
Sopa de letras
Sopa de letrasSopa de letras
Sopa de letras
 
Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2
 
Gestión requerimientos
Gestión requerimientosGestión requerimientos
Gestión requerimientos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 

Similar a APO1 - Presentacion nivel 1

Ciclo del proyecto_tres
Ciclo del proyecto_tresCiclo del proyecto_tres
Ciclo del proyecto_tres
anduman
 
Ciclo del proyecto_tres
Ciclo del proyecto_tresCiclo del proyecto_tres
Ciclo del proyecto_tres
anduman
 
Act 2 luis schmalbach estru-datos
Act 2 luis schmalbach estru-datosAct 2 luis schmalbach estru-datos
Act 2 luis schmalbach estru-datos
louis schmalbach
 
12 feb 2013 investigación (1)
12 feb 2013 investigación (1)12 feb 2013 investigación (1)
12 feb 2013 investigación (1)
heideryxiomara
 
SIG con MIPE aplicado a la Floreria Genoveva
SIG con MIPE aplicado a la Floreria GenovevaSIG con MIPE aplicado a la Floreria Genoveva
SIG con MIPE aplicado a la Floreria Genoveva
Carlos Chavez Monzón
 
Programa Analitico_41d7d282ce8eed666ac399e6cda646a1.pdf
Programa Analitico_41d7d282ce8eed666ac399e6cda646a1.pdfPrograma Analitico_41d7d282ce8eed666ac399e6cda646a1.pdf
Programa Analitico_41d7d282ce8eed666ac399e6cda646a1.pdf
SarahCorderoElias
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferencia
jzgeorge
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferencia
jzgeorge
 

Similar a APO1 - Presentacion nivel 1 (20)

Ciclo del proyecto_tres
Ciclo del proyecto_tresCiclo del proyecto_tres
Ciclo del proyecto_tres
 
Ciclo del proyecto_tres
Ciclo del proyecto_tresCiclo del proyecto_tres
Ciclo del proyecto_tres
 
Modelo Solucion Problemas Gestion Proyectos
Modelo Solucion Problemas Gestion ProyectosModelo Solucion Problemas Gestion Proyectos
Modelo Solucion Problemas Gestion Proyectos
 
Clase 02 ciclo de vida
Clase 02 ciclo de vidaClase 02 ciclo de vida
Clase 02 ciclo de vida
 
Slideshare #01
Slideshare #01Slideshare #01
Slideshare #01
 
Act 2 luis schmalbach estru-datos
Act 2 luis schmalbach estru-datosAct 2 luis schmalbach estru-datos
Act 2 luis schmalbach estru-datos
 
Actividad 1 (7)
Actividad  1 (7)Actividad  1 (7)
Actividad 1 (7)
 
CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1
 
12 feb 2013 investigación (1)
12 feb 2013 investigación (1)12 feb 2013 investigación (1)
12 feb 2013 investigación (1)
 
SIG con MIPE aplicado a la Floreria Genoveva
SIG con MIPE aplicado a la Floreria GenovevaSIG con MIPE aplicado a la Floreria Genoveva
SIG con MIPE aplicado a la Floreria Genoveva
 
Programa Analitico_41d7d282ce8eed666ac399e6cda646a1.pdf
Programa Analitico_41d7d282ce8eed666ac399e6cda646a1.pdfPrograma Analitico_41d7d282ce8eed666ac399e6cda646a1.pdf
Programa Analitico_41d7d282ce8eed666ac399e6cda646a1.pdf
 
34
3434
34
 
Semana 1
Semana 1Semana 1
Semana 1
 
Capacitación conceptos de dibujo técnico Cdt s4
Capacitación conceptos de dibujo técnico Cdt s4Capacitación conceptos de dibujo técnico Cdt s4
Capacitación conceptos de dibujo técnico Cdt s4
 
01 el proceso_unificado
01 el proceso_unificado01 el proceso_unificado
01 el proceso_unificado
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferencia
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferencia
 
Marcologico taller
Marcologico tallerMarcologico taller
Marcologico taller
 
Amef otro
Amef otroAmef otro
Amef otro
 
Guia programacion i primer semestre 2011 unipamplona
Guia programacion i primer semestre 2011 unipamplonaGuia programacion i primer semestre 2011 unipamplona
Guia programacion i primer semestre 2011 unipamplona
 

Más de Mario Jose Villamizar Cano

Más de Mario Jose Villamizar Cano (15)

Frameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsFrameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
 
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
 
An Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipAn Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and Entrepreneurship
 
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureEnergy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
 
Emprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsEmprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet Startups
 
e-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computinge-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computing
 
Cloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresCloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedores
 
CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.
 
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceUnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
 
Bio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionBio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow execution
 
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
 
An Opportunistic Storage System for UnaGrid
An Opportunistic Storage System for UnaGridAn Opportunistic Storage System for UnaGrid
An Opportunistic Storage System for UnaGrid
 
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
 
Una grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaUna grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombia
 
Infraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridInfraestructura computacional: Computación en grid
Infraestructura computacional: Computación en grid
 

Último

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 

Último (20)

PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 

APO1 - Presentacion nivel 1

  • 1. NIVEL 1 BIENVENIDOS A ALGORÍTMICA Y PROGRAMACIÓN 1 (APO 1) Mario José Villamizar Cano mj.villamizar24@uniandes.edu.co Oficina ML-637 http://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/mariocloud http://linkedin.com/in/mariojosevillamizarcano
  • 3. NIVEL 1 INTRODUCCIÓN Y REGLAS DE JUEGO Entrega del programa Presentación del curso Organización del curso (cronogramas) Metodología Reglas de juego Medios de comunicación profesor-estudiante Libro del curso Monitores Esquema de evaluación
  • 5. NIVEL 1 ESQUEMA DE EVALUACIÓN
  • 6. NIVEL 1 NIVEL 1 – PROBLEMAS, SOLUCIONES Y PROGRAMAS Proceso global de solución de un problema usando un programa de computador Analizar un problema simple que se va a resolver usando un programa 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 de trabajo predefinido
  • 7. NIVEL 1 CASOS DE ESTUDIO Caso de estudio 1: El Empleado
  • 8. NIVEL 1 CASOS DE ESTUDIO Caso de estudio 2: Simulador Bancario
  • 9. NIVEL 1 CASOS DE ESTUDIO Caso de estudio 3: El triángulo
  • 10. NIVEL 1 HOJAS DE TRABAJO Hoja de trabajo 1: La alcancía
  • 11. NIVEL 1 HOJAS DE TRABAJO Hoja de trabajo 2: La encuesta
  • 12. NIVEL 1 PROCESO PARA SOLUCIONAR UN PROBLEMA
  • 13. NIVEL 1 ETAPAS DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 14. NIVEL 1 ANÁLISIS DEL PROBLEMA Entender 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 FUNCIONALES Requerimiento funcional: Operación o servicio que el programa que se va 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 1 ANÁLISIS DEL PROBLEMA – EL PROBLEMA EL EMPLEADO
  • 17. NIVEL 1 ANÁLISIS DEL PROBLEMA – EL PROBLEMA SIMULADOR BANCARIO
  • 18. NIVEL 1 ANÁLISIS DEL PROBLEMA – EL PROBLEMA EL TRIÁNGULO
  • 19. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO DEL EMPLEADO Requerimientos 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 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO 1
  • 21. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO 2
  • 22. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO 3
  • 23. NIVEL 1 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA Entendimiento detallado del mundo en el que ocurre el problema y definició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 entidades El modelo del mundo será expresado utilizando el lenguaje UML (Unified Modeling Languaje)
  • 24. NIVEL 1 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA EJEMPLO DEL EMPLEADO Empleado fechaNacimiento Fecha nombre dia apellido fechaIngreso mes sexo anio salario
  • 25. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO DEL TRIÁNGULO Requerimientos 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 y colorLineas colorRelleno Color rojo verde azul
  • 27. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS FUNCIONALES EJEMPLO DEL SIMULADOR BANCARIO Requerimientos 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 interesMensual mesActual inversion CDT Mes mesApertura valorInvertido mes interesMensual
  • 29. NIVEL 1 ANÁLISIS DEL PROBLEMA – REQUERIMIENTOS NO FUNCIONALES Restricciones definidas por el cliente. En este curso sólo se tendrán en cuenta requerimientos no funcionales relacionados con la interacción del usuario y la visualización de la información.
  • 30. NIVEL 1 ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 31. NIVEL 1 SOLUCIÓN A UN PROBLEMA
  • 32. NIVEL 1 SOLUCIÓN A UN PROBLEMA
  • 33. NIVEL 1 ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 34. NIVEL 1 DISEÑO DE LA SOLUCIÓN Interfaz de usuario Arquitectura de la solución Diseño de las clases
  • 35. NIVEL 1 DISEÑO DE LA SOLUCIÓN – INTERFAZ DE USUARIO
  • 36. NIVEL 1 DISEÑ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 paquete Para 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 1 ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 39. NIVEL 1 ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA
  • 40. NIVEL 1 CONSTRUCCIÓN DE LA SOLUCIÓN – TIPOS DE ARCHIVOS
  • 41. NIVEL 1 CONSTRUCCIÓN DE LA SOLUCIÓN – ORGANIZACIÓN DE LOS ELEMENTOS DE TRABAJO
  • 42. NIVEL 1 CONSTRUCCIÓN DE LA SOLUCIÓN – ORGANIZACIÓN DE LOS ELEMENTOS DE TRABAJO
  • 43. NIVEL 1 ETAPAS GENERALES DEL PROCESO DE SOLUCIÓN A UN PROBLEMA (4)
  • 44. NIVEL 1 Laboratorio 1 N1_T1 - Uso básico de Eclipse.pdf http://cupi2.uniandes.edu.co/sitio/imag es/cursosCupi2/apo1/talleres/n1lab_20 061_MarcelaHernandez.pdf
  • 46. NIVEL 1 ALGORITMO E INSTRUCCIONES Algoritmo: Conjunto ordenado de pasos o instrucciones que deben ser realizados con el fin de solucionar un problema o requerimiento funcional. Instrucción: Conjunto de expresiones y operadores aritméticos que hacen parte 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 dato asociado, 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 1 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA EL EMPLEADO Empleado fechaNacimiento Fecha nombre dia apellido fechaIngreso mes sexo anio salario
  • 49. NIVEL 1 DISEÑO DEL PROBLEMA – DIAGRAMA DE CLASES EL EMPLEADO Empleado fechaNacimiento Fecha String nombre int dia String apellido fechaIngreso int mes int sexo int anio int salario
  • 50. NIVEL 1 ANÁLISIS DEL PROBLEMA – MUNDO DEL PROBLEMA EJEMPLO DEL TRIÁNGULO Triangulo Punto punto1 punto2 x punto3 y colorLineas 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 y colorLineas 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 interesMensual mesActual 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 interesMensual mesActual 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 tiene asociado un conjunto de atributos y métodos. Objeto: Identifica una instancia específica de una clase que tiene valores especí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 = Masculino String nombre promedio = 4.14 :Estudiante String apellido nombre = “Pepito” int sexo :Estudiante apellido = “Pérez” sexo = Masculino double 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.java package 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 CLASE CASO DE ESTUDIO: EMPLEADO
  • 58. NIVEL 1 EJERCICIOS EN CLASE CASO DE ESTUDIO: EMPLEADO Empleado fechaNacimiento Fecha String nombre int dia String apellido fechaIngreso int mes int sexo int anio int salario
  • 59. NIVEL 1 EJERCICIOS EN CLASE CASO DE ESTUDIO: EMPLEADO :Empleado :Fecha fechaNacimiento dia = 1 nombre = “Andres” apellido = “Rodriguez” mes = 1 sexo = Masculino anio = 1970 salario = 1000000 fechaIngreso :Fecha dia = 12 mes = 12 anio = 1999 prestaciones = (antiguedad * salario)/12
  • 60. NIVEL 1 MÉTODOS Método: Especifica el comportamiento o un algoritmo que debe ser ejecutado por los objetos de una clase. Una clase puede tener tantos métodos como 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 EMPLEADO Definició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 EMPLEADO Completar 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 las expresiones. Orden de evaluación Primero se aplican los paréntesis. Luego se aplican los operadores de multiplicación y división, de izquierda a derecha. Después se aplican los operadores de suma y resta, de izquierda a derecha.
  • 65. NIVEL 1 MÉTODOS - EL EMPLEADO Completar 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 ) { ____________________________ }
  • 67. NIVEL 1 Laboratorio 2 N1_T2: Inicio en Java http://cupi2.uniandes.edu.co/sitio/imag es/cursosCupi2/apo1/talleres/n1lab_20 061_APO1-GUIA-N1-L2.doc
  • 68. NIVEL 1 EJERCICIOS EN CLASE CASO DE ESTUDIO: SIMULADOR BANCARIO
  • 69. NIVEL 1 EJERCICIOS EN CLASE CASO DE ESTUDIO: SIMULADOR BANCARIO CuentaBancaria CuentaCorriente corriente String cedula int saldo String nombre ahorros CuentaAhorros int saldo double interesMensual mesActual 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 : CuentaAhorros mesActual saldo = 1000000 interesMensual = 10 : Mes mes = 1 inversion : CDT : Mes mesApertura valorInvertido = 500000 mes = 1 interesMensual = 10
  • 71. NIVEL 1 MÉTODOS – SIMULADOR BANCARIO Instrucción de llamada a un método Llamada de métodos con parámetros Realizar los 10 ejercicios del nivel 1 SIMULADOR BANCARIO
  • 72. NIVEL 1 RECOMENDACIONES SOBRE EL EJERCICIO Diligenciar los requerimientos funcionales. Documentar los atributos o métodos que se requieran. Revisar todos los TODO. No borrar los TODO.