VISUAL BASIC
1.
2.
3.
4.
5.
6.
7.
8.
Estructuras condicionales
2. Estructuras condicionales
Fundamentos de Informática
Dpto. Lenguajes y Sistemas Informáticos
Curso 2012 / 2013
Ej07: Cond. simple
Ej08: Cond. doble
Ej09: Cond. anidada
Ej10: Cond. cascada
Recomendaciones
Resumen
Operadores relacionales
Operadores booleanos o lógicos
2
Condicionales
Ej07: Cond. simple
Conditionals
Ej07: Cond.simple
Ej07: Diagrama de Flujo
Ejemplo 07
• Título:
cmd07_Click
– Condicional simple
n: entero
• Nombre
n ← LeeEntero
– cmd07_Click
• Descripción
no
– Leer una variable entera, calcular su valor absoluto
(en la misma variable) y mostrar el resultado
sí
n<0
Condicional simple
n←-n
• Observaciones
– Condicional simple
Escribe n
Fin
3
4
Conditionals
Ej07: Codificación VB
Ej07:Cond. simple
Condicionales
cmd07_Click
n: entero
n ← LeeEntero
no
Sub cmd07_Click()
Dim s As String
Dim n As Integer
2. Ejemplo 08
• Título:
– Condicional doble
• Nombre
sí
n<0
Ej08: Cond. doble
– cmd08_Click
• Descripción
n←-n
– Leer una variable entera, calcular su valor absoluto
en otra variable, y mostrar el resultado
s = InputBox ("Introduce número")
n = CInt (s)
Escribe n
If n < 0Then
n = -n
End If
Fin
MsgBox "Valor absoluto: " & CStr (n)
End Sub
• Observaciones
– Condicional doble
5
Condicionales
6
Ej08: Cond. doble
Condicionales
Ej08: Diagrama de Flujo
Ej08: Cond. doble
Ej08: Codificación VB
cmd08_Click
n, a: entero
cmd08_Click
Sub cmd08_Click()
Dim s As String
Dim n As Integer
Dim a As Integer
n, a: entero
n ← LeeEntero
no
n<0
a←n
sí
Condicional doble
n ←LeeEntero
no
n<0
sí
a←-n
a←n
s = InputBox ("Número:")
n = CInt (s)
If n < 0 Then
Escribe n, a
a = -n
Else
a = n
Fin
End If
MsgBox "Valor absoluto de " & CStr (n) & _
" es " & CStr (a)
End Sub
a←-n
Escribe n, a
Fin
7
8
Condicionales
Ej09: Cond. anidada
Condicionales
Ej09: Cond. anidada
Ej09: Diagrama de Flujo
3. Ejemplo 09
• Título:
n1, n2, n3: entero
m: entero
cmd09_Click
–Condicional anidada
• Nombre
– cmd09_Click
• Descripción
Condicional anidada
– Leer tres variables enteras, calcular cuál es la
mayor de ellas y mostrar el resultado
n1 ← LeeEntero
n2 ← LeeEntero
n3 ← LeeEntero
no
• Observaciones
no
– Condicional anidada (condicional dentro de una
condicional)
n2 > n3
m ← n3
n1 > n2
Condicional anidada
sí
no
sí
m ← n2
n1 > n3
m ← n3
sí
m ← n1
Escriben1, n2, n3, m
Fin
9
Condicionales
Ej09: Cond. anidada
10
Condicionales
Ej09: Codificación VB (I)
Ej09: Cond. anidada
Ej09: Codificación VB (II)
…
Sub cmd09_Click()
Dim s As String
Dim n1 As Integer, n2 As Integer, n3 As Integer
Dim m As Integer
s = InputBox ("Introduce primer número: ")
n1 = CInt (s)
s = InputBox ("Introduce segundo número: ")
n2 = CInt (s)
s = InputBox ("Introduce tercernúmero: ")
n3 = CInt (s)
…
MsgBox "El mayor de " & CStr (n1) & ", " & _
CStr (n2) & " y " & CStr (n3) & _
" es: " & CStr (m)
End Sub
n3 = CInt (S)
If n1 > n2 Then
If n1 > n3 Then
m = n1
Else
m = n3
End If
Else
If n2 > n3 Then
m = n2
Else
m = n3
End If
End If
MsgBox "El mayor de " & CStr (n1) & ", " & _
…
11
12
Condicionales
Ej10: Cond. cascada
Condicionales
Ej10: Cond. cascada
Ej10:Diagrama de Flujo
4. Ejemplo 10
• Título:
cmd10_Click
– Condicional en cascada
• Nombre
n1, n2, n3: entero
m: entero
n1 ← LeeEntero
n2 ← LeeEntero
n3 ← LeeEntero
– cmd10_Click
• Descripción (Mismo problema que el ejemplo anterior)
– Leer tres variables enteras, calcular cuál es la
mayor de ellas y mostrar el resultado
– Variante distinta de la solución
no
• Observaciones
no
– Condicional encascada
– Tras la alternativa Else inmediatamente viene una
nueva condición, convirtiendose en ElseIf
n2 > n3
m ← n3
sí
n1 > n2 ∧ n1 > n3
sí
m ← n2
m ← n1
Escribe n1, n2, n3, m
Único punto de fin
Fin
13
Condicionales
14
Ej10: Cond. cascada
Condicionales
Ej10: Codificación VB (I)
Ej10: Cond. cascada
Ej10: Versión anidada (II)
…
Sub cmd10_Click()
Dim s As String
Dim n1 As Integer,...
Regístrate para leer el documento completo.