You are on page 1of 17

Introduccin a la Computacin

Paradigma Orientado a Objetos (POO)

Unidad VI:
Estructuras de control repetitiva: Ciclo Simple
Ejemplo Ilustrativo - Ejercicio prctico

Profesor: Jos Marrufo Junio 2012

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple Ejercicio ilustrativo
Dado un conjunto de 50 nmeros enteros positivos ,conociendo su magnitud, calcular: 1.- La suma de ellos

2.- Determinar cuantos nmeros son pares y cuantos impares

Interrogantes: 1.-Cuntos acumuladores y contadores necesitamos para la estructura repetitiva? 2.- Qu estructura de control necesitamos para el ciclo?....FOR While?

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple Ejercicio ilustrativo
Dado un conjunto de 50 nmeros enteros positivos ,conociendo su magnitud, calcular:
1.- La suma de ellos 2.- Determinar cuantos nmeros son pares y cuantos impares

Interrogantes: 1.-Cuntos 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 nmeros par y 1 para nmeros impares Un FOR. Conocemos la totalidad de nmeros (50) a procesar no necesitamos verificar la condicin

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase I: Anlisis OO:


Dado un conjunto de 50 nmeros enteros positivos , conociendo su magnitud, calcular:

1.- La suma de ellos 2.- Cantidad de nmeros pares y cantidad impares


Lista de responsabilidades:
Conjunto AcumMagnitud ContadorPar ContadorImpar InicializarConjunto Obtener AcumMagnitud Obtener ContadorPar Obtener ContadorImpar CalcularSuma CalcularParidad Nmero Magnitud Asignar Magnitud Obtener Magnitud Clase Atributos de conjunto

Mtodos de conjunto

(InicializarConjunto asigna valores en 0 para Acumulador y Contadores)

Clase Atributo de Numero Mtodos de Numero

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase I: Anlisis OO:


Caracterizar relaciones:

Direccin: Unidireccional Relacin: Tiene Cardinalidad: Uno a muchos

Tiene Conjunto (1) Nmeros

(Muchos)

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase I: Anlisis OO:


Lgica de Programacin:

1.

Instrucciones antes del ciclo: InicializarConjunto

2.
Estructura de Control(Condicin): Repita PARA

3.

Instrucciones durante el Ciclo InterfazEntrada CalcularSuma CalcularParidad

4.

Instrucciones despus del ciclo: InterfazSalida(Imprimir Resultados)

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase I: Anlisis OO:


Lgica de Programacin:

1.

Instrucciones antes del ciclo

InicializarConjunto: Mtodo de conjunto que se encarga de inicializar en cero Acumuladores y Contadores. AcumMagnitud ContadorPar ContadorImpar 0 0 0

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase I: Anlisis OO:


Lgica de Programacin:

2.

Estructura de Control(Condicin):

Estructura de Control: Ya que conocemos la cantidad de nmeros a procesar (50) se necesita una estructura de control repetitiva de tipo Repita para. Esto es: Repita para (Entero cont 0; con < = 50; cont ++)

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple
Lgica de programacin

Fase I: Anlisis OO:


Instrucciones durante el ciclo

3.

CalcularSuma: Mtodo de conjunto que posee como funcin realizar la sumatoria de cada uno de las magnitudes de los nmeros del conjunto. A travs del acumulador AcumMagnitud. Donde: AcumMagnitud AcumMagnitud + magnitud CalcularParidad: Mtodo de conjunto que posee como funcin determinar la cantidad de numeros pares y la cantidad de nmeros pares. A traves de los contadores: ContadorPar, ContadorImpar. Esto es obteniendo el valor MOD de la divisin 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

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple
Lgica de programacin

Fase I: Anlisis OO:


Instrucciones despus del ciclo

4.

Imprimir la totalidad de la suma , a travs del mtodo CalcularSuma. Esto es:

Imprimir ( La suma de los numeros es:, AcumMagnitud)


Imprimir cantidad de nmeros pares e impares, a travs del mtodo CalcularParidad. Esto es: Imprimir (Cantidad nmeros pares:, ContadorPar) Imprimir(Cantidad de numeros impares, ContadorImpar)

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase II: Diseo OO:


Diseo de las Plantillas de las clases

Conjunto Entero AcumMagnitud ContadorPar,ContadorImpar InicializarConjunto() Entero Obtener AcumMagnitud() Entero Obtener ContadorPar() Entero Obtener ContadorImpar() Entero CalcularSuma (Numero) Entero CalcularParidad(Numero)

Numero
Entero Magnitud Asignar Magnitud (Entero) Entero Obtener Magnitud()

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase III: Implementacin OO:


Implementacin de las clases
Clase Conjunto Inicio Privado: Entero AcumMagnitud ContadorPar,ContadorImpar Publico: InicializarConjunto () Entero Obtener AcumMagnitud() Entero Obtener ContadorPar() Entero Obtener ContadorImpar() Entero CalcularSuma (Numero elNumero) Entero CalcularParidad(Numero elNumero) Fin Clase Numero Inicio Privado: Entero Magnitud Publico: Asignar Magnitud (Entero laMagnitud) Entero Obtener Magnitud () Fin

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase III: Implementacin OO:


Implementacin de los metodos de las clases Clase conjunto
Conjunto InicializarConjunto() Inicio AcumMagnitud 0 Contador Par 0 Contador Impar 0 Fin Entero Obtener AcumMagnitud() Inicio Retornar AcumMagnitud Fin Entero Obtener ContadorPar() Inicio Retornar ContadorPar Fin Entero Obtener ContadorImpar() Inicio Retornar ContadorImpar Fin

Mtodos Explcitos
Entero Conjunto CalcularSuma (Numero elNumero) Inicio AcumMagnitud AcumMagnitud + elNumero.ObtenerMagnitud() Fin

Entero Conjunto CalcularParidad(Numero elNumero) Inicio Si (elNumero.ObtenerMagnitud MOD 2 = 0) entonces ContadorPar ContadorPar + 1 SiNo ContadorImpar ContadorImpar + 1 Fin

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase III: Implementacin OO:


Implementacin de los metodos de las clases Clase Numero
Numero Asignar Magnitud( Entero Inicio Magnitud laMagnitud Fin
Entero Numero Obtener Magnitud() Inicio Retornar Magnitud Fin

laMagnitud)

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase III: Implementacin OO:


Implementacin del cuerpo principal del programa
Principal() Inicio Numero elNumero Conjunto elConjunto elConjunto.InicializarConjunto() Repita PARA (Entero cont 0; cont < = 50; cont ++) Inicio Interfaz de entrada Numero (elNumero) elConjunto.CalcularSuma(elNumero) elConjunto.CalcularParidad(elNumero) Fin Interfaz de salida (elNumero,elConjunto) Fin

Antes del Ciclo Repetitivo

Estructura de Control del Ciclo

Durante Ciclo Repetitivo

Despus del Ciclo Repetitivo

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple

Fase III: Implementacin OO:


Implementacin 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 nmeros pares es:, elConjunto.ObtenerContadorPar ( )) Imprimir (La cantidad de nmeros impares es:, elConjunto.ObtenerContadorImpar ( )) Imprimir (La suma de todos los nmeros es:, elConjunto.ObtenerAcumMagnitud( )) Fin

Introduccin a la Computacin
POO- Estructuras de control repetitiva: Ciclo Simple Ejercicio propuesto
Dado un conjunto de 30 nmeros enteros como entrada, calcular la cantidad total de nmeros positivos y la cantidad total de nmeros negativos.