Basic programming course: Lesson #5 Control structures. Part 2. Cycles.

damisvilladiego -


Imagen diseñada en picsart.com / @damisvilladiego

❤️Saludos cordiales amigos steemians y compañeros de curso de programación básica.❤️


Explique los ciclos de forma detallada. ¿Que son y como se usan?

Los ciclos también llamados bucles, en programación nos permite ejecutar una condición un numero determinado de veces mientras se cumple una determinada condición, nos permite automatizar tareas repetitivas y también realizar cálculos iterativos.

Los ciclos que recuerdo haber visto en programación en los primero semestres en la universidad son: While, do while y for.

El ciclo While

El ciclo “While” verifica primeramente la condición al inicio de cada iteración, luego si se cumple ejecuta el código, de ser falsa se sale del ciclo.

Ejemplo:

Algoritmo Suma_Numeros
Definir numero, suma Como Entero

numero <- 1
suma <- 0

Mientras numero <= 5 Hacer
    suma <- suma + numero
    numero <- numero + 1
FinMientras

Imprimir "La suma de los números del 1 al 5 es: ", suma

FinAlgoritmo

En este ejemplo, se verifica la condición de que la variable “numero” sea menor o igual a cinco, como es verdadero, se ejecuta la condición y el programa realiza la suma del valor inicial que es 1 ya que numero=1 y posterior mente cuando llega a cinco el ciclo, se detiene y se para el bucle.


El ciclo do-While

Es una estructura de control en programación, que permite ejecutar el código al menos una vez y luego se repete hasta que se cumpla una determinada condición. La condición dentro del bloque “hacer” se ejecuta al menos una vez sin importar si la condición es verdadera o falsa.

Ejemplo:

Algoritmo NumeroPositivo
Definir numero Como Entero

    Mientras (numero <= 0) hacer
        Imprimir "Ingrese un número positivo: "
        Leer numero
    FinMientras

FinAlgoritmo

Capture desde mi pc / @damisvilladiego

Como pueden notar, el programa pide al usuario que ingrese un número positivo, si el usuario se equivoca y colocar un número negativo o cero, le volverá a pedir nuevamente que ingrese un número. Si el numero ingresado es positivo, el ciclo termina.


Ciclo For

En una estructura de control en programación que te permite ejecutar un bloque de código un número determinado de veces.

Ejemplo:

Algoritmo NumerosDel1Al7

Para i Desde 1 Hasta 7 Hacer
    Escribir i
FinPara

FinAlgoritmo

Capture desde mi pc / @damisvilladiego

En este ejemplo, la variable i toma valores del 1 al 7, y en cada iteración se imprime dicho valor.

¿Cuál es la diferencia del ciclo Mientras y Hacer-Mientras?

Muy importante hacer el estudio de las diferencias entre While y do While. Con el ciclo While se comprueba la condición antes de ejecutar el código y en cambio en el ciclo do While se ejecuta el código y se comprueba la condición al final del código por lo que permite que se ejecute por lo menos una vez así sea verdadera o falsa la condición.


Investiga como se utiliza la estructura Segun-caso y danos un ejemplo.

La estructura según-caso analiza el contenido de una variable y lo compara con una serie de valores posibles, en caso que coincida con alguno de ellos, ejecuta el bloque de instrucciones correspondientes.

La estructura Según- caso tiene muchas bondades, en especial cuando se trata de tomar decisiones partiendo del valor de una variable, ofrece: Estructura organizada, mejor organización del código y reducción de anidamientos.

Ejemplo:

Algoritmo DiasSemana

Definir día Como Entero

Escribir "Ingrese el número del día de la semana (1-7):"
Leer dia

Segun dia Hacer
    Caso 1:
        Escribir "Lunes"
    Caso 2:
        Escribir "Martes"
        
caso 3:
    Escribir "Miércoles"

    Caso 4:
        Escribir "Jueves"
        
caso 5:
    Escribir "Viernes"
        
    caso 6:
    Escribir "Sábado"
        
caso 7:
    Escribir "Domingo"

    Caso defecto:
        Escribir "Día inválido"
FinSegun

FinAlgoritmo

Capture desde mi pc / @damisvilladiego

En este ejemplo, el programa solicita al usuario que indique un número del 1-7, según el número que elija el programa va a mostrar en pantalla el día de semana. Para poder hacer esto posible utilicé la estructura según-caso, la variable “dia” captura el número ingresado por el usuario y según sea el caso, mostrara el dia de la semana, como son siete días se utilizó siete casos, uno por día y de introducir un número diferente, el programa mostrará un mensaje: “Día inválido”.

Explica lo que hace el siguiente código:


Algoritmo seguncaso

    Definir  op, n, ns, a Como Entero;
    Definir exit Como Logico;

      exit = Falso;
      a=0;

      Repetir 
          Imprimir  "Selecciona una opcion:";
          Imprimir  "1. Sumar numeros.";
          Imprimir  "2. Mostrar resultados."
          Imprimir  "3. Finalizar programa."; 
          Leer op;

Segun op Hacer
    caso 1:
        Imprimir "Cuantos numeros desea sumar?";
        Leer n; 
        Para i desde 1 hasta n Hacer
            Imprimir "Ingresa un numero: ";
            Leer ns; 
            a = a + ns;
        FinPara
        Imprimir "Completado! Presione cualquier tecla para continuar.";
        Esperar Tecla;
        Limpiar Pantalla;
    caso 2:
        Imprimir "Este es el resultado actual de las sumas: " a;
        Imprimir "Presione cualquier tecla para continuar.";
        Esperar Tecla;
        Limpiar Pantalla;
    caso 3: 
        Limpiar Pantalla;
        Imprimir "Bye =)";
        exit = Verdadero;
    De Otro Modo:
        Imprimir "Opcion invalida."; 
        Imprimir "Presione cualquier tecla para continuar.";
        Esperar Tecla;
        Limpiar Pantalla;
FinSegun
Hasta Que exit
FinAlgoritmo

El programa comienza declarando las variables a utilizar como enteras, en el caso de exit como logico, en la variable a se almacenará la suma y el programa la inicializa en cero.

Dicho programa utiliza diferentes estructuras de control anidadas, entre ellas: segun-caso, Mientras: y hacer-Mientras.

El programa entra en un blucle donde nos sale un menu de opciones (dichas opciones con segun-caso) donde el usuario tiene tres de ellasa a elegir, la opción uno es: sumar números, la opción dos: mostrar resultado y la opción tres: Finalizar el programa.


Capture desde mi pc / @damisvilladiego

Si el usuario elige la primera opción, el programa solicita al usuario la cantidad de numero a sumar, en este caso hice una corrida y puse dos números, dichos numeros se almacenan en n y luego al realizarse la sumatoria, el resultado es almacenado en a; es decir:

Imprimir "Cuantos numeros desea sumar?";
Leer n;
Para i desde 1 hasta n Hacer
Imprimir "Ingresa un numero: ";
Leer ns;
a = a + ns;

se hace un ciclo de dos veces, ya que elegí colocar dos numeros, donde a=0+5=5 y luego se repite el ciclo quedando a=5+5=> a=10


Capture desde mi pc / @damisvilladiego

Luego de agregar los numeros a sumar, el programa espera que el usuario presione una tecla para volver al menu principal y poder tener la opción de elegir otra opción, en este caso eligiré la opción: Mostrar resultados:


Capture desde mi pc / @damisvilladiego

Al elegir la segunda opción el programa muestra el resultado de la variable a(suma) en el ejemplo que yo coloque vimos qué: a=10. Luego el programa espera que el usuario le de clic a alguna tecla antes de borrar esa pantalla y regresar al menu principal.


Si el usuario desea finalizar el programa, debe elegir la opción 3, donde muestra un mensaje de despedida y luego la operación logica entra en: exit= verdadero, limpia la pantalla y sale del programa.

Si el usuario ingresa una opción no valida, el programa arroja un mensaje que dice: "opcion no valida" y espera que presione una tecla para limpiar la pantalla y vover al menu princial.


Capture desde mi pc / @damisvilladiego


Escriba un programa en pseudo-codigo que pida al usuario un numero mayor que 10 (Hacer-Mientras), después sume todos los números con un acumulador (Mientras) Ejemplo: El usuario introduce 15. El programa suma 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15.


Capture desde mi pc / @damisvilladiego

Definir numero, suma Como Entero

Lo primero que hice fue definir las variables: numero y suma como entero.

Luego utilicé la estuctura de control (Hacer-mientras), ya que el programa solicita al usuario un numero mayor de diez, de ser falso,muestra un mensaje en pantalla:

    Imprimir "El número debe ser mayor que 10. Intente nuevamente:"

Y, se espera que usuario coloque la solicitud correcta para que sea verdadera y proceda a ejecutarse la condición (Hacer-mientras)


Capture desde mi pc / @damisvilladiego

suma <- 0

Para i Desde 1 Hasta numero Hacer
    suma <- suma + i
FinPara

Escribir "La suma de los números hasta ", numero, " es: ", suma

Si el usuario procede a colocar un numero mayor a diez, entra en un bucle donde la suma inializa en cero, luego se va a ir sumando el valor "i" hasta llegar al numero ingresado, es decir, si el usuario puso 14, entra en un ciclo donde va a hacer esto:

1+2+3+4+5+6+7+8+9+10+11+12+13+14 = 105


Capture desde mi pc / @damisvilladiego

Luego el programa espera que el usuario le de clic a alguna tecla para cerrar el programa.


Bueno amigos, hasta aquí ha llegado mi participación, espero que haya sido de su agrado.

Les agradezco mucho su visita, apoyo y comentario.

Aprovecho de invitar a participar a mis amigos: @paholags, @rmm31 y @edgargonzalez.

❤️¡Hasta pronto! ❤️

@damisvilladiego