Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Virusg
Virusg
ESTRUCTURAS SELECTIVAS
Seleccin simple. (if) Seleccin complementaria (if-else) Anidamiento Seleccin mltiple (switch)
Solucin:
emplear instrucciones que nos permitan hacer una cosa u otra
CONCEPTOS PREVIOS
Bloque de instrucciones: Conjunto de instrucciones que se encuentra encerradas entre dos llaves {....} p.e.
Comentarios
SELECCIN SIMPLE: IF
La instruccin if permite elegir si se ejecuta o no un bloque de instrucciones. Sintaxis:
if (exp_condicional) bloque_instrucciones
EJEMPLO 1
main(){ int x; printf(Deme un numero); /* mensaje indicando lo que se pide */ scanf(%d,&x); /* se introduce el nmero */ if (x>=0) /* expresin condicional del if */ { printf(El numero %d es positivo,x); /* bloque */ } } Indentacin
ESQUEMA DEL IF
Falso(0) x>0
if
Cierto(1) Bloque
Resto de instrucciones
Ampliemos el problema:
y
Este problema plantea dos alternativas que adems son complementarias y excluyentes:
y
SELECCIN COMPLEMENTARIA:IF..ELSE
Un if..else permite ejecutar un bloque si se cumple la condicin y otro si no se cumple. Sintaxis:
main(){ int x; printf(Deme un numero); /* mensaje indicando lo que se pide*/ scanf(%d,&x); /* se introduce el nmero */ if (x>=0) /* expresin condicional del if */ { printf(El numero %d es positivo,x); /* bloque1*/ } else { printf(El numero %d es negativo,x); /* bloque2*/ } }
OTRA POSIBILIDAD
main(){ int x; printf(Deme un numero); /* mensaje indicando lo que se pide */ scanf(%d,&x); /* se introduce el nmero */ if (x>=0) /* expresin condicional del if */ { printf(El numero %d es positivo,x); /* bloque1*/ } if (x<0) { printf(El numero %d es negativo,x); /* bloque2*/ } }
ESQUEMA IF...ELSE
Falso(0) x>0 if...else Cierto(1) Bloque1 Bloque2
Resto de instrucciones
CICLOS
Los ciclos son estructuras de control que permiten ejecutar varias veces una operacin. Existen varios tipos de ciclos:
En este ciclo la operacin se ejecuta y despus se evala la condicin. Si es verdadera, la operacin se evala de nuevo, y as sucesivamente.
En
este ciclo se ejecuta una operacin un cierto nmero de veces, especificando en un contador el incremento unitario, desde un Valor Inicial hasta un Valor Final que marcar la condicin de salida del ciclo. Por ejemplo:
Son estructuras lgicas que permiten controlar la ejecucin de varias acciones y se utilizan cuando se tienen dos opciones de accin, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes
Representacin pseudocodificada.
Espaol Si <condicin> entonces <accin S1> sino <accin S2> Fin_Si Ingls If <condicin> then <accin S1> else <accin S2> End_if
Con frecuencia es necesario que existan ms de dos elecciones posibles. Este problema se podra resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero si el nmero de alternativas es grande puede plantear serios problemas de escritura y de legibilidad.
Usando la estructura de decisin mltiple se evaluar una expresin que podr tomar n valores distintos, 1, 2 , 3, ....,n y segn que elija uno de estos valores en la condicin, se realizar una de las n acciones o lo que es igual, el flujo del algoritmo seguir slo un determinado camino entre los n posibles.
Estructuras de Decisin
Los procedimientos de Visual Basic pueden probar condiciones y, dependiendo de los resultados, realizar diferentes operaciones. Entre las estructuras de decisin que acepta Visual Basic se incluyen las siguientes:
IfThen IfThenElse Select Case Select Case Visual Basic proporciona la estructura Select Case como alternativa a IfThenElse para ejecutar selectivamente un bloque de sentencias entre varios bloques. La sentencia Select Case ofrece posibilidades similares a la instruccin IfThenElse, pero hace que el cdigo sea ms legible cuando hay varias opciones.
La estructura Select Case funciona con una nica expresin de prueba que se evala una vez solamente, al principio de la estructura. Visual Basic compara el resultado de esta expresin con los valores de cada Case de la estructura. Si hay una coincidencia, ejecuta el bloque de sentencias asociado a ese Case: Selec Case expresin_prueba [Case lista_expresiones1 [bloque de sentencias 1]] [Case lista_expresiones2 [bloque de sentencias 2]] [Case Else [bloque de sentencias n]] End Select