jueves, 20 de noviembre de 2008

ESTRUCTURAS CONDICIONALES

OBJETIVO GENERAL

Entender las estructuras condicionales y su importancia de aplicarlas en la construcción de soluciones a problemas de programación, trabajando las variantes.

OBJETIVOS ESPECIFICOS

Conocer los tipos de estructuras condicionales y su forma de aplicación.

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.1 Simple
La estructura condicional simple, permite ejecutar un conjunto de instrucciones, solo cuando al evaluar laa expresión condicional se obtiene como valor de verdad uno (1) o verdadero. El siguiente es el esquema que representa esta estructura:
Si (Condición) entonces

Fin_Si

TÉCNICAS DE PROGRAMACIÓN ESTRUCTURADA

De acuerdo al anterior esquema cuando se evalúe como verdadera (1), la expresión de condición, se ejecutara las instrucciones que haya a continuación del comando Si, De lo contrario continua después del Fin_si.
1.2 Alternas

La estructura condicional alterna a diferencia de la simple, permite bifurcar en la ejecución del programa, cuando al evaluar la expresión se puede optar por una otra alternativa, en la que se ejecuta un conjunto de instrucciones en cada caso. El siguiente es el esquema que representa esta estructura:
Si (Condición) entonces

si_no

Fin_Si

De acuerdo al esquema anterior cuando se evalúe como verdadero (1) la expresión de condición, se ejecuta las instrucciones a continuación del comando Si, pero si el resultado de la evaluación es falso (0), se ejecutara el conjunto de instrucciones que haya a continuación de si_no.
Ejercicio 1.

Analice el siguiente problema y entienda la solución propuesta. Haga la prueba de escritorio.
Tomemos el problema No. 10 de la lista de problemas a resolver que dice: Elabore un programa para validar la entrada del dato género o sexo. Los valores permitidos son M o F, minúsculas o mayúsculas. Según sea el valor se debe mostrar el Letrero Masculino o Femenino, si no es ninguna de estas dos letras debe mostrar un mensaje de Equivocación.

1. Análisis del problema: Escribir un programa para determinar si los valores indicados para el dato genero o sexo son correctos o no.
Que piden? Validar la entrada del dato sexo mostrando si es Masculino o Femenino en caso contrario error.
Que me dan? Género o sexo.
Como lo hago?
1.
Evaluando o validando el valor del dato sexo para saber si es un valor aceptable entonces se muestra el letrero Masculino o Femenino según sea el caso; de no ser así se muestra un mensaje de error.

Otra forma seria:
Si sexo = “F” o sexo = “f” o sexo = “M” o sexo = “m” entonces
Si sexo = “F” o sexo = “f” entonces
Escriba “ Genero Femenino “
Sino
Autor: Luis Heladio Garzón Rodríguez.
Escriba “ Genero Masculino”
Finsi
Sino
Escriba “No es un valor aceptado para Genero o Sexo”
Finsi

Como puede observar en este caso el como lo hago no implica una operación aritmética de calculo, pero si una decisión respecto a un valor a evaluar. He colocado dos formas de escribir el como lo hago porque la forma que se escribe como 1, es la forma en como lo pensaríamos normalmente antes de escribirlo en seudolenguaje, como es la otra forma sugerida.

2. Algoritmo Genero
Inicio
1 Conocer el dato sexo
2 Evaluar el valor del dato sexo para saber si es un valor aceptable entonces mostrar el letrero Masculino o Femenino según sea el caso; de no ser así se muestra un mensaje de error
Fin_Algoritmo

3. Definición y declaración de variables:
Entrada : sexo : Cadena
Proceso :
4. Programa Genero
VAR
Sexo : Cadena
Inicio
Escriba ‘ Genero o Sexo [M: Masculino, F: Femenino] : ‘ Lea sexo
//Aquí inicia el proceso de validación del valor del dato sexo
Si sexo = “F” o sexo = “f” o sexo = “M” o sexo = “m” entonces
Si sexo = “F” o sexo = “f” entonces
Escriba “ Genero Femenino “
Sino
Escriba “ Genero Masculino”
Finsi
Sino
Escriba “No es un valor aceptado para Genero o Sexo”
Finsi
Fin

En el lenguaje C++ este programa se escribe así:
#include
#include
void main()
{
char sexo;
cout<<” Genero o Sexo [M: Masculino, F: Femenino] : “; cin>>sexo;
//Aquí inicia el proceso de validación del valor del dato sexo
if (sexo == “F” sexo == “f” sexo == “M” sexo = “m” )
{
if (sexo == “F” sexo = “f”)
cout <<“ Genero Femenino “;
else
cout <<“ Genero Masculino”;
}
else
cout <<“No es un valor aceptado para Genero o Sexo”;
}//Fin del programa principal

Como puede observar la escritura o codificación del programa en seudolenguaje al Lenguaje C++ es muy similar excepto que se cambia las palabras de las instrucciones del seudolenguaje por las instrucciones del lenguaje elegido, cualquiera que sea. Es importante resaltar que lo más importante es el componente lógico en la elaboración de la solución.

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.