Ayuda ejercicios unidad 26: Utilizar clases en VB





1.     Utilizar la clase del tema dieciséis y realizar todo el proceso de inserción explicado en un proyecto nuevo.

 

El primer paso es disponer de la clase, para ello, como se ha indicado en el tema, generamos un proyecto de Biblioteca de clases.

 

 

Incluimos todos los fuentes del tema dieciséis, copiando y pegando o bien, copiando el archivo Ejercicios en el directorio del proyecto.

 

Public Class Ejercicios

  Public Sub New()

  End Sub

 

  Public Function AreaCirculo(ByVal Radio As Double) As Double

    AreaCirculo = Radio * Radio * 3.1415

  End Function

 

  Public Function LongitudCirculo(ByVal Radio As Double) As Double

    LongitudCirculo = Radio * 2 * 3.1415

  End Function

 

  Public Function AreaTriangulo(ByVal Base As Double, ByVal Altura As Double) As Double

    AreaTriangulo = Base * Altura / 2

  End Function

 

  Public Function Primos(ByVal Numero As Long) As Boolean

    Dim X As Integer = 3

    Dim Final As Long

    Dim Result As Boolean = True

 

    Select Case Numero Mod 2 <> 0

      Case True

        Final = CLng(Numero / 2) + 1

        While X < Final And Result

          Result = Numero Mod X <> 0

          X = X + 1

        End While

      Case Else

        If Numero > 2 Then Result = False

    End Select

    Primos = Result

  End Function

 

  Public Function Calificacion(ByVal Nota As Single) As String

    Dim Texto As String = ""

    Select Case Nota

      Case 0 To 2.99

        Texto = "M.D."

      Case 3 To 4.99

        Texto = "Ins"

      Case 5 To 5.99

        Texto = "Suf"

      Case 6 To 6.99

        Texto = "Bien"

      Case 7 To 8.99

        Texto = "Not"

      Case 9 To 10.0

        Texto = "Sob"

      Case Else

        Texto = "Calificación erronea"

    End Select

    Calificacion = Texto

  End Function

 

  Public Function Conversion(ByVal M As Single, _

                             ByVal T As String) As Single

    Dim C As Single

    Select Case T

      Case "T"

        C = CSng(M / 1609.34)

      Case "M"

        C = CSng(M / 1852)

      Case "L"

        C = CSng(M / 4190)

      Case "Y"

        C = CSng(M / 0.9144)

    End Select

    Conversion = C

  End Function

 

  Public Function Fecha(ByVal D As Integer, _

               ByVal M As Integer, _

               ByVal A As Integer) _

           As Boolean

 

    Dim Fec As Boolean

 

    Select Case M

      Case 1, 3, 5, 7, 8, 10, 12

        Fec = D > 0 And D < 32

      Case 4, 6, 9, 11

        Fec = D > 0 And D < 31

      Case 2

        Select Case A Mod 100 = 0

          Case True

            Fec = (D > 0 And D < 29) Or (D = 29 And A Mod 400 = 0)

          Case Else

            Fec = (D > 0 And D < 29) Or (D = 29 And A Mod 4 = 0)

        End Select

    End Select

    Fecha = Fec

  End Function

 

  Public Function ConversionMoneda(ByVal Pesetas As Single, _

                                   ByVal Moneda As String) As Single

    Dim Result As Single

    Select Case Moneda

      Case "F"

        Result = CSng(Pesetas / 25.24)

      Case "L"

        Result = CSng(Pesetas / 0.0859)

      Case "I"

        Result = CSng(Pesetas / 245.556)

      Case "D"

        Result = CSng(Pesetas / 150.228)

      Case "M"

        Result = CSng(Pesetas / 84.648)

      Case "S"

        Result = CSng(Pesetas / 101.755)

      Case "H"

        Result = CSng(Pesetas / 5.117)

      Case "P"

        Result = CSng(Pesetas / 0.826)

    End Select

    ConversionMoneda = Result

  End Function

 

  Public Sub NumerosPrimos(ByVal Desde As Integer, ByVal Hasta As Integer)

    Dim x As Integer = Desde

    While x <= Hasta

      Select Case Primos(x)

        Case True

          Console.WriteLine("El número {0} es primo", x)

      End Select

      x = x + 1

    End While

  End Sub

End Class

 

El siguiente paso es generar la clase, Generar à Generar Tema_26.

Esto dará como resultado un archivo en el directorio bin\release del archivo tema_26.dll.

Ese archivo es el que después deberá utilizarse en agregar referencia, cuando se desee utilizar está clase.

Utilización de la clase del Tema_26.

Creamos un proyecto nuevo, Tema_26_Utilizacion.

 

 

En la opción Proyecto à Agregar referencia à Examinar,  vamos al directorio del proyecto Tema_26\bin\release en ese directorio  y añadimos a nuestro proyecto el archivo Tema_26.dll.

 

Agregar referencia

 

A continuación después de haber aceptado el archivo de la clase, en la primera línea de nuestro módulo principal

 

Imports

 

 

Escribimos Imports Tema_26, y ya podemos utilizar la clase que hemos escrito.

 

Como podemos ver en la imagen todos los métodos de la clase están disponibles.

Ahora solo queda utilizarlos.

 

2.     Repetir unos cuantos ejercicios del tema dieciséis, pero ahora usando la clase compilada.

1.     Hallar el área y la longitud de una circunferencia, solicitando el radio de la misma  R . Area  = PI * R al cuadrado,   Longitud  =  2 * PI * R .

Imports Tema_26

Module Module1

  Sub Main()

    Dim Objeto As New Tema_26.Ejercicios

    Dim Radio As Double

 

    Console.WriteLine("Cálculo del área y longitud de un circulo")

    Radio = Console.ReadLine

 

    Console.WriteLine("Area de radio {0} es {1} ", Radio, Objeto.AreaCirculo(Radio))

    Console.WriteLine("Longitud radio  {0} es {1} ", Radio, Objeto.LongitudCirculo(Radio))

    Console.ReadKey()

  End Sub

End Module

  

2.     Hallar el área de un triángulo. Area = Base por Altura / 2.

Imports Tema_26

Module Module1

  Sub Main()

    Dim Objeto As New Tema_26.Ejercicios

    Dim Base As Double

    Dim Altura As Double

 

    Console.WriteLine("Cálculo del área de un triángulo")

    Console.WriteLine("Introducir Base")

    Base = Console.ReadLine

    Console.WriteLine("Introducir Altura")

    Altura = Console.ReadLine

    Console.WriteLine("Area triángulo de base {0} y altura {1} es {2} ", Base, Altura, Objeto.AreaTriangulo(Base, Altura))

 

    Console.ReadKey()

  End Sub

End Module

 

3.     A partir de los siguientes valores de moneda extranjera, crear una función que a partir de un importe en pesetas devuelva su equivalente en la moneda que se indique.

1 Franco francés        25,2400            25,3920

1 Lira                           0,0859              0,0864

1 Libra esterlina        245,5560           247,0340

1 Dólar americano     150,2280           151,1320

1 Marco alemán          84,6480            85,1570

1 Franco suizo          101,7550           102,3670

1 Florín holandés         5,1170            75,5690

1 Escudo portugués     0,8262              0,8312

 

Imports Tema_26

Module Module1

  Sub Main()

    Dim Objeto As New Tema_26.Ejercicios

    Dim Pesetas As Integer

    Dim Moneda As Char

 

    Console.WriteLine("Convertir moneda ")

    Console.WriteLine("Introducir pesetas")

    Pesetas = Console.ReadLine

    Console.WriteLine("Introducir moneda F/L/I/D/M/S/H/P")

    Moneda = Console.ReadLine

    Console.WriteLine("El importe de {0} pesetas en la moneda {1} es {2} ", Pesetas, Moneda, Objeto.ConversionMoneda(Pesetas, Moneda))

    Console.ReadKey()

  End Sub

End Module

   Inicio    






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies