76 lines
1.7 KiB
VB.net
76 lines
1.7 KiB
VB.net
|
|
Option Strict
|
|||
|
|
|
|||
|
|
Imports System
|
|||
|
|
Imports Microsoft.VisualBasic
|
|||
|
|
|
|||
|
|
Module VBSystem
|
|||
|
|
|
|||
|
|
Public Interface IOSystem
|
|||
|
|
Function read_symbol() As Char
|
|||
|
|
End Interface
|
|||
|
|
|
|||
|
|
Public Class IOStandardSystem
|
|||
|
|
Implements IOSystem
|
|||
|
|
|
|||
|
|
Public Overridable Function read_symbol() As Char Implements IOSystem.read_symbol
|
|||
|
|
Return Convert.ToChar(Console.Read())
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
End Class
|
|||
|
|
|
|||
|
|
Public Dim CurrentIOSystem As IOSystem
|
|||
|
|
|
|||
|
|
'''- WriteLine(a,b,...)
|
|||
|
|
'''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20>, b,...
|
|||
|
|
Public Sub WriteLine(ParamArray arg() As Object)
|
|||
|
|
For i As Integer = 0 To arg.Length-1
|
|||
|
|
Console.Write(arg(i))
|
|||
|
|
Next i
|
|||
|
|
Console.WriteLine()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Public Sub Write(ParamArray arg() As Object)
|
|||
|
|
For i As Integer = 0 To arg.Length-1
|
|||
|
|
Console.Write(arg(i))
|
|||
|
|
Next i
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Function read_lexem() As String
|
|||
|
|
Dim c As Char
|
|||
|
|
Dim sb As System.Text.StringBuilder
|
|||
|
|
Do While char.IsWhiteSpace(c)
|
|||
|
|
c = CurrentIOSystem.read_symbol()
|
|||
|
|
Loop
|
|||
|
|
sb = New System.Text.StringBuilder()
|
|||
|
|
Do While Not char.IsWhiteSpace(c) 'And c <> Convert.ToChar(-1)
|
|||
|
|
sb.Append(c)
|
|||
|
|
c = CurrentIOSystem.read_symbol()
|
|||
|
|
Loop
|
|||
|
|
Return sb.ToString()
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
Public Function ReadLine() As String
|
|||
|
|
If CurrentIOSystem Is Nothing Then
|
|||
|
|
Return Console.ReadLine()
|
|||
|
|
Else
|
|||
|
|
Return read_lexem()
|
|||
|
|
End If
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
Public Function Sin(x As Double) As Double
|
|||
|
|
Return Math.Sin(x)
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
Public Function Cos(x As Double) As Double
|
|||
|
|
Return Math.Cos(x)
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
Public Function Tan(x As Double) As Double
|
|||
|
|
Return Math.Tan(x)
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
Public Sub Sleep(time As Integer)
|
|||
|
|
System.Threading.Thread.Sleep(time)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
End Module
|