jueves, 12 de octubre de 2017

ESTRUCTURAS DE CONTROL BASICAS

Introducción

Las estructuras de control, son instrucciones que permiten romper la secuencialidad de la ejecución de un programa; esto significa que una estructura de control permite que se realicen unas instrucciones y omitir otras, de acuerdo a la evaluación de una condición.
 Comparación Estructuras de Control
Como se observa en el lado derecho de la figura, los programas son secuenciales, se ejecutan todas las instrucciones una a continuación de otra; mientras que al utilizar estructuras de control, - lado izquierdo de la figura -, ya no necesariamente se ejecutan todas las instrucciones, sino únicamente las instrucciones de la ruta seleccionada de acuerdo a una condición evaluada.
Existen 2 tipos de esctructuras de control:
  1. Selectivas
  2. Repetitivas
Las primeras permiten seleccionar un camino a ejecutarse entre dos o más opciones "por una sola vez"; y las segundas, permiten ejecutar un conjunto de instrucciones "varias veces" mientras se cumpla una condición. 
Al escribir una estructura de control, se deberá tener presente que una correcta tabulación, permitirá que el programa sea más legible y fácil de comprender. Los lenguajes de programación, realizan esta tabulación de forma automática, siempre y cuando se escriban correctamente el inicio y final de cada estructura.

Sentencias Selectivas

Las estructuras de control Selectivas, permiten "seleccionar" una ruta alterna a la solución del problema, según el resultado de evaluar una expresión relacional y/o lógica.
Si se considera un ejemplo de la vida diaria, podría ser semejante a las decisiones que se toman para realizar acciones específicas:
Si llueve (expresión lógica), llevar paraguas;
Si tengo suficiente dinero (condición relacional), comprar recuerdos; sino No comprar.
Estas decisiones que se toman diariamente, están reflejadas en programación como estructuras selectivas.
Existen específicamente dos instrucciones selectivas: If y Switch
Para la representación gráfica de las estructuras selectivas se utiliza la figura geométrica "rombo" para ingresar la condición que determinará el camino a seguir.
 
Para el diseño en Pseudocódigo se utiliza la palabra "Si" y "finSi". La sintaxis está detallada en la explicación de cada instrucción. 
Para identificar qué instrucciones van en cada sección de la instrucción selectiva debe preguntarse lo siguiente:
Si la condición es verdadera ¿qué debe hacer el programa?
Todas las respuestas a esta pregunta deben escribirse como instrucciones en la sección verdadera de la sentencia selectiva.
Ejemplo: Realice un programa que verifique si un número es positivo, en caso afirmativo imprima el mensaje indicando qué es positivo, y réstele 1, y obtenga el residuo del número dividido para 2.
Respuesta
En este caso, la condición es: num>0; por lo tanto si es la evaluación es verdadera, entonces: ¿qué debe hacer el programa?: 
Imprimir "positivo"
num = num - 1
residuo = num % 2 
Las tres instrucciones deben ir en la sección afirmativa de la sentencia.
De igual manera, para identificar las instrucciones de la sección falsa, debe preguntarse:
Si la condición es falsa ¿qué debe hacer el programa?
Todas las respuestas a esta pregunta deben escribirse como instrucciones en la sección falsa de la sentencia selectiva; sin embargo es posible que no deba realizarse ninguna acción, en cuyo caso la instrucción únicamente tiene parte verdadera.

RECUERDE: Una instrucción selectiva, puede no tener parte falsa, pero siempre debe tener una parte verdadera;
Ejemplo: Realice un programa que verifique si un número es positivo, en caso afirmativo imprima el mensaje indicando qué es positivo, y réstele 1, y obtenga el residuo del número dividido para 2.  Si se trata de un número negativo: Imprima el mensaje Negativo y súmele 1 al número.
Respuesta
En este caso, la condición es: num>0; por lo tanto si es la evaluación es verdadera, entonces: ¿qué debe hacer el programa?: 
Imprimir "positivo"
num = num - 1
residuo = num % 2 
Las tres instrucciones deben ir en la sección afirmativa de la sentencia.
Si es falso ¿qué debe hacer el programa?: 
Imprimir "Negativo"
num = num + 1

If

La Instrucción If, "Si" en pseudocódigo, permite alterar la secuencia seleccionando entre dos opciones posibles. Esta instrucción puede escribirse de las siguientes formas:
SI SIMPLE
En esta forma, los pasos o instrucciones que se encuentran dentro se ejecutan únicamente cuando la evaluación de la condición sea verdadera.
Sintaxis:
Pseudocódigo DFD C
si (condición)
paso1
paso2
...
pasoN
finSi
if (condición) {
instrucción1;
instrucción2;
...
instrucciónN;
}

SI COMPLETO (VERDADERO - FALSO)
En esta forma, los pasos o instrucciones que se encuentran entre el inicio y fin de la estructura, tienen dos secciones:
  1. Un conjunto de instrucciones que se ejecutan cuando la evaluación de la condición sea verdadera
  2. Un conjunto e instrucciones que se ejecutan cuando la evaluación de la condición sea falsa.
Sintaxis:
En Pseudocódigo DFD C
si (condición)
paso1
paso2
...
pasoN
finSi
caso contrario
paso1
paso2
...
pasoN
finCasoContrario
if (condición) {
instrucción1;
instrucción2;
...
instrucciónN;
}

SI ANIDADO
 Es una modificación del uso de la instrucción "Si", que aprovechando la característica de anidamiento de las estructuras de control, según la cual es posible que una estructura se contenga a sí misma como parte de su cuerpo de instrucciones, permitiendo así elegir entre más de dos opciones.
Sintaxis:
Pseudocódigo DFD C
Si (condición)
pasos
caso contrario
si (condición)
pasos
caso contrario
si (condición)
pasos
finSi
finSi
finSi
  if (condición){
pasos
}
else{
if(condición){
pasos
}
else{
if(condición){
pasos
}
}
}
Como puede observarse en la tabla anterior, esta característica de la instrucción if, permite decidir entre más de dos posibilidades de respuesta, siendo posible extenderse tantas como sea necesario.  Es necesario aclarar que tanto la parte verdadera como la parte falsa pueden anidar dentro de sí mismas otra instrucción de tipo if con o sin su correspondiente caso contrario.

Switch

La Instrucción Switch, es una alternativa a la instrucción if, y se caracteriza por ofrecer la posibilidad de elegir entre más de dos opciones. En pseudocódigo, se le conoce de diferentes formas:
  1. En caso de
  2. Según sea
Pero al igual que en la instrucción if, el camino a seguir depender del valor que se evalúe. En esta instrucción no existe una condición explícita en su sintaxis, sin embargo de acuerdo al lenguaje es posible evaluar un caracter o un número, siendo esta una limitación que impide la escritura directa de condiciones; por lo que es útil en algunos problemas en los que se requiere elegir opciones directas. Su sintaxis es la siguiente:
En Pseudocódigo:
Según variable_numerica Hacer
opcion_1:
Escribir "acciones1"
opcion_2:
Escribir "acciones2"
opcion_3:
Escribir "acciones3"
De Otro Modo:
Escribir "accionesSiNoCumpleNinguna"
Fin_SegunSea

En DFD se vería así:

Para implementar en Java, las instrucciones son las siguientes:
switch (op){
case 1:
instrucciones
break;
case 2:
instrucciones
break;
default:
instrucciones
break;
}

No hay comentarios:

Publicar un comentario