Ayuda ejercicios unidad 16: Clases, Código en VB





 

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 .

El contenido de la clase es;

 

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

End Class

 

El programa principal:

 

Module Module1

  Sub Main()

  Dim Objeto As New 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

 

El resultado de la ejecución:

 

 

 

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

El contenido de la clase es;

 

Public Class Ejercicios

  Public Sub New()

  End Sub

 

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

  AreaTriangulo = Base * Altura / 2

  End Function

End Class

 

El programa principal:

 

  Sub Main()

  Dim Base As Double

  Dim Altura As Double

  Dim Objeto as New Ejercicios

 

  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

 

El resultado de la ejecución:

 

 

 

3.     Introducir un número A y visualizar si es o no primo.

El contenido de la clase es;

 

Public Class Ejercicios

  Public Sub New()

  End Sub

 

  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

End Class

 

 

El programa principal:

 

  Sub Main()

  Dim Numero As Integer

  Dim Objeto as New Ejercicios

  Console.WriteLine("Números primos")

  Console.WriteLine("Introducir número")

  Numero = Console.ReadLine

  Select Case Objeto.Primos(Numero)

  Case True

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

  Case Else

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

  End Select

  Console.ReadKey()

  End Sub

 

El resultado de la ejecución:

 

 

 

4.     Introducir una calificación (entre cero y diez),  e imprimir su equivalente alfabético, según la siguiente tabla.

De 3   ------->  M.D.

Desde 3 y menor que 5  ------->  INS.

Desde 5 y menor que 6  ------->  SUF

Desde 6 y menor que 7  ------->  BIEN

Desde 7 y menor que 9  ------->  NOT.

Desde 9 hasta 10    ------->  SOB.

El contenido de la clase es;

 

Public Class Ejercicios

  Public Sub New()

  End Sub

 

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

End Class

 

El programa principal:

 

  Sub Main()

 Dim Objeto as new Ejercicios

  Dim Nota As Single

  Console.WriteLine("Introducir nota ")

  Nota = Console.ReadLine

  Console.WriteLine(Objeto.Calificacion(Nota))

  Console.ReadKey()

  End Sub

 

El resultado de la ejecución:

 

 

 

5.     Introducir un valor en metros y visualizar su valor en millas terrestres, marinas , yardas y leguas.

Milla terrestre = 1.609,34 m.

Milla marina = 1.852,00 m.

Yarda = 4.190 m.

Legua = 0,9144 m.

 

El contenido de la clase es;

 

Public Class Ejercicios

  Public Sub New()

  End Sub

 

  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

End Class

 

El programa principal:

 

  Sub Main()

 Dim Objeto as new Ejercicios

  Dim Metros As Single

  Dim Tipo As String

  Console.WriteLine("Convertir distancia en metros ")

  Console.WriteLine("Introducir distancia en metros")

  Metros = Console.ReadLine

  Console.WriteLine("Introducir M/T/L/Y ")

  Tipo = Console.ReadLine

  Console.WriteLine(Objeto.Conversion(Metros, Tipo))

  Console.ReadKey()

  End Sub

 

El resultado de la ejecución:

 

 

 

6.     Introducir una fecha en pantalla con el formato día, mes y año en tres variables numéricas, validar la fecha y emitir el mensaje de fecha incorrecta o correcta.

El contenido de la clase es;

 

Public Class Ejercicios

  Public Sub New()

  End Sub

 

  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

End Class

 

El programa principal:

 

 

  Sub Main()

 Dim Objeto as New Ejercicios

  Dim Dia As Integer

  Dim Mes As Integer

  Dim Year As Integer

  Console.WriteLine("Comprobar fecha ")

  Console.WriteLine("Introducir dia")

  Dia = Console.ReadLine

  Console.WriteLine("Introducir mes")

  Mes = Console.ReadLine

  Console.WriteLine("Introducir año")

  Year = Console.ReadLine

  Select Case Objeto.Fecha(Dia, Mes, Year)

  Case True

  Console.WriteLine("La fecha es correcta")

  Case Else

  Console.WriteLine("La fecha no es correcta")

  End Select

  Console.ReadKey()

  End Sub

 

El resultado de la ejecución:

 

 

 

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

 

El contenido de la clase es:

 

Public Class Ejercicios

  Public Sub New()

  End Sub

 

  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

End Class

 

El programa principal:

 

 Sub Main()

 Dim Objeto as New 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

 

El resultado de la ejecución:

 

 

 

 

Si observamos al escribir Objeto. En el entorno de VB, aparece lo siguiente:

 

Que son todos los métodos que hemos escrito, en el formato de función.

 

Si repasamos el tema 12, también podemos ver que no hay diferencia entre sus soluciones y las de éste, excepto lo de poner las funciones como públicas en la clase, en lugar de private.

 

8.     Visualizar los números primos entre 10 y 200.

El contenido de la clase es:

 

Public Class Ejercicios

  Public Sub New()

  End Sub

 

  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 programa principal

 

 Sub Main()

   Dim Objeto as New Ejercicios

Objeto.NumerosPrimos(10,200)

Console.ReadKey()

 End Sub

 

En los ejercicios anteriores se había utilizado funciones para cada uno de los métodos, en éste ejercicio la solución pasa por la utilización de un procedimiento.

 

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

 

   Inicio    






Página inicial  Cursos Informática Gratuitos

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