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.
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.
Codigo
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
0 comentarios:
Publicar un comentario