2. Estructuras condicionales. Ej07: Diagrama de Flujo

Índice 1. 2. 3. 4. 5. 6. 7. 8. Estructuras condicionales 2. Estructuras condicionales Fundamentos de Informática Dpto. Lenguajes y Sistemas Informá

0 downloads 191 Views 786KB Size

Recommend Stories

Story Transcript

Índice

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



n 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 en cascada – Tras la alternativa Else inmediatamente viene una nueva condición, convirtiendose en ElseIf

n2 > n3

m ← n3



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, 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 tercer nú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 And n1 > n3 Then m = n1 Else If n2 > n3 Then m = n2 Else m = n3 End If Dos puntos de fin End If MsgBox "El mayor de " & CStr (n1) & ", " & _ …

15

16

Condicionales

Ej10: Cond. cascada

Condicionales

Ej10: Versión en cascada (III)

5. Recomendaciones

5. Recomendaciones (I) • El cuerpo de las instrucciones condicionales normalmente irá sangrado dos espacios en cada anidamiento, a añadir al cuerpo del subprograma • Es por legibilidad, ya que Visual Basic lo entenderá de igual manera • Ejemplo:

… n3 = CInt (S)

If n1 > n2 And n1 > n3 Then m = n1 ElseIf n2 > n3 Then m = n2 Else Único punto de fin m = n3 End If

Sub ejemplo () . . . If a > b Then t = a a = b b = t End If End Sub

MsgBox "El mayor de " & CStr (n1) & ", " & _ …

17

Condicionales

5. Recomendaciones

Condicionales

5. Recomendaciones (II)

5. Recomendaciones

5. Recomendaciones (III)

• Para facilitar la programación es conveniente identificar conjuntos disjuntos y la condición que las distingue • Es mejor no volver a verificar condiciones excluidas • Ejemplo: If nota < 5 Then cal = "suspenso" ElseIf nota < 7 Then cal = "aprobado" ElseIf nota < 9 Then cal = "notable" Else cal = "sobresaliente" End If

18

• Cuando hay dos condiciones a las que queremos asociar la misma acción se agruparán en una sola

No volvemos a mirar si es mayor o igual a 5



no c1

A1

sí A1

19

c2

no ...

sí A1

c1 ∨ c2

no ...

20

Condicionales

5. Recomendaciones

Condicionales

5. Recomendaciones (IV)

6. Resumen (I) •

• Cuando han de cumplirse dos condiciones simultaneas no pondremos dos instrucciones condicionales sino una sola con la conjunción de las condiciones

Condicional simple If condición Then

no

...

condición



sí ...

End If no

6. Resumen

condición

no

...

sí c1

no

c2



no





c1 ∧ c2

Condicional doble If condición Then ...

A1

A1

Else

no condición

...

End If

...





no condición

...

...

...

21

Condicionales

22

6. Resumen

Condicionales

6. Resumen (II) •

6. Resumen (III)

Condicional anidada If condición Then ...

Else If condición Then

6. Resumen

no no

condición

...

condición





If condición Then Else . . . End If



...

Condicional simple incorrecta

...

. . .



Else



no

no

condición

sí condición

...

Negar la condición y OK

...

. . .

End If End If



Condicional en cascada

• no

If condición Then

condición

Representaciones incorrectas (confusión con bucles)



. . .

ElseIf condición Then

no

condición



no

. . .

Else

...

...

...

. . .

condición

condición



no ...

...

End If

...

23

sí ...

24

Condicionales

7. Relacionales

Condicionales

7. Operadores relacionales

7. Booleanas

7. Operaciones booleanas o lógicas

– Comparan valores y tienen resultado lógico True ó False

– Relacionan expresiones lógicas – El resultado es de tipo lógico (Boolean): True ó False

– Los operadores relacionales son 6

– Los operandos lógicos son 4:

VB

Descripción

>

>

Mayor

DdF

VB

Descripción



>=

Mayor o igual

¬

Not

Negación, no

= ≠ < ≤

= < 0 ∧ b > 0) ≡ VB: Not (a>0 And b>0) ≡

a⊕b

b

Falso

Falso

Cierto

Falso

Falso

Falso

Falso Cierto

Cierto

Falso

Cierto

Cierto

Cierto Falso

Falso

Falso

Cierto

Cierto

Cierto Cierto

Falso

Cierto

Cierto

Falso

a≤0∨b≤0 a 0) ≡ a < 0 Or b

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.