Laboratorio3-EstructurasIterativas_PI
Transcripción
Laboratorio3-EstructurasIterativas_PI
UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN LABORATORIO #3 (Parte I) ESTRUCTURAS ITERATIVAS en C++ Ciclos o bucles Los ciclos o bucles son aquellos que se utilizan para ejecutar un conjunto de instrucciones tantas veces como lo permita el cumplimiento de una expresión. Las Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa más de una vez. A cada repetición del conjunto de acciones se denomina iteración. Las estructuras iterativas a utilizar serán las siguientes: Para: Es una estructura iterativa que es controlada por una variable (llamada variable índice o variable de control), la cual se incrementa o decrementa hasta llegar a un valor límite o valor final que representa la condición de parada. En el lenguaje pseudoformal, la condición de parada no es una expresión lógica sino un valor que indica el final del ciclo. Por su parte, en C++ la condición de parada sí es una expresión lógica, por consiguiente se puede ejecutar un número predefinido de veces o hasta que se cumpla una condición determinada. En su forma simple la inicialización es una instrucción de asignación que carga la variable de control del ciclo con un valor inicial. La condición es una expresión relacional que evalúa la variable de control del ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo. Y el incremento define la manera en que la variable de control del ciclo debe cambiar cada vez que el computador realiza una iteración. Se deben separar esos 3 argumentos con punto y coma (;) . Pseudoformal Para <inicialización> hasta <valor> en <incremento> hacer <instrucción 1>; : : <instrucción n>; FPara C++ for(<inicialización>; <expresión condicional>; <incremento>) { <instrucción 1>; : : <instrucción n>; } 1 UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN Ejemplo: Mientras: Es una estructura iterativa la cual ejecuta un conjunto de instrucciones Mientras (expresión) se cumpla una condición determinada, en el momento en que la condición se convierte en falsa el ciclo termina. Dentro del bloque de instrucciones se modifican términos de la expresión condicional, lo cual permite controlar la duración de la iteración. En este tipo de ciclo el bloque de instrucciones se repite cero (0) o más veces, ya que la condición de entrada se verifica al principio y podría no cumplirse ni siquiera la primera vez. Pseudoformal C++ Mientras (<expresión>) hacer while (<expresión >) { <instrucción 1>; : : <instrucción n>; <instrucción 1>; : : <instrucción n>; } FMientras Ejemplo: 2 UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN Repetir: La estructura repetir ejecuta un bloque de instrucciones hasta que se cumpla la condición de parada, es decir, hasta que la condición sea verdadera. Este bloque de instrucciones se realiza al menos una (1) vez, ya que la condición se verifica al final, lo cual permite entrar al ciclo al menos una vez. El comportamiento del repetir en el lenguaje pseudoformal y en lenguaje C++ no es el mismo. La diferencia principal radica en que en la estructura repetir en el lenguaje pseudoformal, el conjunto de instrucciones se realiza “hasta” que la condición sea verdadera, en cambio en el lenguaje C++ se realizan “mientras” la condición sea verdadera. Pseudoformal Repetir <instrucción 1>; : : <instrucción n>; C++ do { <instrucción 1>; : : <instrucción n>; }while(<expresión>); Hasta(<expresión>); Ejemplo: Para determinar qué tipo de estructura iterativa se debe utilizar dependiendo del caso de estudio, se puede tomar en consideración los siguientes aspectos: 1. Si se conoce la cantidad exacta de veces que se quiere ejecutar el ciclo o si el programa de alguna manera puede calcular esa cantidad, entonces usar for. 2. Si se desconoce la cantidad de veces a repetir el ciclo o se quiere mayor control sobre la salida o terminación del mismo entonces usar while. 3. Si se quiere que el ciclo se ejecute al menos una vez, entonces usar do-while. Ejercicios 1. Construya un algoritmo que reciba como entrada un cierto valor n, y genere como salida n veces la palabra “hola". 2. Sumar los números pares entre 1 y un n dado por el usuario (si es par, sumar a n inclusive). 3. Escribir un programa que muestre todos los números enteros de cuatro dígitos que cumplen con la condición de que la suma de las cifras de posición impar es igual a la suma de las cifras de posición par. 3 UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN ALGORITMOS Y PROGRAMACIÓN 4. Leer caracteres por pantalla hasta que el carácter leído sea un punto ‘.’, contar la cantidad de vocales, la cantidad de consonantes y calcular la frecuencia de cada una, donde la frecuencia es el resultado de dividir la cantidad de vocales (o consonantes) encontrada entre el total de letras. Prep. María F. Vitola. GDAYP, Octubre. 2010 Revisión: Prof. Adriana Liendo Sánchez, Abril 2011 4