Basic programming course: Lesson #5 Control structures. Part 2. Cycles.
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
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
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.
@alejos7ven will you be reviewing post soon?
It has been waiting 3 days now.
Yes, I was a little busy the last few days, in a few hours I finish checking all the remaining publications. Thank you for supporting the contestants!
Upvoted. Thank You for sending some of your rewards to @null. It will make Steem stronger.
Muchas gracias por el apoyo, estoy muy agradecida. 🙏🏻