Está en la página 1de 12

Escuela de Ingeniería de Sistemas Informáticos UES/FIA

Programación I

Unidad IV.- Sentencias Iterativas

Unidad IV. Sentencias iterativas Página 1 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

ESTRUCTURAS REPETITIVAS EN EL DESARROLLO DE


APLICACIONES
Objetivo de la Unidad: Aprender algunas técnicas simples de desarrollo de software haciendo uso de
estructuras repetitivas y variables o expresiones en C#.

Contenido de la Unidad
1 .- Fundamentos de sentencias iterativas o repetitivas ............................................................................ 3
1.1 Conceptualización ............................................................................................................................... 3
2 Sentencias iterativa controladas por contador ........................................................................................ 4
2.1 Sentencia repetitiva for ........................................................................................................................ 5
2.2 Recorriendo colecciones con foreach .................................................................................................. 9
3 Bibliografía .................................................................................................................................... 12

Introducción

Unidad IV. Sentencias iterativas Página 2 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

1 .- Fundamentos de sentencias iterativas o repetitivas


1.1 Conceptualización
En la unidad anterior se estudiaron las sentencias condicionales, éstas no permitían ejecutar un bloque
de código según se cumplía o no una expresión condicional, pero solo se ejecutaba una vez. Como se
estudió en Introducción a la Informática, con sentencias iterativas o repetitivas es posible ejecutar un
bloque de código varias veces y controlar las repeticiones.
A continuación se listan una serie de conceptos que no deben olvidarse en la presente unidad:
Bucle: es una instrucción o conjunto de instrucciones que se repiten un número especficado de veces o
hasta que se cumpla alguna condicion (MSDN, 2016)
Principalmente se usan las siguientes sentencias iterativas:

Sentencia Tipo de control


for Por contador
foreach Recorre por completo una colección
while Por condición
do … while Por condición

Unidad IV. Sentencias iterativas Página 3 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

2 Sentencias iterativa controladas por contador


Cuando una sentencia iterativa o repetitiva es controlada por contador debe tenerse en cuenta que se
requiere:
1. una variable de control (o contador de ciclo).
2. el valor inicial de la variable de control.
3. el incremento (o decremento) mediante el cual se modifica la variable de control cada vez que
pasa por el ciclo (lo que también se conoce como cada iteración del ciclo).
4. la condición de continuación de ciclo que determina si debe o no continuar el ciclo.
Aunque estos elementos deben estar presentes en toda sentencia iterativa controlada por contador, en
esta sección es necesario dejar clara la diferencia entre repetición controlada por un contador y
sentencia controlada por contador. En el primer caso se puede hacer referencia el siguiente ejemplo de
la ilustración 1 donde puede observarse cómo while no deja de ser una sentencia que básicamente es
controlada por una expresión condicional, y a la vez esta expresión tiene como miembro una variable
contador que es la que determina el número de iteraciones.

Ilustración 1: Tomada de Dietel && Dietel 2007:145


Aunque el número de iteraciones esté controlada por el contador, while no deja de ser controlada la
condición. El segundo caso se estudiará con la sentencia for, en la siguiente sección.
Al implementar esta técnica es conveniente que tenga en cuenta lo siguiente:
• Evite usar valores de punto flotante en control de ciclos, ya que pueden producir valores
imprecisos del contador.

Unidad IV. Sentencias iterativas Página 4 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

• Controle los ciclo de conteo con enteros.

• Coloque líneas en blanco por encima y debajo de las sentencias iterativas y aplique sangría al
cuerpo del bloque de instrucciones para mejorar la legibilidad.

2.1 Sentencia repetitiva for


for es una sentencia repetitiva controlada por contador, este contador, en sus tres sentencias, se
encuentra definido en la cabecera de la sentencia.

Ilustración 2: Tomada de Dietel && Dietel 2007:146


Obsérvese que acá se estudia el segundo caso de los expuestos en la sección anterior, esta estructura
depende netamente de la existencia del contador, aunque no sea requerido definir todas sus expresiones
en la cabecera de la sentencia.
Los usos que puede tener la sentencia iterativa for son variados y como cualquier otra sentencia,
dependerá del comportamiento que se desee en determinado bloque de código. A continuación algunos
casos:

Ejemplo 1: Tabla de multiplicar


Esta es una aplicación que recibe un número y genera su tabla de multiplicar hasta el multiplicando
que le indique.
Se prescinde de los validadores para poner atención al uso de for.

Unidad IV. Sentencias iterativas Página 5 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

Ilustración 3: Tabla de multiplicar ejecutándose.

Unidad IV. Sentencias iterativas Página 6 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

Ejemplo 2: Interés compuesto


Una persona invierte $1,000 en una cuenta de ahorros que genera un 5% de interés anual compuesto.
Suponiendo que todo el interés se deja para depósito, calcule e imprima el monto de dinero en la cuenta
al fi nal de cada año, durante 10 años. Utilice la siguiente fórmula para determinar los montos:
a = p(1 + r) n
en donde
p es el monto original invertido (es decir, el capital)
r es la tasa anual de interés (por ejemplo, utilice 0.05 para el 5%)
n es el número de años
a es el monto depositado al final del n-ésimo año

Ilustración 4: Cálculo de interés compuesto a 10


años ejecutándose

Unidad IV. Sentencias iterativas Página 7 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

Nótese que el ejercicio se ha adaptado para hacer los cálculos para cualquier capital e interés, podría
agregarse para cualquier cantidad de años.

Unidad IV. Sentencias iterativas Página 8 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

2.2 Recorriendo colecciones con foreach


En introducción a la informática se estudió un poco sobre el tema de colecciones, en la Unidad V se
estudiarán con mayor énfasis.
Para dar seguimiento al tema de validación de formularios es pertinente repasar el uso de esta sentencia
repetitiva.
foreach en c# tiene la siguiente sintaxis:

Colección de elementos

En cada iteración el valor de


element cambia con la siguiente
posición

La variable element solo existe en el contexto del foreach. No siendo un contador el que controla las
iteraciones, es el recorrer la colección completa de principio a fin la que lo hace.
Se puede tomar ventaja de esta característica para recorrer colecciones de las cuales no es necesario
conocer su número de elementos. Esto se verá en el siguiente ejemplo:

Unidad IV. Sentencias iterativas Página 9 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

Ejemplo 3: Validando llenado completo de formularios


Construya un formulario para la captura de datos de estudiantes que permita validar si se ha llenado por
completo.

Ilustración 5: Formulario validado

Todos los campos marcados con error mostraran el mismo toolTip, esto es porque el mensaje se define
hasta haber encontrado error en el valor esperado de cada campo. La validación se lleva a cabo al dar
clic en el botón Guardar.
Como lo que se necesita hacer es validar todos los controles del formulario y no todos son del mismo
tipo, se deben tener las siguientes consideraciones:
• La colección a recorrer es Controls, es donde se encuentran las referencias a todos los controles
del formulario.

Unidad IV. Sentencias iterativas Página 10 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

• Como hay controles que no interesa validar validar, como los label, es necesario discriminar
entre por su tipo, por ello se verá una serie de if anidados donde se valida el tipo de control y
según este tipo se valida si se ha llenado o no.

Unidad IV. Sentencias iterativas Página 11 de 12


Escuela de Ingeniería de Sistemas Informáticos UES/FIA
Programación I

3 Bibliografía
• Learn to Develop with Microsoft Developer Network | MSDN. (2016). Msdn.microsoft.com.
Recuperado 30/08/2016, de https://msdn.microsoft.com

• Dietel Harvey (2007). Cómo programar en C#. Segunda Edición. Mexico.

Unidad IV. Sentencias iterativas Página 12 de 12

También podría gustarte