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,...)
|
|
'''Âûâîäèò íà ýêðàí à, 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 |