]]> ]]>

VBScript 5.8

Версия реализации VBScript языка программирования Basic

Последняя версия VBScript как отдельного языка; позднее язык был встроен в ASP.NET.

Примеры:

Hello, World! - Basic (504):

Программа выводит сообщение в консоль и запускается командой cscript.exe.

WScript.Echo("Hello, World!")

Факториал - Basic (505):

Факториал вычисляется итеративно. Обратите внимание на то, что переполнения переменной-факториала не происходит, несмотря на то, что ее тип определяется автоматически.

f = 1
For i = 0 To 16
   WScript.Echo(i & "! = " & f)
   f = f * (i + 1)
Next

Числа Фибоначчи - Basic (506):

Числа Фибоначчи вычисляются рекурсивно. Обратите внимание на то, что многие элементы, типичные для Visual Basic, здесь отсутствуют: объявление переменных и типа значения, возвращаемого функцией, явное преобразование чисел в строку для конкатенации и т.д.

Function Fibonacci(N)
  If N < 2 Then
    Fibonacci = N
  Else
    Fibonacci = Fibonacci(N - 1) + Fibonacci(N - 2)
  End If
End Function

For i = 1 To 16
  res = res & Fibonacci(i) & ", "
Next
WScript.Echo (res & "...")

CamelCase - Basic (507):

В отличие от многих других реализаций Visual Basic, в VBScript нет функции StrConv. Поэтому проще всего выполнить нужное преобразование строки посимвольно.

Text = LCase(WScript.StdIn.ReadLine)
CamelCase = ""
WasSpace = True
For i = 1 To Len(Text)
  Ch = Mid(Text, i, 1)
  If InStr("abcdefghijklmnopqrstuvwxyz", Ch) = 0 Then
    WasSpace = True
  Else
    If WasSpace Then
      CamelCase = CamelCase & UCase(Ch)
    Else
      CamelCase = CamelCase & Ch
    End If
    WasSpace = False
  End If
Next
WScript.Echo CamelCase

Квадратное уравнение - Basic (508):

Function GetInt()
  Input = WScript.StdIn.ReadLine
  If not IsNumeric(Input) Then
    WScript.Echo "Coefficient is not a number."
    WScript.Quit
  End If
  GetInt = CInt(Input)
End Function
  

A = GetInt()
If A = 0 Then
  WScript.Echo "Not a quadratic equation."
  WScript.Quit
End If
B = GetInt()
C = GetInt()
D = B * B - 4 * A * C
p1 = -B / 2.0 / A
p2 = Sqr(Abs(D)) / 2.0 / A
If D = 0 Then
  WScript.Echo "x = " & p1
Else
  If D > 0 Then
    WScript.Echo "x1 = " & (p1 + p2)
    WScript.Echo "x2 = " & (p1 - p2)
  Else
    WScript.Echo "x1 = (" & p1 & ", " & p2 & ")"
    WScript.Echo "x2 = (" & p1 & ", " & -p2 & ")"
  End If
End If

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам