' Intérprete de HQ9+ ' FB 1.05.0 Win64 ' Dim Shared codigo As String: codigo = "" Function HQ9plus(codigo As String) As String Dim As Byte botellas, cont Dim acumulador As Uinteger = 0 Dim HQ9plus1 As String For cont = 1 To Len(codigo) Select Case Ucase(Mid(codigo, cont, 1)) Case "H" HQ9plus1 = HQ9plus1 + "Hello, world!" Case "Q" HQ9plus1 = HQ9plus1 + codigo Case "9" For botellas = 99 To 1 Step -1 HQ9plus1 = HQ9plus1 + Str(botellas) + " bottle" If (botellas > 1) Then HQ9plus1 = HQ9plus1 + "s" HQ9plus1 = HQ9plus1 + " of beer on the wall, " + Str(botellas) + " bottle" If (botellas > 1) Then HQ9plus1 = HQ9plus1 + "s" HQ9plus1 = HQ9plus1 + " of beer," + Chr(13) + Chr(10) +_ "Take one down, pass it around, " + Str(botellas - 1) + " bottle" If (botellas > 2) Then HQ9plus1 = HQ9plus1 + "s" HQ9plus1 = HQ9plus1 + " of beer on the wall." + Chr(13) + Chr(10) + Chr(10) Next botellas HQ9plus1 = HQ9plus1 + "No more bottles of beer on the wall, no more bottles of beer." +_ Chr(13) + Chr(10) + "Go to the store and buy some more, 99 bottles of beer on the wall." Case "+" acumulador = (acumulador + 1) Case "E" End Case Else 'no es una instrucción válida End Select If Mid(codigo, cont, 1) <> "+" Then HQ9plus1 = HQ9plus1 + Chr(13) + Chr(10) End If Next cont HQ9plus = Left(HQ9plus1, (Len(HQ9plus1) - 2)) End Function Cls Do Input codigo Print HQ9plus(codigo): Print Loop While Inkey <> Chr(27) End