ALGORITMOS- ESTRUCTURAS
CONDICIONALES
Francisco Nicolás Javier Solarte solarte
UDENAR 2020
Estructuras Condicionales
Es frecuente que en la mayoría de los algoritmos se
tengan que tomar decisiones, lo que origina una
bifurcación del flujo dependiendo de la condición que se
esté analizando en ese momento. Si la condición es
verdadera toma una ruta, encaso contrario toma la ruta
alterna. A este tipo de estructuras también se les conocen
como Estructuras de Decisión y se pueden clasificar así:
IF_THEN
IF_THEN_ELSE
CASE
Estructura IF - THEN (SI - ENTONCES).
Se emplea cuando se desea ejecutar una ó más
instrucciones dependiendo de si cumple una determinada
condición del problema, en caso contrario, no se ejecuta
instrucción alguna y se continúa con el flujo del
algoritmo.
La estructura general es:
en Inglés IF { Condición } THEN ACCION ENDIF
En Español SI { Condición } ENTONCES ACCION FINSI
Estructura IF - THEN (SI - ENTONCES).
Como se observa, va acompañada de un indicador de final
del rango del IF o del SI, para señalar cual es la acción ó
acciones que se deben ejecutar cuando la condición sea
verdadera.
En los diagramas de flujo comúnmente se usa un símbolo
en forma de rombo ó diamante para indicar la decisión.
Estructura IF - THEN (SI - ENTONCES).
La estructura tiene una sola entrada y el flujo se vuelve a
unir a partir de la condición analizada, para continuar con
la salida unificada.
Estructura IF - THEN (SI - ENTONCES).
EJERCICIO Leer dos valores en un registro y calcular la suma de
los números leídos; si el valor de la suma es negativa, imprimir
el resultado.
Solución
a) análisis
Entrada: Leer A, B
Proceso: Calcular SUMA = A+B Averiguar si SUMA es menor que
cero para imprimir su contenido, en caso contrario no se
imprime.
Salida: Imprimir SUMA dependiendo de su valor.
Estructura IF - THEN (SI - ENTONCES).
b) Variables a utilizar
A, B = Valores a ser tratados
SUMA = Valor resultante
Estructura IF - THEN (SI - ENTONCES).
c) Algoritmo
Paso 1 INICIO
Paso 2 Leer A, B
Paso 3 SUMA A + B
Paso 4 SI SUMA < 0 ENTONCES Imprimir SUMA FINSI
Paso 5 FIN
Estructura IF - THEN (SI - ENTONCES).
EJERCICIO
Leer en un registro los valores A y B. Calcular la suma,
resta, multiplicación y división de los números leídos.
Imprimir los valores leídos, así como todo lo calculado.
Nota: Si B = 0. no se debe efectuar la división A/B.
Estructura IF - THEN (SI - ENTONCES).
Solución
a) Análisis
Entrada: Leer A, B
Proceso: Calcular C = A + B D = A - B E = A * B Si B <> 0,
calcular F = A / B
Salida: A, B, C, D, E, F
Estructura IF - THEN (SI - ENTONCES).
b) Variables a utilizar
A, B = Variables a ser tratadas
C, D, E, F = Variables resultantes
Estructura IF - THEN (SI - ENTONCES).
c) Algoritmo
Paso 1 INICIO
Paso 2 Leer A, B
Paso 3 C A + B
Paso 4 D A - B
Paso 5 E A * B
Paso 6 imprimir A, B, C, D, E
Paso 7 SI B <> 0 ENTONCES F A / B
IMPRIMIR F
FINSI
Paso 8 FIN
Prueba de escritorio
Siempre que se formule un algoritmo, es fundamental probarlo con
diversos datos para determinar su comportamiento. De aplicarse ésta
técnica en forma permanente, se reducirá la probabilidad de errores y
alimentará la confianza en las soluciones producidas.
La prueba de escritorio consiste en reemplazar las variables que
intervienen en el algoritmo con valores de diferente índole,
efectuándoles seguimiento y observando su comportamiento. En esta
forma se determina si el algoritmo funciona correctamente ó si por el
contrario presenta errores de lógica.
Esta prueba se debe hacer en repetidas ocasiones y con diversidad de
datos, porque se puede presentar el caso de soluciones algorítmicas
que se comportan eficientemente con ciertos datos, pero no con
otros.
Prueba de escritorio
Las variables que intervienen en el proceso se colocan
horizontalmente y debajo de ellas se ubican los correspondientes
valores que van tomando de acuerdo al flujo del algoritmo.
Ejemplo de prueba escritorio para el ejercicio anterior:
Si A = 10 B = 5 Se tiene:
A B C D E
10 5 15 5 50
Como B es diferente de 0, se efectúa la división y se tiene
que F = 2, para luego culminar el ejercicio.
Prueba de escritorio
Probando el mismo ejercicio con los siguientes datos: Si A = 10 B = 0
Se tiene:
A B C D E
10 0 10 10 0
Como B es igual a 0, no se efectúa la división y se termina el
ejercicio.
Estructura IF - THEN – ELSE (SI – ENTONCES -
DE LO CONTRARIO ó SI-ENTONCES-SINO).
En caso de que la condición analizada sea verdadera se efectúa
una ó más instrucciones a seguir, en caso contrario se realiza
otra acción o conjunto de acciones diferentes, unificándose en
los flujos de tal manera que al final de la estructura se enrutan
hacia el mismo punto. La estructura general es la siguiente:
En Inglés En español
IF { Condición SI { Condición }
THEN PASO 1 ENTONCES PASO 1
ELSE PASO 2 SINO PASO 2
ENDIF FINSI
Estructura IF - THEN – ELSE (SI – ENTONCES -
DE LO CONTRARIO ó SI-ENTONCES-SINO).
Gráficamente se tiene:
Estructura IF - THEN – ELSE (SI – ENTONCES -
DE LO CONTRARIO ó SI-ENTONCES-SINO).
EJERCICIO Leer un valor diferente de cero y determinar si se
trata de un número positivo o negativo.
Solución
a) Análisis
Entrada: Leer N
Proceso: Determinar si N es > ó < que cero
Salida; Producir el correspondiente mensaje.
b) Variables a utilizar
N: Variable a ser leída y analizada
Estructura IF - THEN – ELSE (SI – ENTONCES -
DE LO CONTRARIO ó SI-ENTONCES-SINO).
c) Algoritmo
Paso 1 INICIO
Paso 2 Leer N
Paso 3 SI N > 0
ENTONCES IMPRIMIR N "ES POSITIVO"
SINO IMPRIMIR N "ES NEGATIVO"
FINSI
Paso 4 FIN
Estructura IF - THEN – ELSE (SI – ENTONCES -
DE LO CONTRARIO ó SI-ENTONCES-SINO).
d) Prueba de escritorio.
Si N = 7 IMPRIMIR 7 ES POSITIVO y termina el ejercicio.
Si N = -3 IMPRIMIR -3 ES NEGATIVO y termina el ejercicio.
PREGUNTAS ??