1. Introducción a la Computación
Paradigma Orientado a Objetos (POO)
Unidad VI:
Estructuras de control repetitiva: “Ciclo Simple”
Ejemplo Ilustrativo - Ejercicio práctico
Profesor: José Marrufo – Junio 2012
2. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Ejercicio ilustrativo
Dado un conjunto de 50 números enteros positivos ,conociendo su magnitud,
calcular:
1.- La suma de ellos
2.- Determinar cuantos números son pares y cuantos impares
Interrogantes:
1.-¿Cuántos acumuladores y contadores necesitamos para la estructura repetitiva?
2.- ¿Qué estructura de control necesitamos para el ciclo?....¿FOR ó While?
3. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Ejercicio ilustrativo
Dado un conjunto de 50 números enteros positivos ,conociendo su magnitud,
calcular:
1.- La suma de ellos
2.- Determinar cuantos números son pares y cuantos impares
Interrogantes:
1.-¿Cuántos acumuladores y contadores necesitamos para la estructura repetitiva?
2.- ¿Qué estructura de control necesitamos para el ciclo?....¿FOR ó While?
Necesitamos:
1 Acumulador : Almacenar la suma
2 Contadores: 1 para números par y 1 para números impares
Un FOR. Conocemos la totalidad de números (50) a procesar no necesitamos verificar la condición
4. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase I: Análisis OO:
Dado un conjunto de 50 números enteros positivos , conociendo su magnitud, calcular:
1.- La suma de ellos
2.- Cantidad de números pares y cantidad impares
Lista de responsabilidades:
Conjunto Clase
AcumMagnitud
ContadorPar Atributos de conjunto
ContadorImpar
InicializarConjunto
Obtener AcumMagnitud
Obtener ContadorPar Métodos de conjunto (InicializarConjunto asigna valores en 0 para
Obtener ContadorImpar Acumulador y Contadores)
CalcularSuma
CalcularParidad
Número Clase
Magnitud Atributo de Numero
Asignar Magnitud
Obtener Magnitud Métodos de Numero
5. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase I: Análisis OO:
Caracterizar relaciones:
Dirección: Unidireccional
Relación: Tiene
Cardinalidad: Uno a muchos
Tiene
Conjunto Números
(1) (Muchos)
6. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase I: Análisis OO:
Lógica de Programación:
Instrucciones antes del ciclo:
1. InicializarConjunto
2.
Estructura de Control(Condición):
“Repita PARA”
Instrucciones durante el Ciclo
InterfazEntrada
3. CalcularSuma
CalcularParidad
4. Instrucciones después del ciclo:
InterfazSalida(Imprimir Resultados)
7. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase I: Análisis OO:
Lógica de Programación:
1. Instrucciones antes del ciclo
InicializarConjunto: Método de conjunto que se encarga de inicializar en cero
Acumuladores y Contadores.
AcumMagnitud 0
ContadorPar 0
ContadorImpar 0
8. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase I: Análisis OO:
Lógica de Programación:
2. Estructura de Control(Condición):
Estructura de Control: Ya que conocemos la cantidad de números a procesar (50) se
necesita una estructura de control repetitiva de tipo “Repita para”. Esto es:
Repita para (Entero cont 0; con < = 50; cont ++)
9. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Lógica de programación
Fase I: Análisis OO:
3. Instrucciones durante el ciclo
CalcularSuma: Método de conjunto que posee como función realizar la sumatoria de cada
uno de las magnitudes de los números del conjunto. A través del acumulador
AcumMagnitud. Donde:
AcumMagnitud AcumMagnitud + magnitud
CalcularParidad: Método de conjunto que posee como función determinar la cantidad de
numeros pares y la cantidad de números pares. A traves de los contadores: ContadorPar,
ContadorImpar. Esto es obteniendo el valor MOD de la división de cada numero entre 2
Si dicho valor da cero entonces el numero es par, caso contrario es impar. Donde:
Si (magnitud MOD 2 = 0) entonces
ContadorPar ContadorPar + 1
SiNo
ContadorImpar ContadorImpar + 1
10. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Lógica de programación
Fase I: Análisis OO:
4. Instrucciones después del ciclo
Imprimir la totalidad de la suma , a través del método CalcularSuma. Esto es:
Imprimir (“ La suma de los numeros es:”, AcumMagnitud)
Imprimir cantidad de números pares e impares, a través del método CalcularParidad.
Esto es:
Imprimir (“Cantidad números pares:”, ContadorPar)
Imprimir(“Cantidad de numeros impares”, ContadorImpar)
11. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase II: Diseño OO:
Diseño de las Plantillas de las clases
Conjunto
Numero
Entero AcumMagnitud
ContadorPar,ContadorImpar Entero Magnitud
InicializarConjunto() Asignar Magnitud (Entero)
Entero Obtener AcumMagnitud() Entero Obtener Magnitud()
Entero Obtener ContadorPar()
Entero Obtener ContadorImpar()
Entero CalcularSuma (Numero)
Entero CalcularParidad(Numero)
12. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase III: Implementación OO:
Implementación de las clases
Clase Conjunto Clase Numero
Inicio Inicio
Privado: Privado:
Entero AcumMagnitud Entero Magnitud
ContadorPar,ContadorImpar Publico:
Publico: Asignar Magnitud (Entero laMagnitud)
InicializarConjunto () Entero Obtener Magnitud ()
Entero Obtener AcumMagnitud() Fin
Entero Obtener ContadorPar()
Entero Obtener ContadorImpar()
Entero CalcularSuma (Numero elNumero)
Entero CalcularParidad(Numero elNumero)
Fin
13. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase III: Implementación OO:
Implementación de los metodos de las clases
Clase conjunto
Entero Obtener ContadorImpar()
Conjunto InicializarConjunto() Inicio
Inicio Retornar ContadorImpar
AcumMagnitud 0 Fin
Contador Par 0 Métodos Explícitos
Contador Impar 0
Fin Entero Conjunto CalcularSuma (Numero elNumero)
Inicio
Entero Obtener AcumMagnitud() AcumMagnitud AcumMagnitud + elNumero.ObtenerMagnitud()
Inicio Fin
Retornar AcumMagnitud
Fin
Entero Conjunto CalcularParidad(Numero elNumero)
Entero Obtener ContadorPar() Inicio
Si (elNumero.ObtenerMagnitud MOD 2 = 0) entonces
Inicio
ContadorPar ContadorPar + 1
Retornar ContadorPar
SiNo
Fin
ContadorImpar ContadorImpar + 1
Fin
14. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase III: Implementación OO:
Implementación de los metodos de las clases
Clase Numero
Numero Asignar Magnitud( Entero laMagnitud)
Inicio
Magnitud laMagnitud
Fin
Entero Numero Obtener Magnitud()
Inicio
Retornar Magnitud
Fin
15. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase III: Implementación OO:
Implementación del cuerpo principal del programa
Principal()
Inicio
Numero elNumero Antes del Ciclo Repetitivo
Conjunto elConjunto
elConjunto.InicializarConjunto()
Repita PARA (Entero cont 0; cont < = 50; cont ++) Estructura de Control del Ciclo
Inicio
Interfaz de entrada Numero (elNumero)
elConjunto.CalcularSuma(elNumero) Durante Ciclo Repetitivo
elConjunto.CalcularParidad(elNumero)
Fin
Interfaz de salida (elNumero,elConjunto) Después del Ciclo Repetitivo
Fin
16. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Fase III: Implementación OO:
Implementación de los metodos del cuerpo principal del programa
Interfaz de entrada (Numero elNumero)
Inicio
Entero laMagnitud
Imprimir (“Ingrese la magnitud del numero”)
Leer(laMagnitud)
elNumero.AsignarMagnitud(laMagnitud)
Fin
Interfaz de salida (Conjunto elConjunto)
Inicio
Imprimir (“La cantidad de números pares es:”, elConjunto.ObtenerContadorPar ( ))
Imprimir (“La cantidad de números impares es:”, elConjunto.ObtenerContadorImpar ( ))
Imprimir (“La suma de todos los números es:”, elConjunto.ObtenerAcumMagnitud( ))
Fin
17. Introducción a la Computación
POO- Estructuras de control repetitiva: “Ciclo Simple”
Ejercicio propuesto
Dado un conjunto de 30 números enteros como entrada, calcular la
cantidad total de números positivos y la cantidad total de números
negativos.