Está en la página 1de 21

Fundamentos de C#

RUBÉN ANDRÉS LEIVA CORDERO


2016
Objetivos de la sesión
• Conocer las estructuras de ciclos en C#

• Hablar de la segunda sesión del material de


certificación
Objetivos de la sesión
• Conocer los elementos fundamentales de
programación en arquitecturas NET

• Hablar de los elementos fundamentales del


lenguaje C#
Ciclos en C#
• Al igual que los lenguajes de alto nivel, C# posee
los mismos ciclos de control.

• Estas estructuras repetitivas de control, permiten al


usuario trabajar y desarrollar tareas, ahorrando una
enorme cantidad de tiempo en el desarrollo.
Ciclos en C# - While
• A diferencia del ciclo FOR, la estructura While
permite desarrollar una serie de instrucciones
evaluando una condición previa.
Ciclos en C# - While
• La modificación a este caso, permite agregar más
condiciones a evaluar al interior del ciclo While.
Ciclos en C# - While
• La modificación a este caso, permite agregar más
condiciones a evaluar al interior del ciclo While.
El Ciclo while
• Permite que el código se repita mientras se cumpla una
condición Booleana.
• Se evalúa la condición antes de ejecutar el código.
• Se puede utilizar cuando el número de iteraciones no se
conoce antes de ejecutar el ciclo.
Inicialización
int i = 0;
Condición

while (i < 5)
{
Console.WriteLine(i);
Incremento
i = i + 1;
}
El Ciclo for
• Permite que el código se ejecute usando un contador de
ciclos para controlar el número de veces que se repite.
• Se usa cuando el número de iteraciones se conoce
antes de la ejecución del ciclo.

Inicialización Condición Incremento

for (int i = 0; i < 5; i++)


{
Console.WriteLine(i);
}
Diagrama de flujo del ciclo for
Inicialización

Condición
? Ejecución del ciclo Incremento

• Si la condición es falsa en la entrada del ciclo, entonces el


ciclo nunca se ejecutará (ni siquiera una vez).
Ciclos en C# - For
• La estructura FOR permite controlar bajo ciertos
parámetros de entrada, la cantidad de repeticiones.
EN LA PRIMERA PARTE EN LA SEGUNDA EN LA TERCERA PARTE
DECLARAMOS EL PARTE LA CONDICIÓN EL INCREMENTO O
CONTADOR A EVALUAR DECREMENTO
Ciclo while vs Ciclo for
• Si observamos el siguiente ejemplo, la estructura de trabajo
de ambos ciclos responden al mismo problema.
El Ciclo do-while
• Permite que el código se repita mientras se cumpla una
condición Booleana.

• La condición se evalúa después de que el código ya se


haya ejecutado una vez.

• Se puede usar cuando el número de iteraciones no se


conoce antes de ejecutar el ciclo pero se asume que se
ejecutará al menos una vez.
Ciclo while vs Ciclo do-while
• Un ciclo do-while se ejecutará por lo menos una vez.
• Un ciclo while puede no ejecutarse nunca.

• Todo esto por las condiciones que entreguemos al trozo


de código, y dependerá el desarrollo que estemos
trabajando.
Ciclos en C# - Do While
Errores de Ámbito
for(int i = 0; i < 5; i++)
{
Console.Writeline(i);
}
Console.WriteLine(i); // error de Sintaxis
// i es una variable local
¿En qué momento utilizar ciertos
ciclos?
• ¿Cuándo se usan los ciclos while?
• Cuando no se sabe cuantas veces se iterará.
•Los ciclos while incorporan una prueba (condición)
y por lo tanto pueden no ejecutarse ni una sola vez.
• ¿Cuándo se usan los ciclos for?
• Cuando no se sabe el número específico de
iteraciones.
• Los ciclos for son más fáciles de revisar ya que son
mas estructurados.
• ¿Cuándo se usan los ciclos do-while?
• Cuando se sabe que se debe ejecutar una sentencia
por lo menos una vez.
Recursividad
• La recursividad ocurre cuando se usa un método para
resolver otra versión del mismo problema.

• Con cada repetición, el problema se hace más fácil y


avanza a un caso base.

• El caso base se alcanza cuando no se requiere ninguna


otra iteración.

• Un caso base es el punto en el cual ya no se realiza


ninguna otra iteración.
Identidad (num) Acciones Regresar a la pila
suspendidas
Identidad (6) 6 + identidad (4) 22
Identidad (4) 4 + identidad (2) 16
Identidad (2) 2 + identidad (0) 12
Identidad (0) 10
Repaso
• ¿Cuáles son las diferentes situaciones por las que opta
por un tipo de ciclo en vez de otro?
• ¿Cuáles son los componentes necesarios de un método
recursivo?