1. Estructuras de repetición
Una de las funciones más poderosas de una computadora es la de realizar tareas
repetitivas de manera rápida y eficiente que pueden llegar a ser tediosas y lentas para los
seres humanos.
Los lenguajes de programación ofrecen algunas estructuras mediante las cuales se
consigue que un grupo de instrucciones se repita un número definido o indeterminado
de veces dependiendo de alguna condición dada.
Estructura for
Repite un bloque de código un número determinado de veces dependiendo del valor de
una variable especial llamada contador.
Sintaxis:
for(<declarar e inicializar variable>;<condición de terminación>;<incremento>)
{
}
Ejemplo:
for(int num=1;num <=10;num=num+1)
{
Console.WriteLine("Repite");
}
El ejemplo anterior imprime en la pantalla la palabra <Repite> 10 veces.
El for del ejemplo anterior, interpretado en nuestro idioma diría algo así:"para la
variable num que inicie desde uno, mientras sea menor o igual a 10 en incrementos de
uno hacer...".
En la primera parte del for del ejemplo se declara una variable contador llamada num y
se la inicializa con 1:
int num=1
2. En la segunda parte se encuentra la condición que dice "mientras número sea menor o
igual a 10":
num <=10
En la tercera parte se coloca el incremento que tendrá la variable num. Podemos
reemplazarlo con una variante que utiliza el doble signo +, el cual significa un
incremento de una unidad:
num=num+1
o
num++
Es equivalente a num=num+1. Si quisiéramos incrementar en otras unidades una forma
puede ser num+=2 por ejemplo para incrementar de 2 en 2.
Ejemplo completo:
Realizar un programa que muestre por pantalla los números del 1 al 10:
Solución Gráfica:
Solución en C#
using System;
using System.Collections.Generic;
using System.Text;
3. namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
for (int num = 1; num <= 10; num = num + 1)
{
Console.WriteLine(num);
}
}
}
}
Estructura while
Repite un bloque de código mientras se cumpla una condición dada al inicio.
Sintaxis:
while(<condición> )
{
//instrucciones.
}
Ejemplo:
int num=1;
while(num>0)
{
Console.WriteLine("ingrese un número: ");
num=Convert.ToInt32(Console.ReadLine());
}
En el ejemplo anterior se pide un número de forma reiterada, el programa continúa
mientras el número ingresado almacenado en la variable num sea mayor a cero, en el
momento que la condición deje de cumplirse, el bucle terminará.
Ejemplo completo:
4. Realizar un programa que no permita salir de un bucle hasta haber ingresado una
contraseña válida:
Solución Gráfica:
5. Solución en C#
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string clave = " ";
while (clave != "secreto")
{
Console.Write("Ingrese la contraseña");
clave = Console.ReadLine();
}
Console.Write("Contraseña correcta, adiós");
}
}
}
Estructura do.
Es muy parecido a la estructura while con la diferencia que while hace la
comprobación al pricipio y do lo hace al final.
Sintaxis:
do
{
//instrucciones.
}while(<condición> );
El mismo ejemplo usada en la estructura while, pero con una estructura do
sería:
int num;
do
{
Console.WriteLine("ingrese un número: ");
num=Convert.ToInt32(Console.ReadLine());
}while(num>0);
Una diferencia entre el ejemplo de la estructura while y éste, es que al usar “do”, no es
necesario inicializar la variable num, porque siempre entraría al bloque la primera vez,
ya que la comparación la hace al final. En la estructura while en cambio necesitamos
inicializar la variabe(para este ejemplo) porque se la usa antes de que pueda recibir un
valor, lo que generaría un error de valor indeterminado.
6. Ejemplo completo:
Realizar un programa que no permita salir de un bucle infinito hasta haber ingresado
una contraseña válida (con estructura do):
7. Solución en C#
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string clave;
do
{
Console.Write("Ingrese la contraseña:");
clave = Console.ReadLine();
} while (clave != "secreto") ;
Console.Write("Contraseña correcta, adiós");
}
}
}
8. Una de las funciones más poderosas de una computadora es la de realizar tareas
repetitivas de manera rápida y eficiente que pueden llegar a ser tediosas y lentas para los
seres humanos.
Los lenguajes de programación ofrecen algunas estructuras mediante las cuales se
consigue que un grupo de instrucciones se repita un número definido o indeterminado
de veces dependiendo de alguna condición dada.
Estructura for
Repite un bloque de código un número determinado de veces dependiendo del valor de
una variable especial llamada contador.
Sintaxis:
for(<declarar e inicializar variable>;<condición de terminación>;<incremento>)
{
}
Ejemplo:
for(int num=1;num <=10;num=num+1)
{
Console.WriteLine("Repite");
}
El ejemplo anterior imprime en la pantalla la palabra <Repite> 10 veces.
El for del ejemplo anterior, interpretado en nuestro idioma diría algo así:"para la
variable num que inicie desde uno, mientras sea menor o igual a 10 en incrementos de
uno hacer...".
En la primera parte del for del ejemplo se declara una variable contador llamada num y
se la inicializa con 1:
int num=1
En la segunda parte se encuentra la condición que dice "mientras número sea menor o
igual a 10":
9. num <=10
En la tercera parte se coloca el incremento que tendrá la variable num. Podemos
reemplazarlo con una variante que utiliza el doble signo +, el cual significa un
incremento de una unidad:
num=num+1
o
num++
Es equivalente a num=num+1. Si quisiéramos incrementar en otras unidades una forma
puede ser num+=2 por ejemplo para incrementar de 2 en 2.
Ejemplo completo:
Realizar un programa que muestre por pantalla los números del 1 al 10:
Solución Gráfica:
Solución en C#
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
10. {
static void Main(string[] args)
{
for (int num = 1; num <= 10; num = num + 1)
{
Console.WriteLine(num);
}
}
}
}
Estructura while
Repite un bloque de código mientras se cumpla una condición dada al inicio.
Sintaxis:
while(<condición> )
{
//instrucciones.
}
Ejemplo:
int num=1;
while(num>0)
{
Console.WriteLine("ingrese un número: ");
num=Convert.ToInt32(Console.ReadLine());
}
En el ejemplo anterior se pide un número de forma reiterada, el programa continúa
mientras el número ingresado almacenado en la variable num sea mayor a cero, en el
momento que la condición deje de cumplirse, el bucle terminará.
Ejemplo completo:
11. Realizar un programa que no permita salir de un bucle hasta haber ingresado una
contraseña válida:
Solución Gráfica:
12. Solución en C#
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string clave = " ";
while (clave != "secreto")
{
Console.Write("Ingrese la contraseña");
clave = Console.ReadLine();
}
Console.Write("Contraseña correcta, adiós");
}
}
}
Estructura do.
Es muy parecido a la estructura while con la diferencia que while hace la
comprobación al pricipio y do lo hace al final.
Sintaxis:
do
{
//instrucciones.
}while(<condición> );
El mismo ejemplo usada en la estructura while, pero con una estructura do
sería:
int num;
do
{
Console.WriteLine("ingrese un número: ");
num=Convert.ToInt32(Console.ReadLine());
}while(num>0);
Una diferencia entre el ejemplo de la estructura while y éste, es que al usar “do”, no es
necesario inicializar la variable num, porque siempre entraría al bloque la primera vez,
ya que la comparación la hace al final. En la estructura while en cambio necesitamos
inicializar la variabe(para este ejemplo) porque se la usa antes de que pueda recibir un
valor, lo que generaría un error de valor indeterminado.
13. Ejemplo completo:
Realizar un programa que no permita salir de un bucle infinito hasta haber ingresado
una contraseña válida (con estructura do):
14. Solución en C#
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string clave;
do
{
Console.Write("Ingrese la contraseña:");
clave = Console.ReadLine();
} while (clave != "secreto") ;
Console.Write("Contraseña correcta, adiós");
}
}
}