Estructuras condicionales SI simples y compuestas

Page 1

Estructuras condicionales simples y compuestas No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hay que tomar una decisión aparecen las estructuras condicionales. En nuestra vida diaria se nos presentan situaciones donde debemos decidir. ¿Elijo la carrera A o la carrera B? ¿Me pongo este pantalón? Para ir al trabajo, ¿elijo el camino A o el camino B? Al cursar una carrera, ¿elijo el turno mañana, tarde o noche? Por supuesto que en un problema se combinan estructuras secuenciales y condicionales.

Estructura condicional simple. Cuando se presenta la elección tenemos la opción de realizar una actividad o no realizar ninguna. Sintaxis: Si condición entonces Acciones_u_Operaciones Finsi Representación gráfica:

Podemos observar: El rombo representa la condición. Hay dos opciones que se pueden tomar. Si la condición da verdadera se sigue el camino del verdadero, o sea el de la derecha, si la condición da falsa se sigue el camino de la izquierda. Se trata de una estructura CONDICIONAL SIMPLE porque por el camino del verdadero hay actividades y por el camino del falso no hay actividades. Por el camino del verdadero pueden existir varias operaciones, entradas y salidas, inclusive ya veremos que puede haber otras estructuras condicionales.


Problema: Ingresar el sueldo de una persona, si supera los 3000 pesos mostrar un mensaje en pantalla indicando que debe abonar impuestos. Algoritmo en lenguaje natural: Inicio Declarar sueldo Escribir “Digite el sueldo” Leer sueldo Si sueldo > 3000 entonces Escribir “Esta persona debe abonar impuestos” Finsi Fin Diagrama de flujo: (representación gráfica)

Podemos observar lo siguiente: Siempre se hace la carga del sueldo, pero si el sueldo que ingresamos supera 3000 pesos se mostrará por pantalla el mensaje "Esta persona debe abonar impuestos", en caso que la persona cobre 3000 o menos no aparece nada por pantalla.


Estructura condicional compuesta. Cuando se presenta la elección tenemos la opción de realizar una actividad u otra. Es decir tenemos actividades por el verdadero y por el falso de la condición. Lo más importante que hay que tener en cuenta que se realizan las actividades de la rama del verdadero o las del falso, NUNCA se realizan las actividades de las dos ramas. Sintaxis: Si condición entonces Acciones_u_Operaciones_V Sino Acciones_u_Operaciones_F Finsi Representación gráfica:

En una estructura condicional compuesta tenemos entradas, salidas, operaciones, tanto por la rama del verdadero como por la rama del falso.


Problema: Realizar un programa que solicite ingresar dos números distintos y muestre por pantalla el mayor de ellos. Algoritmo en lenguaje natural: Inicio Declarar num1, num2 Escribir “Digite el primer número” Leer num1 Escribir “Digite el segundo número” Leer num2 Si num1 > num2 entonces Escribir “EL MAYOR ES ”,num1 Sino Escribir “EL MAYOR ES ”,num2 Finsi Fin Diagrama de flujo: (representación gráfica)

Se hace la entrada de num1 y num2 por teclado. Para saber cuál variable tiene un valor mayor preguntamos si el contenido de num1 es mayor (>) que el contenido de num2, si la respuesta es verdadera vamos por la rama de la derecha e imprimimos num1, en caso que la condición sea falsa vamos por la rama de la izquierda (Falsa) e imprimimos num2. Como podemos observar nunca se imprimen num1 y num2 simultáneamente. Estamos en presencia de una ESTRUCTURA CONDICIONAL COMPUESTA ya que tenemos actividades por la rama del verdadero y del falso.


Operadores En una condición deben disponerse únicamente variables, valores constantes y operadores relacionales. >Operadores Relacionales: > (mayor) < (menor) >= (mayor o igual) <= (menor o igual) == (igual) != (distinto) Operadores Matemáticos + (más) - (menos) * (producto) / (división) Mod o % (residuo de una división) Ej.: x=13%5; {se guarda 3} Hay que tener en cuenta que al disponer una condición debemos seleccionar que operador relacional se adapta a la pregunta. Ejemplos: Se ingresa un número multiplicarlo por 10 si es distinto a 0. (!=) Se ingresan dos números mostrar una advertencia si son iguales. (==) Los problemas que se pueden presentar son infinitos y la correcta elección del operador sólo se alcanza con la práctica intensiva en la resolución de problemas.


EJEMPLOS: Algoritmo que lea un número y determine su doble si es par, de lo contrario su triple. Si simple DE: X PROCESO: Si X mod 2 == 0 Entonces // X ES PAR? D=X * 2; Escribir "EL DOBLE DE ",X," ES ",D; Finsi Si X mod 2 == 1 Entonces //X ES IMPAR? T=X * 3; Escribir "EL TRIPLE DE ",X," ES ",T; FinSi DS: D,T Inicio

Fin

Declarar X, D, T; Escribir "DIGITE VALOR"; Leer X; Si X mod 2 == 0 Entonces // X ES PAR? D=X * 2; Escribir "EL DOBLE DE ",X," ES ",D; Finsi Si X mod 2 == 1 Entonces //X ES IMPAR? T=X * 3; Escribir "EL TRIPLE DE ",X," ES ",T; FinSi

Si compuesto DE: X PROCESO: Si X mod 2 == 0 Entonces // X ES PAR? D=X * 2; Escribir "EL DOBLE DE ",X," ES ",D; Sino //X ES IMPAR? T=X * 3; Escribir "EL TRIPLE DE ",X," ES ",T; FinSi DS: D,T


Inicio Declarar X, D, T; Escribir "DIGITE VALOR"; Leer X; Si X mod 2 == 0 Entonces D=X * 2; Escribir "EL DOBLE DE ",X," ES ",D; Sino T=X * 3; Escribir "EL TRIPLE DE ",X," ES ",T; FinSi Fin

Algoritmo que lea un número y diga que vocal corresponde. Si simple DE: V PROCESO: Si V == 1 Entonces Escribir "LA PRIMER VOCAL ES A"; FinSi Si V == 2 Entonces Escribir "LA SEGUNDA VOCAL ES E"; FinSi Si V == 3 Entonces Escribir "LA TERCERA VOCAL ES I"; FinSi Si V == 4 Entonces Escribir "LA CUARTA VOCAL ES O"; FinSi Si V == 5 Entonces Escribir "LA QUINTA VOCAL ES U"; FinSi Si V < 1 O V > 5 Entonces Escribir "NO CORRESPONDE A NINGUNA VOCAL"; FinSi DS: mensaje correspondiente Inicio

Declarar V; Escribir "DIGITE VALOR"; Leer V; Si V == 1 Entonces Escribir "LA PRIMER VOCAL ES A"; FinSi Si V == 2 Entonces


Escribir "LA SEGUNDA VOCAL ES E";

Fin

FinSi Si V == 3 Entonces Escribir "LA TERCERA VOCAL ES I"; FinSi Si V == 4 Entonces Escribir "LA CUARTA VOCAL ES O"; FinSi Si V == 5 Entonces Escribir "LA QUINTA VOCAL ES U"; FinSi Si V < 1 OR V > 5 Entonces Escribir "LA PRIMER VOCAL ES A"; FinSi

Si Compuesto DE: V PROCESO: Si V == 1 Entonces Escribir "LA PRIMER VOCAL ES A"; Sino Si V == 2 Entonces Escribir "LA SEGUNDA VOCAL ES E"; Sino Si V == 3 Entonces Escribir "LA TERCERA VOCAL ES I"; Sino Si V == 4 Entonces Escribir "LA CUARTA VOCAL ES O"; Sino Si V == 5 Entonces Escribir "LA QUINTA VOCAL ES U"; Sino Si V < 1 OR V > 5 Entonces Escribir "LA PRIMER VOCAL ES A"; FinSi FinSi FinSi FinSi FinSi FinSi DS: mensaje correspondiente


Inicio Declarar V; Escribir "DIGITE VALOR"; Leer V; Si V == 1 Entonces Escribir "LA PRIMER VOCAL ES A"; Sino Si V == 2 Entonces Escribir "LA SEGUNDA VOCAL ES E"; Sino Si V == 3 Entonces Escribir "LA TERCERA VOCAL ES I"; Sino Si V == 4 Entonces Escribir "LA CUARTA VOCAL ES O"; Sino Si V == 5 Entonces Escribir "LA QUINTA VOCAL ES U"; Sino Si V < 1 OR V > 5 Entonces Escribir "NO CORRESPONDE A NINGUNA VOCAL"; FinSi FinSi FinSi FinSi FinSi FinSi Fin

Problemas propuestos 1. Realizar un algoritmo que lea dos números, si el primero es mayor al segundo calcular su suma y diferencia, en caso contrario calcular el producto y la división del primero respecto al segundo. 2. Se ingresan tres notas de un alumno, si el promedio es: mayor o igual a 90 mostrar un mensaje "BECA 100%", si esta entre 75 y 89 inclusive mostrar mensaje “BECA 50%”, si esta entre 60 y 74 inclusive mostrar mensaje “BECA 25%”, si es menor a 60 mostrar mensaje “SIN BECA”. 3. Leer un número e indicar que signo del zodíaco corresponde. 4. Leer un número e indicar que día de la semana corresponde. 5. Leer un número e indicar que mes del año corresponde. 6. Leer un número e indicar que País corresponde, con su área territorial, población y capital. NOTAS:  RESOLVER LOS EJERCICIOS CON APLICACIÓN DEL SI SIMPLE Y EL SI COMPUESTO.  CADA EJERCICIO DEBERA TENER SU ANALISIS CORRESPONDIENTE.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.