Los tipos propios de usuarios (Structure), son tipos compuestos de uno o mas miembros, cada uno de ellos pudiendo ser de cualquier tipo. Estas estructuras se utilizan cuando la informacion que se quiere manejar no es muy compleja y por tanto no se justifica el diseño de toda una clase para gestionarla.
En Visual basic 6 la declaracion de tipos propios de usario se realizaba utilizando las etiquetas TYPE y END TYPE, ahora en .NET estas etiquetas fueron reeemplazadas por STRUCTURE y END STRUCTURE.
ANTES
01 type mitipo 02 valor1 as Integer 03 valor2 as Integer 04 end type
AHORA
01 Structure mitipo 02 public valor1 as Integer 03 public valor2 as Integer 04 end Structure
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:
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
Solucion:
01 Module Module1 02 'declaracion de tipo propio de usuario 03 Structure cono 04 Public radio As Single 05 Public altura As Single 06 Public generatriz As Single 07 Public area_base As Double 08 Public area_lateral As Double 09 Public area_total As Double 10 Public volumen As Single 11 End Structure 12 13 Sub Main() 14 'se crea una variable del tipo creado por el usuario 15 Dim mi_cono As cono 16 'introduccion de datos 17 Console.Write("Radio= ") 18 mi_cono.radio = Val(Console.ReadLine) 19 Console.Write("Altura= ") 20 mi_cono.altura = Val(Console.ReadLine) 21 Console.Write("Generatriz= ") 22 mi_cono.generatriz = Val(Console.ReadLine) 23 'operaciones de calculo 24 mi_cono.area_base = 3.141592 * mi_cono.radio ^ 2 25 mi_cono.area_lateral = 3.141592 * mi_cono.radio * mi_cono.generatriz 26 mi_cono.area_total = mi_cono.area_base + mi_cono.area_lateral 27 mi_cono.volumen = (1 / 3) * mi_cono.area_base * mi_cono.altura 28 'salida en pantalla 29 Console.WriteLine("Area Base: " & mi_cono.area_base) 30 Console.WriteLine("Area Lateral: " & mi_cono.area_lateral) 31 Console.WriteLine("Area Total: " & mi_cono.area_total) 32 Console.WriteLine("Volumen: " & mi_cono.volumen) 33 Console.ReadLine() 34 End Sub 35 36 End Module
RESULTADOS
Para:
RADIO = 7.56, GENERATRIZ=9.10, ALTURA= 5.20
resultados:
AREA BASE= 179.55, AREA LATERAL=216.12, AREA TOTAL=395.68, VOLUMEN=311.2
RADIO = 7.56, GENERATRIZ=9.10, ALTURA= 5.20
resultados:
AREA BASE= 179.55, AREA LATERAL=216.12, AREA TOTAL=395.68, VOLUMEN=311.2
0 comentarios:
Publicar un comentario