jueves, 20 de noviembre de 2008

ESTRUCTURAS CONDICIONALES ANIDADAS

TÉCNICAS DE PROGRAMACIÓN ESTRUCTURADA

OBJETIVO GENERAL

Aplicar de manera avanzada las estructuras condicionales, mediante la utilización de las estructuras alternas que elegir entre en un grupo de posibles valores que pueda tomar un dato, para ejecutar un conjunto de instrucciones.

OBJETIVOS ESPECIFICOS

Utilizar en la solución de problemas que presenten múltiples opciones o alternativas, una variante de las estructuras condicionales alternas, anidando estas.

Aplicar las estructuras condicionales en el desarrollo de soluciones a problemas de programación propuestos.

Evaluar expresiones condicionales para comprobar las soluciones construidas.

ESTRUCTURAS CONDICIONALES

Hasta el momento en este curso, se ha trabajado con estructuras secuénciales, las que permiten crear soluciones a problemas que no representan mayor dificultad, porque no se tiene que tomar decisiones o escoger uno u otro conjunto de instrucciones a ejecutar.
Las estructuras condicionales de las técnicas de programación estructurada, permiten crear soluciones que representan el reto de tomar decisiones, para ejecutar instrucciones diferentes dependiendo del resultado obtenido de evaluar las expresiones condicionales para los casos propuestos.
1. Estructuras condicionales
1.1 Simples
1.2 Alternas
1.3 Anidadas

1. Estructuras condicionales

Estas representan la facilidad de incorporar alternativas de solución a las necesidades del medio o problema a resolver, aplicando en ello cualquiera de los tipos de estructuras condicionales.

1.3 Anidadas

La estructura condicional anidada, permite incluir estructuras condicionales una dentro de otra y así sucesivamente, cuando una variable (dato) puede tomar una de múltiples valores posibles. En este caso el anidamiento se puede dar por verdadero o falso, dependiendo del tipo de problema. Usualmente se anida por la alternativa da Falso (0) al evaluar la expresión condicional.. El siguiente es el esquema que representa esta estructura:


TÉCNICAS DE PROGRAMACIÓN ESTRUCTURADA

Si (Condición) entonces

sino
Si (condición) entonces

sino
Si (condición) entonces

Finsi
Finsi
FinSi
Ejercicio 1.

Analice el siguiente problema y entienda la solución propuesta. Haga la prueba de escritorio.
Escriba un programa para liquidar el servicio de teléfono según la pulsaciones. Para ello se ingresa número de teléfono, cantidad de pulsaciones. Tenga en cuenta las siguientes tarifas POR PULSACION para liquidar el servicio de teléfono:

Entre 0 a 300 pulsaciones $ 85.oo
Entre 301 a 800 pulsaciones $ 69.oo
Entre 801 a 1600 pulsaciones $ 58.oo
1601 o más pulsaciones $ 50.oo
El programa debe calcular y mostrar el valor a pagar por el servicio.
Análisis del problema: Liquidar el servicio de teléfono de acuerdo a las pulsaciones, aplicando las tarifas de acuerdo al consumo.
Que piden? Liquidar el servicio de teléfono.
Que me dan? Dos datos, Número de teléfono, cantidad de pulsaciones.
Como lo hago? 1. Comparando la cantidad de pulsaciones para saber en que rango.
2. Aplicar la tarifa para el rango y así obtener el valor del servicio.
Definición y declaración de variables:
Entrada : N_tele : carácter
Can_pul: Entero
Proceso : val_ser : Real
Pseudo_Algoritmo SERTELE
Const
t1 = 85 t2 = 69 t3 = 58 t4 = 50
VAR
N_tele : Carácter
Can_pul : Entero
Val_ser:Real


TÉCNICAS DE PROGRAMACIÓN ESTRUCTURADA

Inicio
Escriba ‘ Número de teléfono : ‘ Lea N_tele
Escriba ‘ Cantidad de pulsaciones : ‘ Lea Can_pul
//Aquí inicia el proceso de selección de la tarifa a aplicar
Si Can_pul >= 0 y Can_pul <= 300 entonces
Tarifa = t1
Sino
Si Can_pul <= 800 entonces
Tarifa = t2
Sino
Si Can_pul <= 1600 entonces
Tarifa = t3
Sino
Tarifa = t4
Finsi
Finsi
Finsi
Val_ser = Tarifa * Can_pul
//Aquí se muestra el resultado obtenido del programa
Escriba ‘ Debe pagar por servicio de teléfono : ‘, Val_ser
Fin
Otra forma en que se puede escribir la solución a este problema es la siguiente:
Pseudo_Algoritmo SERTELE2
Const
t1 = 85 t2 = 69 t3 = 58 t4 = 50
VAR
N_tele : Carácter
Can_pul : Entero
Val_ser : Real
Inicio
Escriba ‘ Número de teléfono : ‘ Lea N_tele
Escriba ‘ Cantidad de pulsaciones : ‘ Lea Can_pul
//Aquí inicia el proceso de selección de la tarifa a aplicar
Si Can_pul >= 0 y Can_pul <= 300 entonces
Val_ser = t1 * Can_pul
sino
Si Can_pul <= 800 entonces
Val_ser = t2 * Can_pul
Sino
Si Can_pul <= 1600 entonces
Val_ser = t3 * Can_pul
Sino

TÉCNICAS DE PROGRAMACIÓN ESTRUCTURADA

Val_ser = t4 * Can_pul
Finsi
Finsi
Finsi
//Aquí se muestra el resultado obtenido del programa
Escriba ‘Debe pagar por servicio de teléfono: ‘, Val_ser
Fin
Es importante que analice las dos propuestas de solución y las evalué, en el sentido de que piense cual es mas útil y eficiente.

Una variante utilizada en programación aplicando las estructuras condicionales alternas, cuando el programa así lo requiere, es la de las estructuras condicionales anidadas. Revise el tema y entienda en que casos debe ser aplicada ese tipo de estructura condicional.