Sentencias
condicionales
Si/Entonces y
Según
¿Qué son las sentencias algorítmicas?
Una sentencia algorítmica es una evaluación de una variable que
ejecuta una instrucción específica, dicha evaluación la podemos
hacer con cualquier tipo de dato (Entero, Real, Carácter y Lógico)
y según esa evaluación la ejecución de la instrucción no se
realiza, se realiza y se repite n-veces hasta que se cumpla o no
dicha condición. Estas estructuras permiten realizar las tareas
algorítmicas fácilmente, y ayudan a la estructuración del mismo.
Sentencia de decisión Declaración de una
simple Si/Entonces variable
Esta sentencia como su
nombre lo indica, decide
La sintaxis para declarar una
ejecutar una instrucción variable la vimos en la anterior
evaluando dicha variable, que unidad de conocimiento, pero
puede ser, una expresión falsa vamos a recordar el diagrama
o verdadera de tipo Entero, de flujo y el código; esto es
Real o Lógica o Carácter es
importante recordar pues lo
decir deben ser expresiones usaremos mucho durante el
booleanas. curso:
Diagrama de flujo
Definir a Como Entero
Pseudocódigo
Definir a Como Entero;
Diagrama de flujo
La sentencia Si/entonces la encontramos en diagrama de flujo con la siguiente simbología.
falso Verdadero
condición
Pseudocódigo
Para hacerlo en lenguaje de código, nos ubicamos en la barra de comandos al
lado derecho de la pantalla y vamos a dar clic izquierdo a la opción Si-Entonces
para que nos aparezcan las siguientes líneas de código:
Si <condición> Entonces
<instrucciones>
Sino
<instrucciones>
FinSi
Estructura del Si/Entonces
Una sentencia Si/Entonces se ejecuta si la condición cumple con expresión
lógica que se requiera, por lo general se utiliza los operadores matemáticos igual
que (=), mayor que (>), menor que (<), mayor o igual (>=), menor o igual (<=),
diferente (<>). Estos operadores llamados relacionales, son evaluados con
respecto a una variable, declarada anteriormente como por ejemplo:
Si a <= 2 Entonces …..
Pasos para la creación de una sentencia
Si/Entonces
Tener
claro
qué
-po
de
dato
quiero
evaluar
y
que
deseo
hacer
con
dicha
condición
En
Sino
ponemos
las
De
la
barra
de
comandos
dar
clic
instrucciones
que
queremos
que
a
Si-‐Entonces
para
que
el
editor
se
ejecuten
si
la
condición
es
de
código
ponga
las
palabras
falsa
reservadas
de
la
sentencia
En
la
parte
de
instrucciones,
En
la
parte
de
<expresión
lógica>
ponemos
las
acciones
que
se
poner
la
condición
a
evaluar
ejecutan
si
la
variable
cumple
u-lizando
los
operadores
con
la
condición.
matemá-cos
Si/Entonces en diagrama de flujo
Al igual que en el
pseudocódigo se evalúa la
variable a y puede tomar la
decisión sea el caso. F y V
hacen referencia al Falso y
Verdadero, que depende de
la evaluación de la expresión
booleana contenida en el
rombo, símbolo escogido
para representar la sentencia
Si/Entonces
Si/Entonces en pseudocódigo
Condición lógica o
expresión booleana Muestra en pantalla el mensaje si se
cumple la condición
Si a = 1 Entonces
Escribir "El numero que elegiste es el 1";
Sino
Escribir "El numero que elegiste es el 0";
FinSi
Muestra en pantalla el mensaje s si la
condición es falsa
Aquí se avalúa si la variable a no cumple con ser igual que 1, si no cumple con la condición sigue con la siguiente línea de código.
La sentencia Si/Entonces
evalúa la condición lógica de
la variable a y decide que
instrucción ejecuta
dependiendo de dicha
evaluación, en este caso si a
es o no el número 1; la
sentencia Si/Entonces se
ejecuta una sola vez y sigue
con las demás líneas de
código.
Si/Entonces anidado en diagrama de
flujo
Aquí se toman varias
decisiones contenida en una
sola sentencia, ha esto le
llamamos anidar sentencias,
y se utiliza para tomar
múltiples decisiones con
respecto a una variable,
evaluándose múltiples veces.
Una de las aplicaciones es el
filtrado de información.
Si/Entonces anidado en pseudocódigo
Si a = 1 Entonces
Escribir "El numero que elegiste es el 1";
Siempre se pregunta
Sino Sino después se evalúa
el siguiente Si
Si a = 2 Entonces
Escribir "El numero que elegiste es el 2";
Variable
Sino
Si a = 3 Entonces
Escribir "El numero que elegiste es el 3";
Sino
Escribir "digitaste otro número";
FinSi
FinSi Mostrar en pantalla
FinSi
Esta es la forma de anidar
una sentencia Si/Entonces,
evaluando la variables a
múltiples veces.
Sentencia Según
Esta sentencia se asemeja a un Si/Entonces anidado, donde evaluamos una
variable numérica, es decir, de tipo de dato Entero o Real
Las instrucciones
dependen de la variable
numérica
Al ejecutarse, se evalúa el contenido de la variable y se ejecuta la secuencia de
instrucciones asociada con dicho valor. Cada opción está formada por uno o más
números separados por comas, dos puntos y una secuencia de instrucciones.
Simbología del diagrama de flujo:
Sentencia Según
• La palabra reservada De Otro Modo nos sirve
para ejecutar una instrucción que no cumpla con
ninguna de las opciones descrita por la variable
numérica en este caso piso que se declaro como
Entero.
• Cuando se entra a la condición Según se evalúa
primero la variable numérica.
• Se ejecuta una sola vez y sigue con las líneas de
código siguientes
Pseudocódigo: Sentencia Según
Al igual que en el diagrama de flujo, el pseudocódigo
cumple con el mismo objetivo, pero de aquí en
adelante veremos las ventajas del mismo, pues a la
hora de utilizarlo se hace más fácil que editar un
diagrama de flujo y más si las decisiones que debe
tomar el algoritmo son bastantes extensas. La
sintaxis es la siguiente:
Segun <variable_numérica> Hacer
opcion_1:
secuencia_de_acciones_1
opcion_2:
secuencia_de_acciones_2
opcion_3:
secuencia_de_acciones_3
De Otro Modo:
secuencia_de_acciones
FinSegun
Estructura de pseudocódigo
{variable_numerica}: complete aquí la variable cuyo contenido se debe evaluar
para decidir que acciones ejecutar.
La sentencia Según es considerada como
un selector de datos, como por ejemplo
cuando seleccionamos una emisora, las
frecuencias son las opciones que
tenemos para sintonizar
Estructura de la sentencia Según
{opcion_n} y {secuencia_de_acciones_n}: reemplaze
{opcion_n} por un posible valor para
{variable_numerica} y complete
{secuencia_de_acciones_n} con las instrucciones a
ejecutar en caso de que el valor coincida. Puede
agregar {opcion_n} y {secuencia_de_acciones_n}
tantas veces como sea necesario para cubrir los
casos que correspondan.
Puede asociar más de una opción a un mismo
grupo de acciones colocando en {opcion_n} la lista
de valores separados por comas.
Resumen sentencia Si/Entonces
Una de las condiciones a las cuales nos sometemos
diariamente es a la toma de decisiones, y es así
como esta sentencia funciona; supongamos que
vamos en un coche y noes encontramos con una
intersección debemos decidir si tomar el camino a
casa o ir al centro comercial, cada uno con sus
ventajas y desventajas, pero que nos conducen a
situaciones diferentes, esto es llamado condición
lógica y para utilizar estas mismas decisiones que
tenemos en la vida real, y adaptarlas al lenguaje de
seudocódigo hacemos el uso de la sentencia Si/
Entonces.
Resumen sentencia Según
Las decisiones que tomamos con la sentencia Si/
Entonces va asociada con una decisión múltiple de
casos que podemos evaluar según las acciones que
queramos hacer, por ejemplo si queremos hacer
diferentes actividades en el día como ir al gimnasio,
de compras, a tomar un café etc. Para todos estos
casos anidarlos en muchos Si/Entonces se convierte
en una tarea muy dispendiosa en cuanto a código y
entendimiento del mismo, y para solucionar las
dificultades de la implementación se utiliza la
sentencia Según.
Ejemplos de diagramas de flujo y
pseudocódigo
En la siguiente imagen vemos como esta desarrollado un algoritmo para dividir
dos números que se almacenan en la variables a y b definidas como números
enteros y se muestran en pantalla.
Se muestra el resultado en la
variable c, para evitar la
división por cero se utiliza la
sentencia Si/Entonces.
El resultado se muestra en pantalla de una manera no muy amena para el usuario,
pero esto lo podemos mejorar de la siguiente manera, utilizando la concatenación
como se muestra en la siguiente diapositiva.
Ejemplos de diagramas de flujo y
pseudocódigo
La concatenación es simplemente una conexión de una variable o cadena de
caracteres con otras variables y cadenas de caracteres. Se utiliza la coma (,) para
hacer uso de la concatenación.
Se muestra el resultado en la
variable c, para evitar la
división por cero se utiliza la
sentencia Si/Entonces.
El resultado se muestra en pantalla con una concatenación entre un mensaje y la
variable que almacena el cociente, es decir, el resultado.
Ejemplos de diagramas de flujo y pseudocódigo
Aquí en este ejemplo se hace uso de las sentencias Según y Si/Entonces para
hacer la división de dos enteros, con mensajes de error “división por cero” que se
evalúa en la sentencia Según y verificación del divisor con una sentencia Si/
Entonces, como es una división de enteros el divisor no puede ser mayor que el
dividendo.
Este es un simple ejemplo en
donde podemos utilizar las
dos sentencias de decisión
para mejorar el rendimiento
de nuestro algoritmo
El resultado se muestra en pantalla con una concatenación entre un mensaje y la
variable que almacena el cociente, es decir, el resultado.
Ejemplos de diagramas de flujo y
pseudocódigo
A continuación mostramos el pseudocódigo del algoritmo Division_Enteros,
donde podemos observar el proceso más fácilmente que en el diagrama de flujo,
cabe recordar que los mensajes por consola se hacen a usando de la palabra
reservada Escribir
Se evalúan la división por
cero y el divisor haciendo
uso de las sentencias Según
y Si/Entonces
En el ejemplo se puede observar la estructura básica de un programa que divida
dos números enteros, para hacer todo tipo de división basta con quitar la
sentencia Si/Entonces y declarar las variables a, b, c como Real
Bibliografía
Aguilar, L. J. (1996). Fundamamentos de
Programación. España: McGRAW-HILL.
Novora, P. (14 de Junio de 2017). Ayuda PSeInt .