Como vimos en la primera parte de Structures, los nuevos tipos en .NET, no solo permiten la declaraciones de diferentes datos, sino que ahora, tambien permiten la declaracion funciones y procedimientos que actuan como metodos a modo de clases sencillas.
Related Articles
Algo nuevo que tambien tiene el tipo Structure, es que a diferencia de visual basic clasico, ahora los datos declarados tambien necesitan que se especifique hasta donde podran ser usados esas variables, esto se hace antecediento al tipo de dato la etiqueta PUBLIC/PRIVATE/FRIENDS, con el primero los datos declarados podran ser usados en cualquier parte del programa, con el segundo, solo pueden ser usados dentro de Structure, con el tercero es una combinacion de public y private.
Se utlizará el mismo problema visto en la primera parte de este tutorial Structures
Ejemplo:
se desea construir una aplicacion de consola, que dado el radio, la generatriz y la altura de un cono; calcule e imprima el area de la base , el area lateral, el area total y su volumen. Esta aplicación debe ser construida utilizando tipos de usario (Structure) para gestionar los datos.
Consideraciones:
Codigo
Consideraciones:
El area de la base se calcula como:
AREA DE LA BASE = PI * RADIO^2
El area lateral se calcula:
AREA LATERAL = PI * RADIO * GENERATRIZ
El area toral se calcula como:
AREA TOTAL = AREA BASE + AREA LATERAL
El volumen se calcula:
VOLUMEN = (1/3) * AREA BASE * ALTURA
Codigo
01 Module Module1
02 'declaracion del tipo de usario "cono"
03 Structure cono
04 ' se declaran las variables como PRIVATE
05 Private radio As Single
06 Private altura As Single
07 Private generatriz As Single
08 Private area_base As Double
09 Private area_lateral As Double
10 Private area_total As Double
11 Private volumen As Single
12 'tambien se declara una constante PI
13 Private Const PI = 3.141592
14
15 'se declara un constructor
16 Public Sub New(ByVal r As Double, ByVal h As Double, ByVal g As Double)
17 radio = r
18 altura = h
19 generatriz = g
20 End Sub
21 'se declaran los metodos
22 Public Sub Leer() 'para leer y asignar datos
23 Console.Write("Radio= ")
24 radio = Val(Console.ReadLine)
25 Console.Write("Altura= ")
26 altura = Val(Console.ReadLine)
27 Console.Write("Generatriz= ")
28 generatriz = Val(Console.ReadLine)
29 End Sub
30
31 Public Sub Imprimir() 'para imprimir los resultados en pantalla
32 Console.WriteLine("Area Base: " & area_base)
33 Console.WriteLine("Area Lateral: " & area_lateral)
34 Console.WriteLine("Area Total: " & area_total)
35 Console.WriteLine("Volumen: " & volumen)
36 Console.ReadLine()
37 End Sub
38
39 Public Sub Calcular() 'para realizar las operaciones
40 area_base = PI * radio ^ 2
41 area_lateral = PI * radio * generatriz
42 area_total = area_base + area_lateral
43 volumen = (1 / 3) * area_base * altura
44 End Sub
45 End Structure
46
47 'programa principal
48 Sub Main()
49 '-------------------------
50 Dim mi_cono As cono
51 mi_cono.Leer()
52 mi_cono.Calcular()
53 mi_cono.Imprimir()
54 '--------------------------
55 'tambien se puede declarar el tipo como si fuera una clase
56 Dim otro_cono As cono = New cono(1.61, 1.2, 2.05)
57 otro_cono.Calcular()
58 otro_cono.Imprimir()
59 End Sub
60
61 End Module
RESULTADOS