Está en la página 1de 43

PET 211

Programación Aplicada

MSc. Luz Diana Torrez C.


Santa Cruz -Bolivia
1
2
Solución

Public Friend
Proyecto 1 Proyecto n
Friend

Modulo1 Modulo 2 Modulo 1

Private
Bloque Bloque Bloque

Bloque
Aplicación Practica

4
Ejemplo 4
• Desarrollar una aplicación que permita calcular para un gas liviano:
• El peso molecular,
• La gravedad específica
• Densidad (g/cc) a condiciones de P y T dadas, considerando el
comportamiento de un gas ideal.

• Emplear los conceptos de arreglos, estructuras condicionales y cajas


dinámicas de mensajes.
• Emplee los conceptos de ámbito de variable

5
Formulario B
Densidad_FormB

:B

7
Modelo Matemático
𝑛𝑛 𝑃𝑃𝑃𝑃𝑎𝑎
• Peso Molecular 𝑺𝑺𝑺𝑺𝑺𝑺 = �𝑃𝑃𝑃𝑃
Aparente de la 𝑃𝑃𝑃𝑃𝑎𝑎 = � 𝑌𝑌𝑖𝑖 ∗ 𝑃𝑃𝑃𝑃𝑖𝑖 𝒂𝒂𝒂𝒂𝒂𝒂𝒂𝒂

Muestra 𝑖𝑖=1

• Densidad de un Valores Constantes


• Pm_i
gas ideal • Pm_aire
• n
• R

𝑃𝑃 � 𝑃𝑃𝑃𝑃𝑎𝑎
𝝆𝝆 =
𝑅𝑅 � 𝑇𝑇 8
Modelo Matemático
𝑛𝑛 𝑃𝑃𝑃𝑃𝑎𝑎
• Peso Molecular 𝑺𝑺𝑺𝑺𝑺𝑺 = �𝑃𝑃𝑃𝑃
Aparente de la 𝑃𝑃𝑃𝑃𝑎𝑎 = � 𝑌𝑌𝑖𝑖 ∗ 𝑃𝑃𝑃𝑃𝑖𝑖 𝒂𝒂𝒂𝒂𝒂𝒂𝒂𝒂

Muestra 𝑖𝑖=1

• Densidad de un
gas ideal
P(atm) � PMa (g/mol) P(psia) � SGg (lb/lbmol)
𝝆𝝆(g/lt) = 𝝆𝝆(lb/pie3) = 2.6996
atm lt. psia pie3
� T(°R)
0.082055 � T(K) lbmol°R
mol K

9
Agregar Nuevo Formulario

Presionar el botón Agregar

En total debe disponer de dos formularios 11


Interfaz Formulario A

TextBox 1 TextBox 4

TextBox 2 TextBox 5
TextBox 3 TextBox 6

Agregue
TextBox7
primero el
Group Box
antes que los
Radio Button.

12
Interfaz Formulario B

TextBox1

TextBox2

TextBox3

13
Edición en tiempo de Diseño

14
Edición de Propiedades

Formulario A
Form1

15
Interfaz Formulario A

TextBox 1 TextBox 4

TextBox 2 TextBox 5
TextBox 3 TextBox 6

Agregue
TextBox7
primero el
Group Box
antes que los
Radio Button.

16
Propiedad (Name) Propiedad Text
• Formulario 1: Ejemplo4_FormA • Formulario 1: Formulario Inicial (A)
• Button 1: BtnCalcular

17
Propiedad Text
• En el Formulario 1: Ejemplo4_FormA
• Button 1: Calcular El texto de este label
va a cambiar en
• GroupBox2: Componentes tiempo de ejecución,
así que no se
preocupe mucho por
• GroupBox1: Cálculos como se ve en tiempo
de Diseño
• Label1: C1
• Label2: C2
• Label3: C3
• Label 6: TextoLabel
18
Propiedad Text
• En el Formulario1: Ejemplo4_FormA
• Label4: Mi

• Label5: Yi

• RadioButton1: Mw

• RadioButton2: SGg

• RadioButton3: Densidad (g/cc)

• TextBox1: “”  Deje el espacio de texto vacío

• TextBox2: “”  Deje el espacio de texto vacío

• TextBox3: “”  Deje el espacio de texto vacío


19
Propiedad TextAlign
• En el Formulario1: Ejemplo4_FormA En el cuadro de
Propiedades
• TextBox1:  TextAlign: Center
busque la
• TextBox2:  TextAlign: Center Propiedad
• TextBox3:  TextAlign: Center
“Text Align”

20
Propiedad: ReadOnly
• En el Formulario 1: Ejemplo4_FormA

Edición de la propiedad ReadOnly en tiempo de Diseño


Código
• TextBox1  ReadOnly: TRUE • TextBox1.ReadOnly = TRUE

• TextBox2  ReadOnly: TRUE


• TextBox3 ReadOnly: TRUE

21
Interfaz Formulario A
El texto de este label
va a cambiar en
tiempo de ejecución,
Código así que no se
• TextBox1.ReadOnly = TRUE preocupe mucho por
como se ve en tiempo
de Diseño

23
Edición de Propiedades

Formulario B
Form2

24
Interfaz Formulario B

TextBox1

TextBox2

TextBox3

25
Propiedad (Name) Propiedad Text
• Formulario 2: Ejemplo4_FormB • Formulario 2: Densidad_FormB
• Button 1: BtnCalcular
• Button 2: BtnSalir

26
Propiedad Text

• En el Formulario 2: Ejemplo4_FormB
• Button 1: Calcular
• Button 2: Salir
• Label 1: Presión (atm)
• Label 2: Temp (C)
• Label 3: Densidad (g/cc)
27
Formulario B
Densidad_FormB

:B

29
Formulario Inicial (A)

:A

30
Código Formulario A
FORM1

31
Formulario A (Form1) : Módulo de Clase
• Declaramos las variables:
• Arreglos unidimensionales
• Variables Publicas
Public Class Ejemplo4_FormA

Dim VecMi() As Single = {16.04, 30.07, 44.09}


Dim VecFracYi(2) As Single
Variable Dim VecResultado(2) As Single
Publica Public PM As Single
Es possible
usarla en otros End Class
Proyectos y/o
Formularios

32
Evento Load del Formulario A
• Private Sub Ejemplo4_FormA_Load(sender As Object, e
As EventArgs) Handles MyBase.Load

• TextBox1.Text= VecMi(0)
• TextBox2.Text= VecMi(1)
• TextBox3.Text= VecMi(2)
• End Sub

33
34
Formulario A (1) : Botón Calcular –Evento Clic
Primera estructura: IF
• Utilizamos la caja dinámica de mensajes

Private Sub BtnCalcular_Click()

If RadioButton1.Checked = False And


RadioButton2.Checked = False And RadioButton3.Checked
= False Then
MsgBox("Seleccione una opción en: Cálculos",
MsgBoxStyle.Critical, "Seleccione")

End If
… 35
Formulario A (1) : Botón Calcular
Segunda estructura: IF
If RadioButton1.Checked = True Then
VecFracYi(0) = Val(TextBox4.Text)
VecFracYi(1) = Val(TextBox5.Text)
VecFracYi(2) = Val(TextBox6.Text)

VecResultado(0) = VecFracYi(0) * VecMi(0)


VecResultado(1) = VecFracYi(1) * VecMi(1)
VecResultado(2) = VecFracYi(2) * VecMi(2)
PM = VecResultado(0) + VecResultado(1) +
VecResultado(2)
Label6.Text = "PM"


TextBox7.Text = PM
End If 36
Formulario A (1) : Botón Calcular
Tercera estructura: IF

If RadioButton2.Checked = True Then


Label6.Text = "SGg"
TextBox7.Text = Math.Round(PM / 28.97, 2)
End If

37
Formulario A (1) : Botón Calcular
Cuarta estructura: IF

If RadioButton3.Checked = True Then


Me.Hide()
Ejemplo4_FormB.Show()
End If

End Sub ← cerramos el código del EVENTO


del botón calcular 38
Código Formulario B
FORM2

39
Formulario B
Densidad_FormB

:B

40
Formulario B (2) : Módulo de Clase
• Declaramos las variables:
• Variables Locales

Public Class Ejemplo4_FormB

Dim P As Single
Dim T As Single
Dim Densidad As Single

End Class
41
Formulario B (2) : Botón Calcular
Sintaxis para llamar una variable
Publica:
• Asignamos valores a las variables NombreFormOrigen.NombreVariable

• Ejecutamos los cálculos


• Redondear el valor para ser exhibido Variable
Publica

Private Sub BtnCalcular_Click()


P = Val(TextBox1.Text)
T = Val(TextBox2.Text)
Densidad = P * Ejemplo4_FormA.PM / (1 * 0.082055 * (T + 273)) / 1000
TextBox3.Text = Math.Round(Densidad, 5)
End Sub

42
Formulario B (2) : Botón Salir

• Terminamos la ejecución

44
Siguientes pasos
• Depurar
• Optimizar el código

45
Valores para depurar el código
• Fracciones Molares
• C1: 0.49
• C2: 0.38
• C3: 0.13
• P: 3.1 atm
• T: 50 oC

46
47
Preguntas, dudas, inquietudes
y/o comentarios?

48

También podría gustarte