Nuevos Bucles
En programación usaras constantemente bucles, es por ello que necesitamos conocer que otras herramientas a utilizar, ahora ya conoces la estructura PARA, esta no sera suficiente para muchos problemas que se te van ha presentar en tu vida como programador, en esta lección aprenderemos una nueva estructura, se trata de la estructura Mientras.El bucle Mientras (While)
Este bucle repite un conjunto de ordenes, siempre y cuando una condición se cumpla, lo mas relevante del bucle es que primero evalúa la condición y luego realiza las operaciones, esta estructura tiene la siguiente sintaxis:Mientras (Condición)
Operación 1
Operación 2
...
FinMientras
Importante
La totalidad de los ejercicios resueltos con en bucle PARA (for), se resuelven con MIENTRAS (while), deberás practicar y resolver todos los ejercicios resueltos aplicando el nuevo bucle.Series para Practicar
Figura de Series.
Ejercicio 1.
Hacer un programa para mostrar la serie 1 hasta su termino n.Análisis:
En la figura puedes observar la solución de la serie, de esta podemos extraer el siguiente modelo y detalles para su inicialización.- aumento = 4, al principio.
- termino = 2, al principio.
- k = 1, es la inicialización del contador.
- mostrar el termino dentro del bucle
- termino = termino + aumento, dentro del bucle
- aumento = aumento / 2, dentro del bucle
- La condición del bucle es que tenemos un contador k que comienza en 1 fuera del bucle.
- La variable n la cantidad de términos de la serie, es decir, el limite.
- La condición de mientras es que k<=n.
Variable de Entrada: n
Variables de Salida: termino
Diseño:
Algoritmo Serie1Inicio
Real termino, aumento, k, n, suma
aumento = 4
termino = 2
k = 1
Leer(n)
Mientras ( k<=n )
Escribir(termino)
termino = termino + aumento
aumento = aumento / 2
k = k + 1
FinMientras
Fin
Código:
public static void Main(string[] args){
double termino, aumento, k, n, suma;
aumento = 4;
termino = 2;
k = 1;
Console.Write("Ingresa N: ");
n = int.Parse(Console.ReadLine());
Console.WriteLine("****** Valores de la Serie ******");
while( k<=n )
{
Console.WriteLine("El termino: " + termino);
termino = termino + aumento;
aumento = aumento / 2;
k = k + 1;
}
Console.ReadLine();
}
Notas Importantes:
- El bucle Mietras no cuenta con un contador automático, es por ello que necesitamos usar un contador k, que comienza en 1 y se actualiza con +1.
- En este ejercicio usamos en realidad dos acumuladores, uno de ellos suma y el otro termino.
Ejercicio 2.
Hacer un programa para mostrar la serie 8 que tienes en la figura, también debe mostrar la suma de los términos de esta serie.Análisis:
Viendo la serie, podemos notar que en realidad esta compuesta por son dos series, una que se incrementa de 111 y otra que se reducen en -111, esto nos da la idea de usar una condicional para controlar el incremento y decremento.- Necesitamos una variable terminoA y otra terminoB, para la serie.
- signo = 1, inicializamos signo.
- suma = 0, inicializamos suma.
- terminoA = 1, inicializamos terminoA.
- terminoB = 100, inicializamos terminoB.
- terminoA = terminoA + signo*111, si signo mayor a cero.
- terminoB = terminoB + signo*111, si signo es menor a cero.
- suma = suma + terminoA, si signo es mayor a cero.
- suma = suma + terminoB, si signo es menor a cero.
- signo = -1 * signo, esto permitirá que la serie incremente y decremento.
Diseño:
Algoritmo Serie8Inicio
Real signo, suma, terminoA, terminoB, n, k
signo = 1
suma = 0
terminoA = 1
terminoB = 1000
k = 1
Leer (n)
Mientras ( k <= n )
Si signo > 0 Entonces
Escribir(terminoA)
terminoA = terminoA + signo*111
suma = suma + terminoA
Sino
Escribir(terminoB)
terminoB = terminoB + signo*111
suma = suma + terminoB
FinSi
signo = -1 * signo
k = k + 1
FinMientras
Escribir(suma)
Fin
Código:
public static void Main(string[] args){
double signo, suma, terminoA, terminoB, n, k;
signo = 1;
suma = 0;
terminoA = 1;
terminoB = 1000;
k = 1;
Console.Write("Ingresa el valor de N: ");
n = int.Parse(Console.ReadLine());
Console.WriteLine("******** LOS TERMINOS DE LA SERIE *******");
while ( k <= n )
{
if (signo > 0)
{
Console.WriteLine("♥ " + terminoA);
terminoA = terminoA + signo*111;
suma = suma + terminoA;
}
else
{
Console.WriteLine("♣ " + terminoB);
terminoB = terminoB + signo*111;
suma = suma + terminoB;
}
signo = -1* signo;
k = k + 1;
}
Console.WriteLine("-----------> La suma es: " + suma);
Console.ReadLine();
}
No hay comentarios:
Publicar un comentario