Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
BASIC 2010
VISUAL
Pgina 1
VISUAL
Inicio
Datos
Proceso
Resultados
Fin
Datos de entrada.
Procesos
DAVID SALOMON ALIAGA
Pgina 2
VISUAL
Condicionales
Fin
Bucles Lgicos.
Los bucles son herramientas de programacin que realizan un procedimiento n
veces, dependiendo de la condicin de salida o la condicin de entrada.
Proceso
F
V
DAVID SALOMON ALIAGA
Pgina 3
VISUAL
Funcin While Do
Esta realiza el bucle mientras la condicin sea verdadera.
V
Proceso
Bucle Determinado
Funcin FOR TO.
La funcin FOR TO realiza un bucle determinado, es decir que se conoce la
cantidad de repeticiones, esta es controlada con un contador i.
Pgina 4
FOR i
TO
VISUAL
PROCESO
Pgina 5
VISUAL
Pgina 6
VISUAL
Pgina 7
VISUAL
Pgina 8
VISUAL
Pgina 9
Pgina 10
VISUAL
VISUAL
OBJETO RADIOBUTTON.
Como ven en la figura de los tres radios button solo se puede elegir uno, este
funciona como condicin lgica, es decir si es seleccionado realizara algn
Pgina 11
VISUAL
Pgina 12
VISUAL
OBJETO DATAGRIDVIEW.
Pgina 13
VISUAL
OBJETO PICTUREBOX.
Pgina 14
VISUAL
, , ).
Pgina 15
Pgina 16
VISUAL
VISUAL
Pgina 17
VISUAL
OBJETO MSGBOX
El msgbox es un objeto que no se encuentra en la barra de herramientas, este
funciona para mostrar un mensaje mientras se ejecute algn cdigo, o tambin
para mostrar resultados.
Su cdigo es:
MsgBox (Mensaje)
Haciendo el mismo procedimiento anterior colocamos un botn al lienzo y le
damos click sobre el botn y programamos el MsgBox.
Pgina 18
VISUAL
Pgina 19
VISUAL
Ejemplo
La variable (Nombre) puede almacenar cualquier tipo de nombre.
La variable (Sw) puede almacenar algn valor lgico, es decir puede ser
Verdadero o Falso.
Variables matriciales.Las variables matriciales pueden almacenar un tipo de matriz de cualquier
dimensin.
Ejemplo
M (9)
Este presenta una matriz unidimensional donde la longitud es de 10, teniendo
posiciones que van desde 0 hasta 9.
9
Donde M es el nombre de la matriz.
TIPOS DE VARIABLES EN VISUAL BASIC.
En visual Basic los tipos de variables que existen para nmeros son:
INTEGER
SINGLE
DOUBLE
que presenta a cualquier nmero real, teniendo en cuenta la
doble precisin, es decir que puede almacenar cantidades mayores al Tipo
SINGLE.
Byte
String
Pgina 20
VISUAL
Ejemplo.
Si los valores que voy a trabajar con decimales, necesariamente tengo que
trabajar con el tipo Single.
Para calcular presiones, volmenes, Etc.
Ejemplo
P=0.052*H*D
Donde P, H, D son tipo Single.
En visual Basic Sera
Dim P, H, and D as single.
Ejemplo Para cadenas.
Nombre
Que puede ser mara, Juan , Gabriel , Etc.
Donde Nombre es de tipo String.
En visual Basic.
Dim Nombre as String.
Variables Locales Y Globales.
Local significa que la variable que est disponible solamente para algn
procedimiento, y despus al finalizar el procedimiento este elimina el valor
almacenado.
Las variables se consideran tipo locales cuando se programan dentro de un
procedimiento.
Ejemplo.
Sub Presin ()
Dim P, H,D as single
P=0.052*H*D
End Sub
Pgina 21
VISUAL
Pgina 22
VISUAL
EJEMPLO PRCTICO
Ejercicio #1
Desarrollar un programa en Visual Basic que determine la presin Hidrosttica
de un pozo, los datos sern ingresados desde formulario utilice el objeto
TextBox y muestre el Resultado con etiquetas.
Primeramente se determina el modelo matemtico para resolver el problema:
P=0.052*Den*Prof
Donde:
Den= Densidad del lodo
Prof= Profundidad del Pozo.
Creamos un nuevo formulario para desarrollar el programa.
Pgina 23
VISUAL
Para cada objeto se cambia la etiqueta, se hace click sobre el objeto para
seleccionarlo luego se va a la barra de propiedades, busque la propiedad text
y coloque la equeta calcular Presion para el objeto Botn.
Cada objeto debe tener un nombre propio por lo cual se da click en el objeto
textbox, luego se va a la barra de propiedades, se busca la propiedad Name
luego se coloca el nombre propio que uno desee.
Para el botn:
Btn_Calcular
Para textbox donde se ingresa la profundidad
Txt_Prof
Para el Textbox donde se ingresa la densidad
Txt_Den
Para el Label donde se muestra el resultado de la presin calculada
Lbl_Presion
Procedemos a introducir el cdigo haciendo doble Click en el botn.
Pgina 24
VISUAL
Pgina 25
VISUAL
MsgBox(Cstr(Presion) + Psi)
Pgina 26
VISUAL
Ejercicio Prctico # 3
Se desea calcular la velocidad de flujo que pasa por una tubera, teniendo
como datos el caudal que es constante y el dimetro de la tubera.
Realice el programa utilizando TextBox y Etiquetas.
Primeramente:
Modelo matemtico:
Q=V*A
V=Q/A
Donde:
A=3.1416*D^2/4
V=Q/(3.1416*D^2/4)
Se necesita como datos de entrada el caudal y el dimetro:
Desarrollamos el Interface
Txt_D
Pgina 27
Lbl_V
VISUAL
Ejemplo # 4
Realizar un programa en Vb para calcular el peso molecular de un gas, donde
las fracciones de los componentes se ingresaran por un InputBox y se mostrara
el peso molecular aparente en una etiqueta, las fracciones y los pesos
moleculares se ingresaran de hasta 7 carbonos.
Modelo matemtico:
Pma= PmFracc
Como se ve se debe introducir los componentes de peso moleculares y
fracciones, se asume que la cromatografa ya est normalizada.
En un formulario en blanco agregamos un botn y una etiqueta para mostrar el
resultado:
Pgina 28
Btn_Calcular
VISUAL
Lbl_Pma
Pgina 29
OBJETO
VISUAL
DATAGRIDVIEW
Pgina 30
Pgina 31
VISUAL
VISUAL
Pgina 32
VISUAL
1,0
1,1
1,2
1,3
2,0
2,1
2,2
2,3
3,0
3,1
3,2
3,3
Pgina 33
VISUAL
Ejemplo # 5
Realizar un en Visual Basic que determine la gravedad especifica de un gas
que tiene una composicin de hasta 7 carbonos, donde los componentes de
cada carbn se introducirn desde un objeto datagridview, y los pesos
moleculares sern introducidos tambin desde el datagridview.
Solucin del Problema:
Pma= FraccPm
Geg=Pma /28.97
Primeramente como el programa va a trabajar con el objeto Datagridview, este
debe estar dimensionado antes que pueda usarse para introducir los datos, es
decir que tiene que tener 7 filas y 2 columnas para los datos.
Por esta manera vamos a dimensionar la grilla cuando se cargue el programa,
para ello se realiza el siguiente procedimiento.
Pgina 34
Dg
Btn_Calcular
VISUAL
Lbl_Geg
Pgina 35
VISUAL
For i = 1 To 7
Fracc = Val(Dg.Item(1, i).Value)
Pm = Val(Dg.Item(2, i).Value)
Pma = Pma + Fracc * Pm
Next
Geg = Pma / 28.97
Lbl_Geg.text = Geg
End Sub
Ejemplo # 6
Determinar el factor volumtrico de gas en funcin a la profundidad, realizar el
clculo teniendo como datos de entrada la presin, temperatura y el factor de
desviacin del gas, mostrar los resultados en una grilla donde en funcin de
una declinacin de presin de 100 psi muestre el factor volumtrico del gas.
Calculo:
Bg=
Vs
Vr
PV =nRTZ
Bg=
TsPr
TrPsZr
Pgina 36
Dg
Txt_Ts
Txt_Ps
Txt_Pr
Txt_Tr
Txt_Z
VISUAL
Btn_Calcular
Pgina 37
VISUAL
Pgina 38
VISUAL
Ejercicio # 7
Realizar Un Programa que convierta un rato de Azimuth en Rumbo, utilizando
condicionales If Then Else.
360
R=360A
0
R=A
270
90
R=A-180
R=180- A
180
Pgina 39
VISUAL
Btn_Calcular
Txt_A
Lbl_Rumbo
Pgina 40
VISUAL
Ejercicio # 8
Realizar un programa para convertir un dato de Azimuth a dato de rumbo
utilizando la funcin select case.
Con Un formulario en Blanco Agregamos un Botn, una caja de texto y
etiquetas.
Btn_Calcular
Txt_A
Lbl_Rumbo
Pgina 41
VISUAL
R = A - 180
Lbl_Rumbo.Text = "S" + Cstr(R) + "W"
Case Is > 270
R = 360 - A
Lbl_Rumbo.Text = "N" + Cstr(R) + "W"
End Select
End Sub
End Class
Ejercicio # 9
Realizar un programa en Visual Basic para determinar la presin esttica de
fondo, en funcin de la profundidad de intervalos iguales.
M
P=Pwhe ZRT
Prof
Don de:
La presin de cabeza es dato.
Se tiene la presin mxima y mnima en superficie, la gradiente de
temperatura y la profundidad del pozo.
El factor de compresibilidad es dato y la Gravedad especfica del gas es dato.
Interfaz:
Pgina 42
Txt_PWh
Txt_Max
Txt_min
Txt_Gt
VISUAL
Txt_Prof Txt_Geg
Txt_Z
Ejercicio # 10
Desarrollar un programa en Vb que determine la tonelada milla de las
diferentes operaciones que realiza el cable de perforacin.
Teniendo en cuenta que:
Tonelada Milla de una vuelta completa es Tm= 2*Ws*Prof
Tonelada Milla de una Bajada De caera es Tm= WS*Prof
Tonelada Milla De una Perforacin es
Tm= 2*(2*Ws*Prof2-2*Ws*Prof1)
Pgina 43
Btn_Calcular
Txt_Ws
Txt_Prof1
Txt_ Prof2
Txt_Ope
Pgina 44
VISUAL
Lbl_Tm
VISUAL
Lbl_Tm.Text = (Tm)
End Sub
End Class
Ejercicio # 11
Desarrollar un programa en Vb que determine la tonelada milla de las
diferentes operaciones que realiza el cable de perforacin.
Teniendo en cuenta que:
Tonelada Milla de una vuelta completa es Tm= 2*Ws*Prof
Tonelada Milla de una Bajada De caera es Tm= WS*Prof
Tonelada Milla De una Perforacin es
Tm= 2*(2*Ws*Prof2-2*Ws*Prof1)
Pgina 45
Txt_Ws
Txt_Prof1
Txt_Prof2
Rb_Perforacion
Rb_BajadaCaeria
Rb_VueltaCompleta
Btn_Calcular
Lbl_Tm
Cdigo
Public Class Form1
Pgina 46
VISUAL
VISUAL
Ejercicio # 12
Desarrollar un programa en vb que determine la presin que se registra en
superficie cuando ingresa una burbuja de gas al pozo cuando este est
cerrado, teniendo en cuenta que la altura del gas se considera despreciable y
la burbuja no se descomprime conserva su presin en todo el transcurso de la
ascendencia.
Modelo matemtico.
Pgina 47
Dg
Txt_Dl
Txt_Prof
Txt_Pburbuja
Btn_Calcular
Cdigo:
Public Class Form1
Private Sub Btn_Calcular_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_Calcular.Click
Dim Psup, Prof, Dl, PBurbuja As Single
Dim n As Integer
Prof = Val(Txt_Prof.Text)
PBurbuja = Val(Txt_PBurbuja.Text)
Dl = Val(Txt_Dl.Text)
Pgina 48
VISUAL
VISUAL
n = Prof / 100 + 1
Dg.RowCount = n
Dg.ColumnCount = 2
For i = 0 To n - 1
Psup = PBurbuja - 0.052 * Dl * (Prof - 100 * i)
Dg.Item(0, i).Value = (Prof - 100 * i)
Dg.Item(1, i).Value = Psup
Next
End Sub
End Class
Ejercicio # 13
Desarrollar un programa en vb que determine la presin que se registra en
fondo cuando ingresa una burbuja de gas al pozo cuando este est cerrado,
teniendo en cuenta que la altura del gas se considera despreciable y la
burbuja no se descomprime conserva su presin en todo el transcurso de la
ascendencia.
Modelo matemtico:
Pgina 49
VISUAL
PFondo=PBurbuja
Para el segundo Caso:
PFondo=PBurbuja+Phidrostatica
Para el Tercer Caso:
PFondo= PBurbuja + Phidrostatica
Formula estndar
Dg
Txt_Dl
Txt_Prof
Txt_PBurbuja
Btn_Calcular
Cdigo:
Public Class Form1
Private Sub Btn_Calcular_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_Calcular.Click
Dim PFondo, Prof, Dl, PBurbuja As Single
Dim n As Integer
Prof = Val(Txt_Prof.Text)
PBurbuja = Val(Txt_PBurbuja.Text)
Dl = Val(Txt_Dl.Text)
Pgina 50
VISUAL
n = Prof / 100 + 1
Dg.RowCount = n
Dg.ColumnCount = 2
For i = 0 To n - 1
PFondo = PBurbuja + 0.052 * Dl * (100 * i)
Dg.Item(0, i).Value = (Prof - 100 * i)
Dg.Item(1, i).Value = PFondo
Next
End Sub
End Class
Ejercicio # 14
Desarrollar un programa en Vb que determine la condicin de un trepano, es
decir que en funcin a su desgaste lo clasifique en Nuevo, usado, o Inutilizable,
tambin que determine cuantos trpanos son nuevos, usados y inutilizable.
Tomar en cuenta que un trepano se Considera Nuevo cuando su desgaste en
menor al 5%,
Se considera usado cuando su desgaste est entre mayor al 5% y menor al 30
%
Si tiene un desgaste mayor al 30 % se considera inutilizable.
Dg
Txt_Cantidad
Lbl_Nuevo
Pgina 51
Lbl_Usado
Lbl_Inutilizable
VISUAL
Pgina 52
VISUAL
Ejercicio # 15
Desarrollar un Programa en Vb que contabilice las toneladas millas de cada
operacin, como tambin que compare con la tonelada milla del cable que
puede resistir y que determine cuanto de vida le resta al cable al realizar
cualquier operacin.
Dg
Txt_n
Txt_Rcable
Btn_Calcular
Pgina 53
VISUAL
Pgina 54
VISUAL
Ejercicio # 16
Se desea analizar las presiones que generaran varios lodos por lo que se
considera una densidad mxima y una densidad mnima de lodo, que tendr
una variacin dentro del rango, se desea analizar las presiones que generaran
los lodos a una profundidad.
Para ello el anlisis de realizara en un datagridview
Dg
Txt_Profundidad
Txt_DlMax
Txt_DlMin
Btn_Calcular
Pgina 55
Txt_VR
Pgina 56
VISUAL
Pgina 57
VISUAL
VISUAL
N = Desplazcos ( AZ 2)
E= Desplazsin( AZ 2)
Para realizar este programa se lo puede realizar por varios mtodos, podemos
introducir los datos desde un inputbox o podemos introducir los datos desde la
grilla, para ello realizaremos los dos ejemplos.
Pgina 58
Dg
VISUAL
Txt_n
Btn_Calcular
Para este programa utilizaremos objeto input box para introducir los datos.
Pgina 59
i).Value
i).Value
i).Value
i).Value
=
=
=
=
VISUAL
Tvd(i)
Desplaz(i)
Norte(i)
Este(i)
Dg
Txt_n
Btn_Dimensionar
Btn_Calcular
Pgina 60
VISUAL
Pgina 61
VISUAL
Pgina 62
VISUAL
Pgina 63
VISUAL
Y vemos que se realizan los clculos, en este caso se utilizaron dos botones, ya
que es necesario siempre dimensionar la grilla antes de poder introducir los
datos.
Matrices
Los matrices son arreglos de cosas, estas cosas pueden ser nmeros, objetos,
cadenas, procedimientos, etc.
Una matriz se caracteriza por la dimensin y por la longitud, es decir la
dimensin llegara a ser si es de una, dos o tres dimensiones, y la longitud es
cuanto en cantidad posee el vector.
A la matriz sea cual sea, se lo puede manipular a cada objeto que posea por la
posicin de su objeto.
Ejemplo:
10
Hola
120
+-*
Pgina 64
0.0002
1
5
VISUAL
6
Si vemos el ejemplo es una matriz mono-dimensional, de una sola
Matriz Bidimensional 4 x 4
Matrices en Visual Basic.
Todas las matrices programadas en visual Basic, se deben dimensionar y
declarar que tipos de datos puede almacenar la matriz, es importante
mencionar una matriz en visual solamente puede contener un tipo de datos.
Las matrices se pueden dividir en matrices dinmicas, y matrices estticas.
Una matriz esttica se declara su longitud al inicio.
Ejemplo
Dim M(9) as single
Pgina 65
VISUAL
Ejemplo # 18
Realizar un programa en Visual Estudio para poder simular, como se mover el
punto neutro (Respecto a la parte inferior del arreglo del fondo) en la zona de
los PM de una sarta de perforacin, si se hace variar el WOB desde un valor 0
hasta un valor final, establecido por el usuario. Las especificaciones adicionales
son:
a) Los Intervalos de incrementos son iguales.
b) Si se conoce la longitud total del arreglo de fondo, el programa debe
advertir el momento en que el punto neutro en la zona de transicin PM
Tubera.
DAVID SALOMON ALIAGA
Pgina 66
F=0
n
Donde:
F 1+ F 2+Wdc E=Wob
Entonces:
Hpn=
wobF 1F 2+ E
Wlb Dc
Pgina 67
VISUAL
Dg Txt_Dl Txt_IdDp
Txt_OdDp
Txt_LnDp
Txt_OdDc
VISUAL
Txt_IdDc
Txt_LnDc Txt_Prof
Pgina 68
VISUAL
n = wob / 5 + 1
Dg.RowCount = n
Dg.ColumnCount = 3
wob = 0
For i = 0 To n - 1
Hpn = (wob - F1 - F2 + Empuje) / LbDc
Pn = Hpn / LnDc
If Pn >= 1 Then
MsgBox("El punto neutro esta en zona de Transicion")
End If
LnPn = LnDp + (1 - Pn) * LnDc
Dg.Item(0, i).Value = wob
Dg.Item(1, i).Value = Pn
Dg.Item(2, i).Value = LnPn
Next
End Sub
End Class
Ejemplo # 19
Un pozo cerrado por causa de un amago de descontrol, registra una presin en
superficie, a la cual se va incrementando con el tiempo. Suponiendo que se
conoce la presin de burbuja de gas (Constante) que entro en el pozo y la
densidad de lodo en el pozo, la burbuja es puntual y asciende por el EA sin
expandirse. Realizar un programa en Visual Estudio para predecir la densidad
equivalente en fondo, a medida que la burbuja asciende por el EA, a intervalos
de iguales alturas. La profundidad del pozo es conocida.
Pgina 69
Dg
Txt_Dl
Txt_Prof
Txt_Pburbuja
Pgina 70
VISUAL
Pgina 71
VISUAL