unidad vi. un ciclo
TRANSCRIPT
Introducción a la ComputaciónIntroducción a la Computación
Profesores: Erys PiñeroProfesores: Erys Piñero Vladimir CamacaroVladimir Camacaro
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.
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
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
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
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
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
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.
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
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
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()
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
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
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
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
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
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.
// 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