Sunteți pe pagina 1din 14

Pgina 1 de 14

UNIVERSIDAD TECNOLGICA DE PANAM


PROGRAMACIN - Lic. Andy Gmez De La Torre, MBA
APUNTES DEL CURSO No. 6
I. Estructuras de Decisin o Condicionales
La estructura condicional se utiliza para indicarle al computador que debe evaluar una condicin y, a partir
del resultado, ejecutar el bloque de instrucciones correspondiente. La forma ms comn est compuesta
por una proposicin (condicin) que se evala y dos bloques de instrucciones que se ejecutan, uno cuando
la condicin es verdadera (seleccin simple y doble) y otro cuando sta es falsa (nicamente en la
seleccin doble).

Algunos autores se refieren a este tipo de estructura como estructura de seleccin, estructura selectiva o
estructura de decisin; en esta gua, todas estas denominaciones son consideradas sinnimas.

Para que una proposicin (frase declarativa) sea vlida, debe poder afirmarse que es verdadera o falsa. En
programacin, se utilizan operadores relacionales (<, =, >) para establecer la relacin que existe entre
dos elementos de la proposicin. Adicionalmente, las proposiciones pueden ser sencillas o compuestas.
Las proposiciones compuestas se forman con dos o ms proposiciones sencillas unidas por operadores
lgicos (y, o, no). Cuando se unen dos proposiciones por medio del operador lgico y, significa que
ambas proposiciones deben ser verdaderas (conjuncin). Cuando se unen dos proposiciones por medio del
operador lgico o, significa que por lo menos una de las dos proposiciones debe ser verdadera
(disyuncin). Ms adelante se detallan cules son los operadores relacionales y lgicos utilizados en
Visual Basic .NET

Por su parte, un bloque de instrucciones puede contener una o varias instrucciones que se ejecutan una
detrs de otra. La estructura condicional tiene tres variantes:
seleccin simple.
seleccin doble.
seleccin mltiple.

Seleccin Simple (Sentencia IF-THEN)

Esta estructura permite ejecutar condicionalmente una o ms sentencias. La expresin a evaluar dar
como resultado un valor booleano True o False. Si es True (Cierto) llevar a cabo el primer grupo de
sentencias. Si es False (Falso) no se realizar nada, y el programa continua a la siguiente sentencia.

IF ( condicin ) THEN
sentencia(s);
ENDIF

Seleccin Doble (Sentencia IFTHENELSE)
Esta estructura permite ejecutar condicionalmente una o ms sentencias. La expresin a evaluar dar
como resultado un valor booleano True o False. Si es True (Cierto) llevar a cabo el primer grupo de
sentencias. Si es False (Falso) llevar a cabo el segundo grupo de sentencias (despus de la instruccin
else).

IF ( condicin ) THEN
sentencia(s);
ELSE
sentencia(s);
ENDIF


Pgina 2 de 14


La figura a continuacin presenta esquemticamente las formas de representar estas sentencias:

Estructura condicional simple Estructura condicional doble


Ejemplos en VB.NET donde se emplean ambas estructuras.

Un empleado gana una comisin del 5%, slo si sus
ventas mensuales son mayores a 10,000 balboas
Indicar si un nmero es positivo o negativo.
Algoritmo:
1. Leer ventas
2. Calcular comision = 0
3. Si ventas > 1000 Entonces
3.1. Calcular comisin = ventas * 0.05
4. Escribir comisin
5. Fin
Algoritmo:
1. Leer n
2. Si n < 0 Entonces
2.1. Escribir Nmero Negativo
3. Sino
3.1. Escribir Nmero Positivo
4. Fin



II. Operadores Relacionales o Condicionales
Se utilizan para formar expresiones booleanas, es decir, expresiones que al ser evaluadas cuyo resultado
ser cierto o falso. Los operadores relaciones son muy empleados en las decisiones IF, en los ciclos
WHILE, y en menor nmero en las operaciones de clculo aritmtico-matemtico.
Operadores Es CIERTO cuando (THEN) Es FALSO cuando (ELSE)
> La expresin1 debe ser > que
expresin2
La expresin1 debe ser <= que
expresin2
< La expresin1 debe ser < que
expresin2
La expresin1 debe ser >= que
expresin2
Pgina 3 de 14


>=
(mayor o igual)
La expresin1 debe ser >= que
expresin2
La expresin1 debe ser < que expresin2
<=
(menor o igual)
La expresin1 debe ser <= que
expresin2
La expresin1 debe ser > que expresin2
= La expresin1 debe ser = que
expresin2
La expresin1 debe ser <> que
expresin2
<>
(no igual,
diferente)
La expresin1 debe ser <> que
expresin2
La expresin1 debe ser = que expresin2

Ejemplos Resultado
25 < 24
25 = 25
25<> 4
24>=25
0 (Falso)
1 (Cierto)
1 (Cierto)
0 (Falso)
Cuando se comparan caracteres alfanumricos estos se evalan, carcter por carcter de izquierda a
derecha. Si las cadenas a evaluar son de diferente longitud, pero iguales hasta el ltimo carcter del ms
corto, entonces se considera que la cadena ms corta es menor que la ms larga.
Slo son iguales dos cadenas, si ambas tienen los mismos caracteres en la misma secuencia y tienen la
misma longitud.
Los caracteres en minsculas tienen un mayor valor que los caracteres en minsculas.
Ejemplos Resultado
A < B
Uno = uno
ABC<> DEF
ABC>abc
1 (Cierto)
0 (Falso)
1 (Cierto)
0 (Falso)

III. Operadores Lgicos o Booleanos
Combinan sus operandos de acuerdo con el lgebra de Boole. Los operadores lgicos se combinan con los
operadores relaciones para simplificar decisiones mltiples o complejas en una sola instruccin. Los tres
operadores ms empleados son:
Operadores Cuando es Cierto (THEN) Es Falso cuando (ELSE)
AND
(y)
Cuando todos sus operandos dan como
resultado CIERTO
Alguno de sus operandos da como
resultado FALSO
OR
()
Alguno de sus operandos da como
resultado CIERTO
Todos sus operandos dan como resultado
FALSO
NOT
(Negacin, No)
Este operador lgico se utiliza para invertir el resultado de un operando. Si el
resultado del operando es CIERTO lo convierte en FALSO. Si el resultado del
operando es FALSO lo convierte en CIERTO.

Pgina 4 de 14


Ejemplos Resultado
(7 > 4) OR (5=3)
(7>4) AND (5<>3)
(16=(4*4)) AND 2<>2
NOT (7>4)
Verdad
Verdad
Falso
Falso

Recuerde que se pueden incluir variables y constantes fijas en las operaciores aritmticas internas de los
operandos. Igual es conveniente utilizar parntesis para agrupar operandos, e inclusive para agrupar
expresiones que incluyan operadores lgicos mixtos, es decir, expresiones boolenas que combinan AND,
OR, NOT.
Si est interesado en el Algebra de Boole, existen otros operadores lgicos (y tambin otros operadores
relacionales).

IV. Estructura Condicional SEGN-HACER (SELECT CASE)
SEGN-HACER (SELECT CASE) es una estructura de control empleada en programacin, se utiliza para
agilizar la toma de decisiones mltiples. El SELECT CASE no es tan popular como el IF, pero se utiliza con
regularidad en la programacin. En principio la funcionalidad de un SELECT CASE tambin se puede
implementar con mltiples IFs anidados. En el caso de que haya muchas acciones dependientes de
muchos valores iniciales, es recomendable su uso. El SELECT CASE favorece la legibilidad y rapidez en la
programacin.

Las estructuras condicionales simple y doble evaluaban una proposicin (condicin) que devolva como
resultado nicamente dos valores posibles y excluyentes: verdadero o falso. En cambio, la estructura
condicional de seleccin mltiple permite que la condicin devuelva ms de un valor posible y que para
cada uno de esos valores se ejecute el bloque de instrucciones correspondiente. Por ejemplo, una
situacin tpica de seleccin mltiple es cuando la incorporacin de un estudiante a un equipo depende del
color de una balota: si saca una balota roja, su incorporacin al equipo es inmediata; si es azul, la
incorporacin ser en julio; y si es blanca, el estudiante no tiene que integrarse al equipo. En esta
situacin hay tres valores posibles y cada uno de esos valores implica la ejecucin de una instruccin
diferente.

Por lo regular la expresin a evaluar es numrica ya que es ms fcil de implementar, pero tambin se
acepta que sean alfanumricas.

Igualmente que la seleccin simple (IF-THEN) y doble (IF-THEN-ELSE), las sentencias SELECT CASE
pueden estar anidadas dentro de un programa.


Pgina 5 de 14



Algoritmo Representacin en diagrama
Segun variable_numerica Hacer
opcion_1:
secuencia_de_acciones_1
opcion_2:
secuencia_de_acciones_2
opcion_3:
secuencia_de_acciones_3
De Otro Modo:
secuencia_de_acciones_DOM
Fin Segun

Sintaxis en VB.NET
Select Case expresin
Case valor
Sentencias
.
.
.
Case Else
sentencias
End Select





Pgina 6 de 14


Ejemplo de un programa VB.NET que utiliza SEGN-HACER

Un profesor desea establecer un nivel de aprobacin en base a una calificacin. 5 es Excelente, 4 es
Bueno, 3 es Regular, y de no cumplirse los anteriores el estudiante Reprob.
Algoritmo (PseInt)

Proceso nota
Leer calificacion
Segun calificacion Hacer
5:
Escribir "Excelente"
4:
Escribir "Bueno"
3:
Escribir "Regular"
De Otro Modo:
Escribir "Reprob"
Fin Segun
FinProceso


Codificacin en VB.NET




Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim opcion As Integer
opcion = Val(TextBox1.Text)
Select Case opcion
Case 5
TextBox2.Text = "Excelente!"
Case 4
TextBox2.Text = "Bueno"
Case 3
TextBox2.Text = "Regular"
Case Else
TextBox2.Text = "Reprob"
End Select
End Sub
End Class



Pgina 7 de 14


V. Estructuras de Repeticin
La estructura iterativa o de repeticin permite ejecutar una o varias instrucciones, un nmero
determinado de veces o, indefinidamente, mientras se cumpla una condicin. Esta estructura ayuda a
simplificar los algoritmos, ahorrando tiempo valioso a quien resuelve problemas con ayuda del
computador. Existen cuatro estructuras en Visual Basic .NET: Mientras, Hacer-mientras, Para, y Hacer-
hasta.

Estructura Mientras (WHILE-END WHILE)
La Estructura Mientras (WHILE-END WHILE) es la estructura bsica de ciclo en VB.NET. Esta repite la
ejecucin de un conjunto de sentencias mientras una condicin dada sea cierta. La condicin es verificada
antes de ejecutarse el conjunto de sentencias. Sus posibles formas son las siguientes:

REM Formato 1
contador = valor inicial
WHILE ( condicin <= valor final )
sentencia(s)
contador = contador + incremento
END WHILE

REM Formato 2
WHILE ( condicin de control )
sentencia(s)
END WHILE

La figura a continuacin presenta esquemticamente las formas de representar estas sentencias:



La representacin de la izquierda se utiliza cuando se requiere que una estructura Mientras se repita un
nmero determinado de veces. Para esto se establece un contador, cuyos valores se establecen desde un
valor inicial, hasta un valor final. Cada vez que se repita la estructura, el contador se incrementar a
travs de un valor de incremento.

La estructura de la derecha se utiliza cuando no sabemos el nmero de veces que la estructura Mientras
se repetir, pero se sabe que la misma se repetir mientras la condicin del Mientras sea verdadera.

Pgina 8 de 14


Ejemplo en VB.NET de una Estructura Mientras

Realice la suma de los primeros n nmeros naturales.
Algoritmo Diagrama de flujo

1. Leer n
2. Calcular s = 0
3. Calcular c = 1
4. Mientras c <= n
4.1. Calcular s = s + c
4.2. Calcular c = c + 1
5. Escribir s
6. Fin




Codificacin en VB.NET




Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim n As Integer, c As Integer, s As Integer
n = Val(TextBox1.Text)
s = 0
c = 1
While (c <= n)
s = s + c
c = c + 1
End While
TextBox2.Text = Str(s)
End Sub
End Class

Pgina 9 de 14


Estructura Hacer-Mientras (DO-LOOP WHILE)
Los ciclos DO-LOOP WHILE son idnticos a los ciclos WHILE-END WHILE, con una excepcin: DO-LOOP
WHILE ejecutar el bloque de cdigo que repite la evaluacin antes de la sentencia LOOP WHILE. Esto
significa que el cdigo en el ciclo siempre se ejecutar al menos una vez.

contador = valor inicial
Acciones repetitivas
contador <= valor final
VERDADERO
contador = contador + incremento
FALSO
Acciones repetitivas
Condicin
VERDADERO
FALSO

Por cierto, en PseInt no existe tal estructura, y no confundir con la estructura HACER-HASTA.

Pgina 10 de 14


Realice la suma de los primeros n nmeros naturales.
Algoritmo Diagrama de flujo

1. Leer n
2. Calcular s = 0
3. Calcular c = 1
4. Hacer
4.1. Calcular s = s + c
4.2. Calcular c = c + 1
4.3. Mientras (c<=n)
5. Escribir s
6. Fin
Inicio
Leer n
s = 0
c = 0
s = s + c
c <= n
VERDADERO
c = c + 1
Escribir s
Fin
FALSO



Codificacin en VB.NET


Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim n As Integer, c As Integer, s As Integer
n = Val(TextBox1.Text)
s = 0
c = 1
Do
s = s + c
c = c + 1
Loop While (c <= n)
TextBox2.Text = Str(s)
End Sub
End Class




Pgina 11 de 14


Estructura Para (FOR-TO-NEXT)
La estructura Para (FOR-TO-NEXT) funciona de manera similar a los ciclos Mientras, pero con controles
ms precisos sobre cmo se repite el cdigo. La estructura Para tiene tres elementos: Lo primero es el
contador con un valor inicial (un nmero entero). La segunda es el valor final en la que el ciclo termina. La
tercera es el valor de incremento que define la cantidad a aadir al contador para cada iteracin. Los
ciclos Para son tiles cuando un nmero predefinido o calculada de iteraciones es requerido.

Su forma general es:

FOR contador = valor_inicial TO valor_final STEP valor_incremento
acciones a repetir
NEXT

Cuando se ejecuta una sentencia FOR, primero se asigna el valor inicial a la variable contadora. Luego se
comprueba si su valor es menor o igual al valor final. En caso de ser menor o igual se ejecutan las
sentencias, y en caso de ser mayor el control del programa finaliza la repeticin. En cada interaccin, la
variable se incrementa con el valor establecido en el incremento.

Los autores no se ponen de acuerdo en cmo se representa simblicamente este tipo de ciclo, pero para
nuestros efectos prcticos emplearemos la misma representacin que la estructura de repeticin Mientras
que utiliza contador.

Realice la suma de los primeros n nmeros naturales.
Algoritmo Diagrama de flujo

1. Leer n
2. Calcular s = 0
3. Para c=1 Hasta n Con Paso 1
3.1. Calcular s = s + c
4. Escribir s
5. Fin




Pgina 12 de 14


Codificacin en VB.NET


Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim n As Integer, c As Integer, s As Integer
n = Val(TextBox1.Text)
s = 0
For c = 1 To n Step 1
s = s + c
Next
TextBox2.Text = Str(s)
End Sub
End Class

Estructura Hacer-Hasta (DO-LOOP UNTIL)
El ciclo DO-LOOP UNTIL trabaja diferente a los ciclos WHILE-END WHILE y DO-LOOP WHILE. Las
sentencias que se repiten se ejecutan hasta que la condicin es cierta. Dado que la comprobacin de la
condicin se realiza al final las sentencias al menos se ejecutan una vez.

contador = valor_inicial
acciones repetitivas
contador = contador + incremento
contador > valor_final
FALSO
VERDADERO
acciones repetitivas
condicin
FALSO
VERDADERO


Dado el comportamiento de esta estructura, la condicin se expresa inversamente a como se expresara
en una estructura Mientras. Ejemplo: la condicin (contador <=10) se expresara como (contador > 10).

Pgina 13 de 14



Realice la suma de los primeros n nmeros naturales.
Algoritmo Diagrama de flujo

1. Leer n
2. Calcular s = 0
3. Calcular c = 1
4. Hacer
4.1. Calcular s = s + c
4.2. Calcular c = c + 1
4.3. Hasta (c>n)
5. Escribir s
6. Fin

Inicio
Leer n
s = 0
c = 1
s = s + c
c = c + 1
c > n
Escribir s
FALSO
VERDADERO
Fin

Codificacin en VB.NET


Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim n As Integer, c As Integer, s As Integer
n = Val(TextBox1.Text)
s = 0
c = 1
Do
s = s + c
c = c + 1
Loop Until (c > n)
TextBox2.Text = Str(s)
End Sub
End Class


Pgina 14 de 14


Sentencias goto
Otra forma de construir estructuras de ciclo es a travs de la sentencia "goto" junto con una etiqueta. El
programador puede definir una etiqueta, luego utilizar sentencias goto para mover el programa a las
partes etiquetadas del programa. Esto, sin embargo, por lo general conduce a un cdigo confuso y no se
recomienda en la prctica.


DEFINICIONES

Bucle. Sinnimo ciclo. Es un tipo de estructura de control que permite repetir una o ms sentencias
mltiples veces. Tambin es equivalente a estructura de repeticin.

Sentencia. En programacin, una sentencia es una lnea de cdigo en algn lenguaje de programacin.

S-ar putea să vă placă și