28 jul 2010

Tipos de usuario : Structure

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
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:
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

0 comentarios:

Publicar un comentario

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cna certification