Este es un ejemplo de Python convertido a Gambas3. Me explico en el mismo código.
Vaya, la tabla no ha quedado muy bien. Hago una captura.
'Este ejemplo es una conversion a Gambas3 de un ejemplo que pertenece al libro:
'Practical Programming. An Introduction to Computer Science using Python 3. Second Edition
'Autores: '
'Paul Cries
'Jennifer Campbell
'Jason Montojo
'
'Editado por: '
'Lyn Beighley
'
'Editoral: '
'The Pragmatic Programmers
'
' En este ejemplo vamos a recordar en una variable la evaluación de una expresión booleana
' Vamos a ver tambien el uso de unas sentencias if anidadas
' Vamos a traducir las condiciones de una tabla a un ejemplo de gambas. Es algo habitual.
' En nuestro ejemplo queremos calcular el riesgo de enfermedad del corazon siguiendo
' reglas basadas en la edad y el indice de masa corporal (IMC)
' Esta es nuestra tabla de decisiones. Tenemos que convertirla a un grupo de sentencias condicionales.
' Vamos a ver distintas posibilidades.
'
'
'Vamos a definir dos variables globales. Es simplemente por comodidad.
Private edad As Integer
Private imc As Single
Public Sub Main()
'Debemos asignar un valor a cada variable global y llamar al ejemplo concreto, del 1 al 3.
'Podemos cambiar el valor para ver un resultado distinto y comprobar el funcionamiento correcto de la tabla
'Descomentar solo un Ejemplo
edad = 33
imc = 17.0
Ejemplo1
'Ejemplo2
'Ejemplo3
End
Public Sub Ejemplo1()
' Una posible manera, sería usando un grupo de sentencias if anidadas
'Dim edad As Integer
'Dim imc As Single
Dim riesgo As String
If edad < 45 Then
If imc < 22.0 Then
riesgo = "Bajo"
Else
riesgo = "Medio"
Endif
Else
If imc < 22.0 Then
riesgo = "Medio"
Else
riesgo = "Alto"
Endif
Endif
Print "El riesgo es: " & riesgo
End
Public Sub Ejemplo2()
'La expresión imc < 22.0 es usada multiples veces. Para simplificar el codigo nosotros
'podemos evaluar cada una de las expresiones booleanas y crear variables que se referieren
'a los valores producidos por estas expresiones y usar estas variables multiples veces.
Dim joven As Boolean
Dim delgado As Boolean
'Dim edad As Integer
'Dim imc As Single
Dim riesgo As String
' En esta dos variables vamos a recordar la evaluación de la expresión booleana
joven = edad < 45
delgado = imc < 22.0
If joven Then
If delgado Then
riesgo = "Bajo"
Else
riesgo = "Medio"
Endif
Else
If delgado Then
riesgo = "Medio"
Else
riesgo = "Alto"
Endif
Endif
Print "El riesgo es: " & riesgo
End
Public Sub Ejemplo3()
'Ahora vamos a hacer lo mismo sin un grupo de sentencias if anidadas
'
Dim joven As Boolean
Dim delgado As Boolean
'Dim edad As Integer
'Dim imc As Single
Dim riesgo As String
' En esta dos variables vamos a recordar la evaluación de la expresión booleana
joven = edad < 45
delgado = imc < 22.0
If joven And delgado Then
riesgo = "Bajo"
Else If joven And Not delgado Then
riesgo = "Medio"
Else If Not joven And delgado Then
riesgo = "Medio"
Else If Not joven And Not delgado Then
riesgo = "Alto"
Endif
Print "El riesgo es: " & riesgo
End
'Practical Programming. An Introduction to Computer Science using Python 3. Second Edition
'Autores: '
'Paul Cries
'Jennifer Campbell
'Jason Montojo
'
'Editado por: '
'Lyn Beighley
'
'Editoral: '
'The Pragmatic Programmers
'
' En este ejemplo vamos a recordar en una variable la evaluación de una expresión booleana
' Vamos a ver tambien el uso de unas sentencias if anidadas
' Vamos a traducir las condiciones de una tabla a un ejemplo de gambas. Es algo habitual.
' En nuestro ejemplo queremos calcular el riesgo de enfermedad del corazon siguiendo
' reglas basadas en la edad y el indice de masa corporal (IMC)
' Esta es nuestra tabla de decisiones. Tenemos que convertirla a un grupo de sentencias condicionales.
' Vamos a ver distintas posibilidades.
'
'
'Vamos a definir dos variables globales. Es simplemente por comodidad.
Private edad As Integer
Private imc As Single
Public Sub Main()
'Debemos asignar un valor a cada variable global y llamar al ejemplo concreto, del 1 al 3.
'Podemos cambiar el valor para ver un resultado distinto y comprobar el funcionamiento correcto de la tabla
'Descomentar solo un Ejemplo
edad = 33
imc = 17.0
Ejemplo1
'Ejemplo2
'Ejemplo3
End
Public Sub Ejemplo1()
' Una posible manera, sería usando un grupo de sentencias if anidadas
'Dim edad As Integer
'Dim imc As Single
Dim riesgo As String
If edad < 45 Then
If imc < 22.0 Then
riesgo = "Bajo"
Else
riesgo = "Medio"
Endif
Else
If imc < 22.0 Then
riesgo = "Medio"
Else
riesgo = "Alto"
Endif
Endif
Print "El riesgo es: " & riesgo
End
Public Sub Ejemplo2()
'La expresión imc < 22.0 es usada multiples veces. Para simplificar el codigo nosotros
'podemos evaluar cada una de las expresiones booleanas y crear variables que se referieren
'a los valores producidos por estas expresiones y usar estas variables multiples veces.
Dim joven As Boolean
Dim delgado As Boolean
'Dim edad As Integer
'Dim imc As Single
Dim riesgo As String
' En esta dos variables vamos a recordar la evaluación de la expresión booleana
joven = edad < 45
delgado = imc < 22.0
If joven Then
If delgado Then
riesgo = "Bajo"
Else
riesgo = "Medio"
Endif
Else
If delgado Then
riesgo = "Medio"
Else
riesgo = "Alto"
Endif
Endif
Print "El riesgo es: " & riesgo
End
Public Sub Ejemplo3()
'Ahora vamos a hacer lo mismo sin un grupo de sentencias if anidadas
'
Dim joven As Boolean
Dim delgado As Boolean
'Dim edad As Integer
'Dim imc As Single
Dim riesgo As String
' En esta dos variables vamos a recordar la evaluación de la expresión booleana
joven = edad < 45
delgado = imc < 22.0
If joven And delgado Then
riesgo = "Bajo"
Else If joven And Not delgado Then
riesgo = "Medio"
Else If Not joven And delgado Then
riesgo = "Medio"
Else If Not joven And Not delgado Then
riesgo = "Alto"
Endif
Print "El riesgo es: " & riesgo
End
Os subo el ejemplo.
De todos los sitios podemos aprender algo nuevo, solo hay que buscar y si no es para gambas, convertirlo.
Saludos
EjemlposConIfAnidados.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | EjemlposConIfAnidados.tar.gz | |
Tamaño: | 6.37 KB | |
Descargado: | 25 veces |
EjemlposConIfAnidados.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | EjemlposConIfAnidados.tar.gz | |
Tamaño: | 6.37 KB | |
Descargado: | 25 veces |
EjemlposConIfAnidados.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | EjemlposConIfAnidados.tar.gz | |
Tamaño: | 6.37 KB | |
Descargado: | 25 veces |