domingo, 22 de marzo de 2015

GRADO UNDÉCIMO PROGRAMA IMC

PROGRAMA IMC (Índice de masa corporal)

Para calcular el IMC de una persona debemos conocer su masa (en kilogramos) y su estatura (en metros) y mediante la fórmula:

IMC = masa
estatura2

Logramos obtener dicho valor y según la siguiente tabla, de acuerdo al IMC de una persona podemos decir de ella cuál es su estado.

IMC
ESTADO
< 15
Desnutrición
15 – 25
Normal
25 – 30
Sobrepeso
30 – 35
Obesidad 1
35 – 40
Obesidad 2
> 40
Morbidez

Una vez, se haya determinado en qué estado se encuentra la persona, podemos verificar la ciencia que aconseja para mantenerlo o mejorarlo, con base en alimentación y ejercicios fundamentalmente.

El programa que se propone debe calcular el IMC, indicarle al usuario en qué estado se encuentra y hacerle una serie de recomendaciones de acuerdo a dicho estado.

DISEÑO DE LA GUI



La anterior imagen nos muestra un diseño de GUI, en el cual debes tener en cuenta que tu nombre y grado debe aparecer en el Text del formulario. Los botones de Minimizar y Maximizar, no deben aparecer. La ventana en tiempo de ejecución no debe dejarse manipular en tamaño.

La Label que sirve para indicar el uso del programa debe poderse escribir en múltiples líneas, no en una sola. Para el presente caso, el resultado (valor del IMC) se está presentando en una Label, podría hacerse también en una caja de texto (TextBox) inhabilitada para que el usuario no pueda manipular el contenido. Y se le debe indicar al usuario del programa mediante un mensaje cuál es su estado.

Luego de esto, invocar otro formulario en el cual se le den algunas recomendaciones (de tipo científico) para que mejore o mantenga su estado, según sea el caso.




¿Cómo lograrlo?

Como hemos dicho en clase, las acciones se ejecutan en el evento clic del botón btnCalcular del formulario frmIMC, parte del código fuente (tú debes terminar de programarlo) es el siguiente:

'La siguiente línea calcula el IMC según la fórmula indicada. La palabra reservada Val() 'invoca una función que vuelve valor numérico el contenido de una caja de texto

 lblIMC.Text = Val(txtMasa.Text) / (Val(txtEstatura.Text) * Val(txtEstatura.Text))

'A continuación una serie de IF anidados para ubicar el IMC en la tabla, sacar el mensaje
' correspondiente y mostrar el formulario indicado

 If Val(lblIMC.Text) < 15 Then

   MsgBox("Hay problemas de desnutrición", MsgBoxStyle.Critical, "I M C")

'la siguiente línea invoca el formulario de Desnutrición

   frmDesnutricion.Show()
 Else

    If Val(lblIMC.Text) < 25 Then
       MsgBox("Felicitaciones, estás normal", MsgBoxStyle.Exclamation, "I M C")
       'invocar el formulario de estado Normal
    Else
       If Val(lblIMC.Text) < 30 Then
          MsgBox("Estás en sobre peso", MsgBoxStyle.Critical, "I M C")
          'invocar el formulario de Sobre Peso
       Else
          If Val(lblIMC.Text) < 35 Then
             MsgBox("Estás en obesidad grado uno", MsgBoxStyle.Critical, "I M C")
             'invocar el formulario de Obesidad Grado Uno
          Else
             If Val(lblIMC.Text) < 40 Then
                MsgBox("Estas en obesidad grado dos", MsgBoxStyle.Critical, "I M C")
                'invocar el formulario de Obesidad Grado Dos
             Else
                MsgBox("Estas en morbidez", MsgBoxStyle.Critical, "I M C")
                'invocar el formulario de Morbidez
             End If
          End If
       End If
    End If
 End If

De lo anterior, podemos deducir que además del formulario principal (frmIMC), debemos diseñar seis (6) formularios, uno para cada estado de la tabla de IMC, los que serán invocados según corresponda.

En el código anterior las líneas que están luego de un apóstrofe (') no son tomadas en cuenta por el VB. Son comentarios que se usan por los programadores para explicar su código fuente a quienes lo lean. El VB les da un color verde atenuado y como se dijo no implican ningún efecto en la ejecución del programa.

Con algunos grupos vimos en clase la posibilidad de sólo tener un formulario de recomendaciones (y no seis como se planteó anteriormente). Esto implica, que el Text de dicho formulario, las recomendaciones respectivas y las imágenes cambien según sea el caso. Para esto se aprovecha el evento Load del formulario que carga  dichas instrucciones (textos e imágenes) en él, antes de mostrarlo al usuario.


Me comentan sus dudas…

No hay comentarios:

Publicar un comentario