Está en la página 1de 23

ESTRUCTURAS DE CONTROL

Van a controlar la ejecucin de las instrucciones: Tipos:


Selectivas (Eligen las instrucciones ejecutar). y Repetitivas (Repiten un cjto de instrucciones).


y

ESTRUCTURAS SELECTIVAS

Seleccin simple. (if) Seleccin complementaria (if-else) Anidamiento Seleccin mltiple (switch)

SELECTIVAS: ELEGIR QU HACER!!


Cmo se ejecuta un programa? Podemos alterar el orden de ejecucin? Podemos decidir qu ejecutar y qu no? Ejemplo:

Decir si un nmero es positivo o negativo

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.

{ printf(Deme un numero); /* mensaje de cortesia*/ scanf(%d,&numero); /* se introduce el numero*/ }

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: Decir si un nmero introducido por teclado es positivo.

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

Decir si un nmero introducido por teclado es positivo o negativo.

Este problema plantea dos alternativas que adems son complementarias y excluyentes:
y

O el nmero es positivo o es negativo

En estos casos se emplea el if...else

SELECCIN COMPLEMENTARIA:IF..ELSE
Un if..else permite ejecutar un bloque si se cumple la condicin y otro si no se cumple. Sintaxis:

if (exp_condicional) bloque1 else bloque2

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:

A. CICLO MIENTRAS (WHILE).


Este ciclo repite una operacin, mientras se cumpla una cierta condicin. Por ejemplo:

B. CICLO HACER-MIENTRAS (DOWHILE).


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.

C. CICLO DESDE (FOR).

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:

ESTRUCTURAS SELECTIVAS SIMPLES.


Se identifican porque estn compuestos nicamente de una condicin. La estructura si entonces evala la condicin y en tal caso: Si la condicin es verdadera, entonces ejecuta la accin Si (o acciones si son varias). Si la condicin es falsa, entonces no se hace nada.

Espaol Si <condicin> Entonces <accin Si> fin_si

Ingls If <condicin> then <accin Si> endif

ESTRUCTURA DE SELECCIN DOBLE.


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

ESTRUCTURA SELECTIVA MLTIPLE


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

Estruturas de Repeticion o Bucle


Las estructuras de repeticin o bucle le permiten ejecutar una o ms lneas de cdigo repetidamente. Las estructuras de repeticin que acepta Visual Basic son: Do...Loop For...Next For Each...Next 1. Do...Loop Utilice el bucle Do para ejecutar un bloque de sentencias un nmero indefinido de veces. Hay algunas variantes en la sentencia Do...Loop, pero cada una evala una condicin numrica para determinar si contina la ejecucin. Como ocurre con If...Then, la condicin debe ser un valor o una expresin que d como resultado False (cero) o True (distinto de cero). Do While condicin

También podría gustarte