Imports System
Module Module1
Sub Main()
Dim router As New Router()
router.PowerOn()
Console.WriteLine("Simulador de router")
Console.WriteLine("===================")
While True
Console.WriteLine("1. Ver estado del router")
Console.WriteLine("2. Conectar dispositivo")
Console.WriteLine("3. Desconectar dispositivo")
Console.WriteLine("4. Apagar router")
Console.WriteLine("5. Salir")
Dim opcion As Integer
If Integer.TryParse(Console.ReadLine(), opcion) Then
Select Case opcion
Case 1
router.MostrarEstado()
Case 2
Console.Write("Ingrese el nombre del dispositivo: ")
Dim nombreDispositivo As String = Console.ReadLine()
router.ConectarDispositivo(nombreDispositivo)
Case 3
Console.Write("Ingrese el nombre del dispositivo a desconectar: ")
Dim nombreDispositivo As String = Console.ReadLine()
router.DesconectarDispositivo(nombreDispositivo)
Case 4
router.PowerOff()
Case 5
Exit While
Case Else
Console.WriteLine("Opción no válida. Inténtalo de nuevo.")
End Select
Else
Console.WriteLine("Por favor, ingresa un número válido.")
End If
End While
End Sub
End Module
Class Router
Private encendido As Boolean
Private dispositivosConectados As New List(Of String)()
Public Sub PowerOn()
encendido = True
Console.WriteLine("El router está encendido.")
End Sub
Public Sub PowerOff()
encendido = False
Console.WriteLine("El router se apagó.")
End Sub
Public Sub MostrarEstado()
Console.WriteLine($"Estado del router: {'Encendido' If encendido Then "Encendido" Else "Apagado"}")
Console.WriteLine("Dispositivos conectados:")
For Each dispositivo In dispositivosConectados
Console.WriteLine($"- {dispositivo}")
Next
End Sub
Public Sub ConectarDispositivo(nombreDispositivo As String)
If encendido Then
dispositivosConectados.Add(nombreDispositivo)
Console.WriteLine($"El dispositivo '{nombreDispositivo}' se conectó al router.")
Else
Console.WriteLine("Enciende el router antes de conectar dispositivos.")
End If
End Sub
Public Sub DesconectarDispositivo(nombreDispositivo As String)
If dispositivosConectados.Contains(nombreDispositivo) Then
dispositivosConectados.Remove(nombreDispositivo)
Console.WriteLine($"El dispositivo '{nombreDispositivo}' se desconectó del router.")
Else
Console.WriteLine($"El dispositivo '{nombreDispositivo}' no está conectado al router.")
End If
End Sub
End Class