unidad vi. un ciclo

18
Introducción a la Computación Introducción a la Computación Profesores: Erys Piñero Profesores: Erys Piñero Vladimir Camacaro Vladimir Camacaro

Upload: erysintroduccion

Post on 13-Jul-2015

337 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Unidad VI. Un ciclo

Introducción a la ComputaciónIntroducción a la Computación

Profesores: Erys PiñeroProfesores: Erys Piñero Vladimir CamacaroVladimir Camacaro

Page 2: Unidad VI. Un ciclo

UNIDAD VIUNIDAD VI

Desarrollo de algoritmos orientados a Desarrollo de algoritmos orientados a objetos con estructuras iterativas o objetos con estructuras iterativas o

repetitivas simples.repetitivas simples.

Page 3: Unidad VI. Un ciclo

Esquema de las Estructuras Esquema de las Estructuras RepetitivasRepetitivas

Antes del cicloFrecuencia Única

Durante elCiclo

Frecuencia Múltiple

Después del cicloFrecuencia Única

Condición Lógica

Page 4: Unidad VI. Un ciclo

Se conoce cantidad de veces a Se conoce cantidad de veces a repetir el procesorepetir el proceso

a. 1) repetir paraa. 1) repetir para

El formato es el siguiente:El formato es el siguiente:

repetir para(entero Contador ←VInicial,Contador < VFinal,Contador←Contador+1) repetir para(entero Contador ←VInicial,Contador < VFinal,Contador←Contador+1)

inicioinicio

// Grupo de instrucciones// Grupo de instrucciones

fin fin

Page 5: Unidad VI. Un ciclo

Se conoce cantidad de veces a Se conoce cantidad de veces a repetir el procesorepetir el proceso

a. 2) repetir mientras-Contadora. 2) repetir mientras-ContadorEl formato es el siguiente:El formato es el siguiente:

entero Contador entero Contador 0 0 // // Creación e inicialización de la variable de control del ciclo.Creación e inicialización de la variable de control del ciclo.

repetir mientras repetir mientras (Contador < VFinal) (Contador < VFinal) //// Comprobación de la variable de control del ciclo Comprobación de la variable de control del ciclo

inicioinicio //Grupo de instrucciones//Grupo de instrucciones

Contador←Contador+1 Contador←Contador+1 // // Incremento del valor de la variable de control del cicloIncremento del valor de la variable de control del ciclo

fin fin

Page 6: Unidad VI. Un ciclo

Se desconoce cantidad de veces Se desconoce cantidad de veces a repetir el procesoa repetir el proceso

b.1) repetir mientras-Interacción con el usuariob.1) repetir mientras-Interacción con el usuario Se utiliza cuando la cantidad de datos a procesar es relativamente Se utiliza cuando la cantidad de datos a procesar es relativamente

pequeña. Estructura:pequeña. Estructura:

alfanumérico Respuesta←”Si” alfanumérico Respuesta←”Si” repetir mientras (repetir mientras (Respuesta=”Si”’)Respuesta=”Si”’) inicioinicio

// Instrucciones// Instrucciones escribir “¿Desea procesar más datos Si/No?”escribir “¿Desea procesar más datos Si/No?” leer Respuestaleer Respuesta

finfin

Page 7: Unidad VI. Un ciclo

Se desconoce cantidad de veces Se desconoce cantidad de veces a repetir el procesoa repetir el proceso

b.2) repetir mientras-Centinelab.2) repetir mientras-Centinela

Se utiliza cuando la cantidad de datos a procesar es significativamente grande. Se utiliza cuando la cantidad de datos a procesar es significativamente grande. La variable centinela forma parte de los datos de entrada del problema. La variable centinela forma parte de los datos de entrada del problema. Estructura:Estructura:

Leer_EntradaCiclo(VariableCentinela)Leer_EntradaCiclo(VariableCentinela)

repetir mientras (repetir mientras (Variable_centinela <> Valor) Variable_centinela <> Valor)

inicioinicio

Leer_OtrosDatosLeer_OtrosDatos(Variable1, Variable2…)(Variable1, Variable2…)

// Instrucciones// Instrucciones

Leer_EntradaCiclo(VariableCentinela)Leer_EntradaCiclo(VariableCentinela)

finfin

Page 8: Unidad VI. Un ciclo

Ejercicio 1Ejercicio 1

Dado largo y ancho de Dado largo y ancho de trestres rectángulos, rectángulos, calcule e imprima el área de cada uno de calcule e imprima el área de cada uno de ellos. ellos.

Page 9: Unidad VI. Un ciclo

Análisis del problema Análisis del problema

ListaLista ClasificaciónClasificaciónLargo-----------------------------------Largo----------------------------------- Atributo/Rectángulo Atributo/RectánguloAncho----------------------------------Ancho---------------------------------- Atributo/Rectángulo Atributo/RectánguloRectángulo---------------------------Rectángulo--------------------------- Clase ClaseCalcular el área---------------------Calcular el área--------------------- Método/Rectángulo Método/Rectángulo

Page 10: Unidad VI. Un ciclo

Análisis del problemaAnálisis del problema

f.m. 1) Leer (Largo, Ancho)f.m. 1) Leer (Largo, Ancho)

f.m. 2) Calcular e imprimir el área f.m. 2) Calcular e imprimir el área

Área ← Largo*AnchoÁrea ← Largo*Ancho

Diagrama: Diagrama:

repetir para(entero Contrepetir para(entero Cont1, Cont<=3, Cont1, Cont<=3, ContCont+1)Cont+1)

12

Page 11: Unidad VI. Un ciclo

Diseño de la estructura de la clase Diseño de la estructura de la clase RectánguloRectángulo

RectánguloRectánguloreal Largoreal Largoreal Anchoreal AnchoAsignarLargo(real AsignarLargo(real ↓↓Lg)Lg)AsignarAncho(real AsignarAncho(real ↓↓An)An)real SacarLargo()real SacarLargo()real SacarAncho()real SacarAncho()real CalArea()real CalArea()

Page 12: Unidad VI. Un ciclo

Implementación en pseudolenguajeImplementación en pseudolenguaje

// Definición de la estructura de la clase// Definición de la estructura de la clase//////////////////////////////////////////////////////////////////////////////////////////////////////////clase Rectánguloclase Rectángulo inicioinicio privado:privado: real Largo, Ancho real Largo, Ancho público:público: AsignarLargo (real ↓ Lg)AsignarLargo (real ↓ Lg) AsignarAncho (real ↓ An)AsignarAncho (real ↓ An) real SacarLargo ()real SacarLargo () real SacarAncho ()real SacarAncho () real CalArea ()real CalArea () fin // ClaseRectángulofin // ClaseRectángulo

Page 13: Unidad VI. Un ciclo

Implementación en pseudolenguajeImplementación en pseudolenguaje//Métodos propios de la clase//Métodos propios de la clase//////////////////////////////////////////////////////////////////////////////////////////////////////////////Rectángulo AsignarLargo (real ↓ Lg) Rectángulo AsignarLargo (real ↓ Lg)

inicioinicio Largo ← LgLargo ← LgfinfinRectángulo AsignarAncho (real ↓ An)Rectángulo AsignarAncho (real ↓ An)inicioinicio Ancho ← An Ancho ← An finfinreal Rectángulo SacarLargo ( )real Rectángulo SacarLargo ( )inicioinicio retornar Largoretornar Largofinfin

Page 14: Unidad VI. Un ciclo

real Rectángulo SacarAncho ( )real Rectángulo SacarAncho ( )inicioinicio retornar Anchoretornar Anchofinfinreal Rectángulo CalArea () real Rectángulo CalArea ()

inicioinicio real Áreareal Área Área ← Largo * Ancho Área ← Largo * Ancho

retornar Árearetornar Áreafinfin

Page 15: Unidad VI. Un ciclo

Implementación en pseudolenguajeImplementación en pseudolenguaje// Programa de aplicación// Programa de aplicación////////////////////////////////////////////////////////////////////////////////////////////// principal( )principal( ) inicioinicio Rectángulo ObjRectángulo //Creación del objetoRectángulo ObjRectángulo //Creación del objeto

repetir para(entero Contrepetir para(entero Cont1, Cont<=3, Cont1, Cont<=3, ContCont+1)Cont+1) inicioinicio InterfazEntrada(ObjRectangulo)InterfazEntrada(ObjRectangulo) InterfazSalida(ObjRectangulo,Cont) InterfazSalida(ObjRectangulo,Cont)

fin // Ciclofin // Ciclo fin // Cuerpo Principalfin // Cuerpo Principal

Page 16: Unidad VI. Un ciclo

Implementación en pseudolenguajeImplementación en pseudolenguaje InterfazEntradaRectangulo( Rectangulo InterfazEntradaRectangulo( Rectangulo ↑ ↑ ObjRectangulo) ObjRectangulo) inicioinicio real Lg,An //Definición de variablesreal Lg,An //Definición de variables escribir “Escriba el largo del rectángulo” escribir “Escriba el largo del rectángulo” leer Lgleer Lg objRectángulo. AsignarLargo(Lg) objRectángulo. AsignarLargo(Lg) f.m. 1) Leer (Largo, Ancho)f.m. 1) Leer (Largo, Ancho)

escribir “Escriba el ancho del rectángulo”escribir “Escriba el ancho del rectángulo” leer Anleer An objRectángulo. AsignarAncho(An)objRectángulo. AsignarAncho(An) finfin

InterfazSalidaRectangulo( Rectangulo InterfazSalidaRectangulo( Rectangulo ↓ ↓ ObjRectangulo, entero Cont) ObjRectangulo, entero Cont) inicioinicio escribir “ El rectangulo Nro “,Cont, “ de medidas: ”escribir “ El rectangulo Nro “,Cont, “ de medidas: ” escribir”Largo “ ObjRectangulo.SacarLargo( )escribir”Largo “ ObjRectangulo.SacarLargo( ) escribir”Ancho “ ObjRectangulo.SacarAncho( )escribir”Ancho “ ObjRectangulo.SacarAncho( ) escribir “Tienen por área “,ObjRectangulo.CalAreaescribir “Tienen por área “,ObjRectangulo.CalArea finfin

Page 17: Unidad VI. Un ciclo

Ejercicio 2Ejercicio 2

Dado largo y ancho de Dado largo y ancho de variosvarios rectángulos, calcule e imprima el área de rectángulos, calcule e imprima el área de cada uno de ellos. cada uno de ellos.

Page 18: Unidad VI. Un ciclo

// Programa de aplicación// Programa de aplicación////////////////////////////////////////////////////////////////////////////////////////////// principal( )principal( ) inicioinicio Rectángulo ObjRectángulo //Creación del objetoRectángulo ObjRectángulo //Creación del objeto

alfanumérico Respuesta ←”Si”alfanumérico Respuesta ←”Si” repetir mientras (Respuesta=”Si”)repetir mientras (Respuesta=”Si”) inicioinicio InterfazEntrada(ObjRectangulo)InterfazEntrada(ObjRectangulo)

InterfazSalida(ObjRectangulo) InterfazSalida(ObjRectangulo) escribir “¿Desea procesar más datos Si/No?”escribir “¿Desea procesar más datos Si/No?” leer Respuestaleer Respuesta fin // Ciclofin // Ciclo fin // Cuerpo Principalfin // Cuerpo Principal