Sei sulla pagina 1di 3

Politécnico Colombiano Jaime Isaza Cadavid– Fundamentos de Programación 1

UNIDAD 3

SEMINARIO DE ENCUENTRO NUMERO 4. – Sesión 4

ESTRUCTURAS DE DECISIÓN ANIDADAS

Las estructuras selectivas pueden anidarse, lo que significa que una estructura selectiva puede contener a su vez otra
estructura selectiva, dentro de cualquiera de las secciones de una estructura condicional, sea simple o doble, puede
incluirse otra estructura condicional que a su vez puede ser simple o doble y puede contener también dentro de ella,
otras estructuras condicionales o selectivas.

Al utilizar estructuras anidadas, debe conservarse la sintaxis de cada una de las estructuras selectivas, teniendo en
cuenta que cada estructura selectiva simple debe tener su respectivo fin_si y cada estructura selectiva compuesta
puede tener sólo una cláusula si_no y debe tener el respectivo fin_si. Omitir alguno de éstos elementos puede
ocasionar un error en el algoritmo.

EJEMPLO DE ESTRUCTURAS ANIDADAS

si (condicion1) entonces
sentencia1
si (condicion2) entonces
si (condicion3) entonces
sentencia2
si_no
sentencia3
fin_si
fin_si
si_no
sentencia4
fin_si

No existe un límite para el nivel de anidamiento. Pueden utilizarse tanto estructuras condicionales simples como
estructuras condicionales dobles, pero, cada una de ellas debe conservar la sintaxis correcta para las estructuras
condicionales.

En estos casos, la identación apropiada es sumamente útil, pues facilita la lectura y visualización de la estructura
completa:

Las cláusulas si, si_no y fin_si de cada estructura deben ir alineadas

PREGUNTAS DE REVISIÓN

¿Cómo tiene que ser cada una de las condiciones del ejemplo anterior, para que cada sentencia se ejecute? Llene la
siguiente tabla con las siguientes opciones: Verdadero, Falso, ó X, si no importa el valor de verdad de determinada
condición para que se ejecute una sentencia.

condicion1 condicion2 condicion3


sentencia1

sentencia2

sentencia3

sentencia4
Politécnico Colombiano Jaime Isaza Cadavid– Fundamentos de Programación 2

EJEMPLO

Una emisora de radio, tiene organizado su horario de emisión dependiendo del día de la semana y la hora:

Fines de Semana:

00:00 a 09:00  Noticias


09:01 a 23:59  Variedades

Semana

00:00 a 10:00  Opinión


10:01 a 23:59  Música

Con base en éste horario, determinar qué tipo de programa está al aire.

Análisis:

Se entiende por fines de semana, los días sábado y domingo, todos los demás días, son días de "semana". Debe
averiguarse de qué día se trata y la hora, para establecer el tipo de programa que se está emitiendo.

Modelamiento:

Datos de Entrada

Descripción Variable

Día de la semana día


Hora del día hora

Dato de salida

Un mensaje

Especificaciones:

Precondiciones

hora ∈ { Reales >= 0 AND <=24


dia ∈ { Enteros > 0 AND < 8}

Postcondiciones

Formulas

Mensaje es "programa noticioso" cuando el día corresponde al fin de semana (días 6 y 7) y la hora está
entre las 0 y las 9

Mensaje es "programa de variedades" cuando el día corresponde al fin de semana (días 6 y 7) y la hora no
está entre las 0 y las 9

Mensaje es "programa de opinión" cuando el día no corresponde al fin de semana (días 6 y 7) y la hora
está entre 0 y las 10

Mensaje es "programa musical" cuando el día no corresponde al fin de semana (días 6 y 7) y la hora
no está entre 0 y las 10
Politécnico Colombiano Jaime Isaza Cadavid– Fundamentos de Programación 3

Algoritmo_radio
Var.
entero : dia
real : hora
inicio
escribir ("Día de la semana ? [ 1 Lunes – 7 Domingo]")
leer (dia)
escribir ("Hora? Separe horas y minutos con punto [10.35]")
leer (hora)
si (dia >=6) entonces
si hora >=9 entonces
escribir ("Programa noticioso")
si_no
escribir ("Programa de variedades")
fin_si
si_no
si hora >=10 entonces
escribir ("Programa de opinión")
si_no
escribir ("Programa musical")
fin_si
fin_si
fin

PREGUNTAS DE REVISIÓN

1. Cuántas estructuras selectivas simples hay en el algoritmo anterior?


2. Cuántas estructuras selectivas dobles hay en el algoritmo anterior?
3. Cuántos niveles de anidamiento hay en el algoritmo anterior?
4. Realice el diagrama de flujo correspondiente al algoritmo.

Potrebbero piacerti anche