99 бутылок: RBASIC, MACS

26. RBASIC. Язык RBASIC предназначен для того, что бы предоставить пользователю возможность быстро создавать свои программы для решения задач по ведению радиомониторинга с помощью широкодиапазонных компьютерных сканирующих приемников фирмы Winradio Communications.

Основа языка — BASIC к которому добавлены некоторые конструкции и специальные функции для управления приемниками, такие например, как управления шумоподавителем, громкостью, модуляцией и т. п.

Скрипт, выводящий песню о пиве (beer.rbp)

# Beer song. Written by Evgeny Stepanischev
LET b=99
LET s$=""
FOR i=99 TO 1 STEP -1
GOSUB @beer     
PRINT s$+" on the wall, "+s$+" of beer."
PRINT "Take one and pass around,"
b = b-1
GOSUB @beer
PRINT s$+" on the wall."
PRINT ""    
NEXT i
     
PRINT "No more bottles of beer..."
PRINT "Go to the store and buy some more..."
PRINT "99 bottles of beer."
     
END
       
@beer
LET s$=""
IF b>0 THEN s$ = s$ + str$ (i) ELSE s$ = s$ + "No"
s$ = s$ + " bottle":IF b<>1 THEN s$ = s$+"s"
RETURN

27. MACS (MACrotestSoftware). Язык управления стендом и описания технологического процесса ремонта электронных плат. Для этой цели в языке есть весьма специфические конструкции. Из недостатков языка — отсутсвие возможности описания пользовательских процедур и функций и наличие всего двух типов данных — целых чисел и строк. Из глюков интерпретатора — необходимый последний перевод строки.

Программа, выводящая песню о пиве (beer.mcs)

// Written by Evgeny Stepanischev

cls
 string beer
 string w = " on the wall"
 def b

 for def i=198 to i > 0, i=i-1
 do
    b = i/2

    if b beer = b else beer = "No" endif
    beer = beer+" bottle"
    ifs b!=1 beer = beer+"s"

    if i&1
       beer w ".\r\n\r\n"
    else
       beer w ", " beer "."
       "\r\nTake one down and pass it around,\r\n"
    endif

 done


 "No more bottles of beer...\r\n"
 "Go to the store and buy some more...\r\n"
 "99 bottles of beer."

 pause