Las estructuras de control de flujo resultan un conocimiento indispensable para hacer que nuestros sistemas sean inteligentes y dinámicos, es como la antesala a la inteligencia artificial y es un universo fascinante al que nos enfrentamos en este nuevo desafío semanal.
Aprovecho para invitarles a participar a @oneldoors @yolvijrm @dexsyluz Basic programming course: Lesson #4 Control structures. Part 1. Conditionals.
- Describe tu comprensión de las estructuras condicionales y menciona 2 situaciones de la vida cotidiana en las que podrías aplicar este concepto. |
---|
Las estructuras condicionales son básicamente los evaluadores o restricciones para que los procesos se ejecuten y generen una salida o respuesta de acuerdo a lo programado. Todos los sistemas poseen estructuras condicionales que permiten la interacción con el usuario final y hacen que el programa guie las respuestas de acuerdo a las condiciones establecidas.
Un ejemplo simple de estructuras condicionales pueden ser que el sistema a partir de la edad y sexo de un individuo, se le pueda determinar si ya está en el tiempo para jubilarse. (Yo me quiero jubilar de todo pero aún no puedo jeje)
Les muestro como podría ser el código:
Algoritmo jubilaciones_graceleon
Definir edad como entero;
Definir sexo como caracter;
Imprimir "Ingrese su Edad";
Leer edad;
Imprimir "Sexo: escriba **F** (si es Mujer), **M** (si es Hombre): ";
Leer sexo;
Si ((sexo='F') Y (edad>=60)) Entonces
Imprimir " **** Ya es tiempo de Jubilarse**** "
Sino
Si ((sexo='M') Y (edad>=65)) Entonces
Imprimir "****Ya es tiempo de Jubilarse****"
Sino
Imprimir (' Aun no puede Jubilarse**** ')
FinSi
FinSi
FinAlgoritmo
Y la prueba es eficiente; estableciendo que una mujer se puede jubilar con al menos 60 años y un hombre con al menos 65 años. De lo contrario debe seguir trabajando. Les muestro una corrida con mis datos:
Otro ejemplo práctico podría ser la elección vocacional para un adolescente que debe escoger que tipo de carrera profesional debería estudiar dependiendo de su vocación y gustos:
El código podría ser así, considerando una pregunta clave que determinará el rumbo de la carrera que podrán elegir según los gustos y preferencias
Algoritmo prueba_vocacional_graceleon
Definir opcion como caracter;
Definir nombre como caracter;
Imprimir "Ingrese su Nombre";
Leer nombre;
Imprimir "¿te gustan las matemáticas, la biología, la física, la química y la tecnología?";
Imprimir "Si crees que te gustan alguna de las opciones entonces responde **s** de lo contrario responde **n**";
Leer opcion;
Si ((opcion="s")) Entonces
Imprimir nombre " **** Debes estudiar una carrera orientada a las ciencias**** ";
Sino
Si ((opcion='n')) Entonces
Imprimir nombre "****Debes estudiar una carrera de humanidades****";
FinSi
FinSi
FinAlgoritmo
Una ejecución en caso de que la respuesta sea s
en caso de que sea n
La clave en este punto es aprender a determinar cuales son las preguntas claves que el programa le hará al usuario para que a partir de allí el sistema pueda deliberar entre las condicionales.
- Crea un programa que le diga al usuario "Bienvenido a la sala ¿Qué quieres hacer?", si el usuario escribe 1 entonces muestra un mensaje que dice "has encendido la luz", si el usuario escribe 2 entonces muestra un mensaje que dice "has salido de la sala". Utiliza condicionales. |
---|
Lo primero que haremos será definir las variables. En este caso defino a opcion como un entero; para que el usuario pueda determinar si desea marcar 1 o 2 u otro número que no está en el menú de opciones.
Si (opcion ==1) Entonces
Mostrará en pantalla un mensaje: "has encendido la luz"
Sino Si (opcion==2) Entonces
Mostrará en pantalla un mensaje: "has salido de la sala";
pero si el usuario no marca ni 1 ni 2, entonces la opción marcada será la incorrecta.
SiNo
Imprimir "Opción incorrecta Solo puedes escoger entre la opción 1 y 2"
cada proceso que se abre es un ciclo que debe cerrarse; es por eso que debemos estar atentos a cerrar cada si con un finSi
Muestro el código a continuación y la corrida con cada posible resultado.
Algoritmo Room_graceleon
// 1- definiendo en caracter 1 o 2 como entero
Definir opcion Como Entero;
// titulo "Bienvenido a la habitación: ¿Qué deseas hacer?";
Imprimir "Bienvenido a la habitación: ¿Qué deseas hacer?";
Imprimir "Introduzca la opción 1 si desea encender la luz o Introduzca opción 2 si desea salir de la sala:";
Leer opcion;
// estructura condicional
Si (opcion ==1) Entonces
// Si marca 1 entonces saldrá un mensaje de que ha encendido la luz
Imprimir "has encendido la luz";
// si marca 2 saldrá el mensaje de que ha salido de la sala
Sino Si (opcion==2) Entonces
Imprimir "has salido de la sala";
SiNo
Imprimir "**Opción incorrecta** Solo puedes escoger entre la opcion 1 y 2"
FinSi
FinSi
FinAlgoritmo
Prueba 1:
Prueba 2:
Prueba 3:
- Crear un programa que pida al usuario 4 calificaciones diferentes, calcule el promedio y si es mayor a 70 muestre un mensaje diciendo que la sección pasó, si no, muestre un mensaje diciendo que la sección puede mejorar. |
---|
Procedemos a definir las variables; como es un cálculo matemático entonces definimos todas las variables como real. Definimos las preguntas al usuario de forma amigable y le informamos que el rango de cada calificación debe ser entre 0 y 100.
El sistema pregunta cada nota y lee el dato; luego procede a sumar las notas y dividirlas entre 4 para calcular el promedio.
Finalmente el sistema procede a usar las estructuras condicionales, en donde decide imprimir un mensaje a partir del valor obtenido en el promedio.
Si (promedio >= 70) Entonces
Imprimir "Su promedio es: " promedio
Imprimir "¡FELICIDADES! LA SECCION HA SIDO APROBADA";
SiNo Si (promedio <= 70 y promedio >=50) Entonces
Imprimir "Su promedio es: " promedio
Imprimir "LA SECCION PUEDE MEJORAR"
SiNo Si (promedio <= 49 y promedio >=0) Entonces
Imprimir "Su promedio es: " promedio
Imprimir "SECCION REPROBADA"
FinSi
FinSi
FinSi
Nótese que preguntamos 3 veces, las posibles opciones; si el promedio es mayor o igual a 70 entonces es una sección aprobada;
Si es mayor a 50 y menor o igual a 69, entonces puede mejorar
Pero si es menor a 49 entonces es una sección que reprueba.
Para cada SI debemos cerrar el ciclo con FinSi.
Muestro el código completo:
Algoritmo Calificaciones_graceleon
// 1- definiendo calificaciones
Definir cal1, cal2, cal3, cal4, promedio Como real;
// titulo "PROMEDIO DE NOTAS DE LA SECCIÓN";
Imprimir "Bienvenidos al cálculo del promedio de la sección";
Imprimir "Por favor introduzca las 4 calificaciones obtenidas (en el rango numérico del 0 al 100):";
Imprimir "Calificación 1:";
Leer cal1;
Imprimir "Calificación 2:";
Leer cal2;
Imprimir "Calificación 3:";
Leer cal3;
Imprimir "Calificación 4:";
Leer cal4;
// cálculo del promedio de calificaciones
promedio= (cal1+cal2+cal3+cal4)/4;
// condicionales
Si (promedio >= 70) Entonces
Imprimir "Su promedio es: " promedio
Imprimir "**¡FELICIDADES! LA SECCION HA SIDO APROBADA**";
SiNo Si (promedio <= 70 y promedio >=50) Entonces
Imprimir "Su promedio es: " promedio
Imprimir "**LA SECCION PUEDE MEJORAR**"
SiNo Si (promedio <= 49 y promedio >=0) Entonces
Imprimir "Su promedio es: " promedio
Imprimir "**SECCION REPROBADA**"
FinSi
FinSi
FinSi
FinAlgoritmo
PRUEBA 1:
PRUEBA 2:
PRUEBA 3:
Bien, así concluyo la primera parte de las condicionales en las estructuras de control. Esperando este material pueda ser útil para quien lo pueda leer.
Todos los captures son de mi autoría exclusivos para este post en steemit
Congratulations for bringing a quality post, you have earned a positive vote from team 2 and it is delivered by @pandora2010.
Many Blessings...🙏🏻
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
gracias @pandora2010
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I see Pseint is easy for beginner, I want to use it but I don't understand Spanish. You write very good article.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Gracias es muy fácil, pero puedes desarrollarlo en el lenguaje de programación de tu preferencia y en tu idioma. Creo que solo evalúan el uso de los conceptos aprendidos en clase
Feliz semana
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit