Está en la página 1de 13

Investigación y análisis de términos

Camilo Carrasco

programación NET I

Instituto IACC

02/08/2021
Desarrollo

1- Identifique aquellas clases y espacios de nombres de la biblioteca de clases de .Net

que están presentes en el siguiente código. Además, investigue qué clases pueden ser

agregadas al código planteado. Según su experiencia indique cuáles son las clases y

espacios de nombres más usadas en .Net.

Sub Main()

Console.WriteLine("Ingrese el Nombre.")

Dim Coleccion As System.Collections.Generic.List(Of Dato)

Dim Item As New Dato

Item.Nombre = "Dionicio"

Coleccion.Add(Item)

Item = New Dato()

Item.Nombre = "María"

Coleccion.Add(Item)

Dim x As Integer = 0

While x < Coleccion.Count

Console.WriteLine (Coleccion.Item (x).Nombre)

x=x+1

End While

Console.ReadLine()

End Sub

End Module
2- Identifique si en el siguiente código existen constructores y destructores,

fundamentando su respuesta. Plantee otra forma de presentar dicho caso de manera

que pueda mostrar los resultados por pantalla.

Private NombreAlumno As String

Private Nota As Decimal

Public Sub New(ByVal NombreAlumno As String, ByVal Nota As Decimal)

Me.NombreAlumno = NombreAlumno

Me.Nota = Nota

End Sub

3- Desarrolle en Visual Basic .NET un programa que calcule la cantidad de tiempo que

permaneció un vehículo en un estacionamiento privado. Considere que debe hacer

uso de constructores y destructores, de acuerdo con la cantidad que amerite este caso.

Deberá mostrar por pantalla los resultados de dicho proceso, tanto en minutos como

en horas por cada vehículo. Finalmente, se debe entregar el código generado en la

plantilla de entrega de la tarea, además de detallar y explicar su solución para esta

problemática.

Los datos de entrada serán:

• Patente.

• Hora de entrada.

• Hora de salida
1- Identifique aquellas clases y espacios de nombres de la biblioteca de clases de .Net

que están presentes en el siguiente código. Además, investigue qué clases pueden ser

agregadas al código planteado. Según su experiencia indique cuáles son las clases y

espacios de nombres más usadas en .Net.

cómo se ha podido apreciar en controles anteriores, la sentencia clase System es la

principal que se aprecia en el código, esta clase es la que contiene subclases que definen

valores al momento de desarrollar nuestro código, este tiene datos de referencias,

controles de eventos, interfaz, atributos, etc.

Siguiendo la secuencia del código nos encontramos con System.Collections, esta

contiene la interfaz y clases, estas al momento de desarrollar el código definen las

colecciones de objetos como por ejemplo colas, listas, matrices, etc.

Seguimos la secuencia nos encontramos con Microsoft.VisualBasic, esta contiene las

clases que admite la compilación del lenguaje de programación de visual Basic.


2- Identifique si en el siguiente código existen constructores y destructores, fundamentando

su respuesta. Plantee otra forma de presentar dicho caso de manera que pueda mostrar los

resultados por pantalla

El código que se puede apreciar en la página principal contiene un constructor el cual es

el de NombreAlumno y Nota, al mismo tiempo que observamos los constructores no se

observa un destructor definido claramente, por último, presentar los resultados por

pantalla de otra manera que la que se plantea podemos recurrir a lo siguiente.

Public Property PAlumno As String


Get
Return NombreAlumno
End Get
Set(value As String)
NombreAlumno = value
End Set
End Property
Public Property PNota As Decimal
Get
Return Nota
End Get
Set(value As Decimal)
Nota = value
End Set
End Property

En dicho ejemplo Podemos crear alumno con Alumno1=New Alumno(“Camilo”,”4.7”)

Alumno2= New Alumno (“Daniela”,”7.0”).

Y así sucesivamente hasta ingresar todos los datos necesarios.


3- Desarrolle en Visual Basic .NET un programa que calcule la cantidad de tiempo que

permaneció un vehículo en un estacionamiento privado. Considere que debe hacer uso de

constructores y destructores, de acuerdo a la cantidad que amerite este caso. Deberá

mostrar por pantalla los resultados de dicho proceso, tanto en minutos como en horas por

cada vehículo. Finalmente, se debe entregar el código generado en la plantilla de entrega

de la tarea, además de detallar y explicar su solución para esta problemática. Los datos de

entrada serán:

- Patente.

- Hora de entrada.

- Hora de salida

CODIGO:

Public Class Empleados

Private _rut As String


Private Nombre As String
Private Apellido As String
Private FIngreso As String
Private Horario As Date
Private Cargo As String
Private Hentrada As Date
Private Hsalida As Date
'Creacion del constructor'
Public Sub New(Rut As String,
Nombre As String,
Apellido As String,
Fingreso As String,
horario As Date,
cargo As String)
Me.Rut = Rut
Me.Nombre = Nombre
Me.Apellido = Apellido
Me.FIngreso = Fingreso
Me.Horario = horario
Me.Cargo = cargo
End Sub
'Encapsulacion'
Public Property PFIngreso As String
Get
Return FIngreso
End Get
Set(value As String)
FIngreso = value
End Set
End Property
Public Property PCargo As String
Get
Return Cargo
End Get
Set(value As String)
Cargo = value
End Set
End Property
Public Property PNombre As String
Get
Return Nombre
End Get
Set(value As String)
Nombre = value
End Set
End Property
Public Property Rut As String
Get
Return _rut
End Get
Set(value As String)
_rut = value
End Set
End Property
Public Property PApellido As String
Get
Return Apellido
End Get
Set(value As String)
Apellido = value
End Set
End Property
Public Property PHorario As Date
Get
Return Horario1
End Get
Set(value As Date)
Horario1 = value
End Set
End Property
Public Property PHentrada As Date
Get
Return Hentrada
End Get
Set(value As Date)
Hentrada = value
End Set
End Property
Public Property PHsalida As Date
Get
Return Hsalida
End Get
Set(value As Date)
Hsalida = value
End Set
End Property
Public Property Horario1 As Date
Get
Return Horario
End Get
Set(value As Date)
Horario = value
End Set
End Property
'Llamado a la lista de trabajadores'
Public Function listaTrabajador(i As Integer) As String
Return Rut & " - " & PNombre & " " & PApellido & " - " & PFIngreso & " - " &
PHorario & " - " & PCargo
End Function
'llamado de las horas trabajadas'

Public Overrides Function ToString() As String


Dim tiempoI As TimeSpan = TimeSpan.Parse(PHentrada)
Dim tiempoF As TimeSpan = TimeSpan.Parse(PHsalida)
Dim hObligadas As TimeSpan = TimeSpan.Parse(PHorario)

'calculo de horas'
Dim trabajado As TimeSpan = tiempoF - tiempoI

'calculo de horas no trabajadas'


Dim extras As TimeSpan = trabajado - hObligadas
Dim Entrada As String = PHentrada.ToString("hh\:mm")
Dim Salida As String = PHsalida.ToString("hh\:mm")
Dim htrabajadas As String = trabajado.ToString("hh\:mm")
Dim hExtras As String = extras.ToString("hh\:mm")
Dim tipo As String

'calculo horas extras'


If trabajado > hObligadas Then
tipo = "SOBRECARGO"
Else
tipo = "TARIFA NORMAL"
End If
'llamado de los datos del trabajador'
Return Rut & " - " & PNombre & " " & PApellido & " - " & PHentrada & " - " &
PHsalida & " - " & htrabajadas & " - " & hExtras & " " & tipo
End Function
End Class
Module Program
Sub Main(args As String())
'Variables locales'
'Ingreso de nuevos empleados'
Dim Listrabajadores = New List(Of Empleados)
Dim Rut, Nombre, Apellido, fIngreso, cargo As String
Dim resp As String = "s"
Dim horasOb As Date
Dim hEntrada As String
Dim hSalida As String
'lista de trabajadores ya ingresados'
Listrabajadores.Add(New Empleados("brvx65", "BMW", "hatchback", "02-09-2021",
"7:00", "plateado"))
Listrabajadores.Add(New Empleados("vbnj97", "Chevrolet", "sedan", "02-09-2021",
"8:00", "dorado"))
MuestraEmpleados(Listrabajadores)
Do
'opcion de ingreso de trabajadores nuevos'
Console.WriteLine("¿Desea Agregar un nuevo auto al estacionamiento? [Si] -
[No]")
resp = Console.ReadLine()
If resp = "s" Then
Console.WriteLine("Patente del auto:")
Rut = Console.ReadLine
Console.WriteLine("Marca del auto:")
Nombre = Console.ReadLine
Console.WriteLine("Tipo de auto:")
Apellido = Console.ReadLine
Console.WriteLine("Fecha de Ingreso:")
fIngreso = Console.ReadLine
Console.WriteLine("Hora de Ingreso:")
horasOb = Console.ReadLine
Console.WriteLine("Color del auto:")
cargo = Console.ReadLine
'nuevo trabajador'
Listrabajadores.Add(New Empleados(Rut, Nombre, Apellido, fIngreso,
horasOb, cargo))
'funcion Clear en consola'
MuestraEmpleados(Listrabajadores)
End If
Loop Until resp = "n"
Dim opcion As Integer = 9
Do
'Menu principal'
Console.WriteLine("Seleccione una opción
[1] Registrar hora de entrada
[2] Registrar hora de salida
[3] informacion de horas en el estacionamiento
[0] Salir")
opcion = Console.ReadLine()
'Entrada hora'
If opcion = 1 Then
hEntrada = DaHoraEntrada()
Console.WriteLine("La Hora de entrada es: " & hEntrada)
Console.WriteLine("Ingrese su patente")
Dim RutEmp As String = Console.ReadLine()
For i = 0 To Listrabajadores.Count - 1
If RutEmp = Listrabajadores(i).Rut Then
Listrabajadores(i).PHentrada = hEntrada
End If
Next
MuestraEmpleados(Listrabajadores)
End If
If opcion = 2 Then
hSalida = DaHoraSalida()
'salida hora'
Console.WriteLine("La Hora de salida es: " & hSalida)
Console.WriteLine("Ingrese su patente")
Dim RutEmp As String = Console.ReadLine()
For i = 0 To Listrabajadores.Count - 1
If RutEmp = Listrabajadores(i).Rut Then
Listrabajadores(i).PHsalida = hSalida
End If
Next
'clear consola y llamado trabajadores'
MuestraEmpleados(Listrabajadores)
End If
If opcion = 3 Then
'listado y detalles de trabajadores'
Console.Clear()
Console.WriteLine("======== AUTOS EN EL ESTACIONAMIENTO ======")
Console.WriteLine("PATENTE - MARCA - Entrada - Salida -")
For i = 0 To Listrabajadores.Count - 1
Console.WriteLine(Listrabajadores(i).ToString())
Next
End If
Loop Until opcion = 0
End Sub
'hora de entrada estandar'
Public Function DaHoraEntrada() As String
Dim rnd As New Random
Dim d As Integer = rnd.Next(480, 600)
Dim dt As Date = Date.Today.AddMinutes(d)
Dim sTime As String = dt.ToShortTimeString
Return sTime
End Function
'Hora de salida estandar'
Public Function DaHoraSalida() As String
Dim rnd As New Random
Dim d As Integer = rnd.Next(960, 1140)
Dim dt As Date = Date.Today.AddMinutes(d)
Dim sTime As String = dt.ToShortTimeString
Return sTime
End Function
'limpia la consola'
Sub MuestraEmpleados(Listrabajadores)
Console.Clear()
Console.WriteLine("======== AUTOS EN EL ESTACIONAMIENTO ======")
Console.WriteLine("PATENTE - MARCA -TIPO DE AUTO - FECHA INGRESO - COLOR -")
For i = 0 To Listrabajadores.Count - 1
Console.WriteLine(Listrabajadores(i).listaTrabajador(i))
Next
End Sub
End Module

NOTA: al ser parecido la problemática (ingreso y salida y horarios) se decidió por


reutilizar el código cambiando solo lo que aparece en pantalla, para que el usuario
sea más amigable el poder utilizar el programa.
FUNCIONAMIENTO:
Agregamos una hora de entrada y de salida al estacionamiento:

Cambiamos los datos de uno de los autos ya en el estacionamiento por defecto para poder

cobrar sobrecargo:
Bibliografía

1- Material de apoyo IACC

2- Código del control semana 6

También podría gustarte