LINUX.ORG.RU

99 bottles of beer

 


0

1

Здравствуйте. Вот такой код:

MODULE b99;
 
IMPORT  Out;
 
VAR     nr      : INTEGER;
 
BEGIN
  nr := 99;
  REPEAT
    Out.Int (nr, 4);
    Out.String (" bottles of beer on the wall");
    Out.Ln;
    Out.Int (nr, 4);
    Out.String (" bottles of beer");
    Out.Ln;
    Out.String ("Take one down, pass it around");
    Out.Ln;
    DEC (nr);
    Out.Int (nr, 4);
    Out.String (" bottles of beer on the wall");
    Out.Ln;
    Out.Ln
  UNTIL nr = 0
END b99.

Как запустить в BlackBox Component Builder?

На YouTube нашел видео, но в видео запуск процедуры. Здесь процедур нет.



Последнее исправление: Strahopzd (всего исправлений: 2)

ребята, давайте поможем застрявшему в 70х

Data.Function.fix (\c n -> if n == 0 then pure () else putStrLn ((show n) ++ " bottles of beer") >> c (n-1)) 99

anonymous
()

Нужно загрузить скомпилированный модуль «b99». Например так:

(!) "Kernel.LoadMod('b99')"

Обычно код в инициализации модуля не пишут и используют экспортированную процедуру. Например так:

MODULE b99;
 
IMPORT  Out;
 
PROCEDURE Do*;
VAR     nr      : INTEGER;
BEGIN
  nr := 99;
  REPEAT
    Out.Int (nr, 4);
    Out.String (" bottles of beer on the wall");
    Out.Ln;
    Out.Int (nr, 4);
    Out.String (" bottles of beer");
    Out.Ln;
    Out.String ("Take one down, pass it around");
    Out.Ln;
    DEC (nr);
    Out.Int (nr, 4);
    Out.String (" bottles of beer on the wall");
    Out.Ln;
    Out.Ln
  UNTIL nr = 0
  END Do;

END b99.

(!) b99.Do
X512 ★★★★★
()
Ответ на: комментарий от anonymous

ребята, давайте поможем застрявшему в 70х

Вы сначала авторам Линукса помогите, которые сидят на ещё более древнем Си.

Код в заглавном посте хотя бы понять можно.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от anonymous

На YouTube нашел видео

поможем застрявшему в 70х

Ой, что-то я сомневаюсь… (шутка).

hobbit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.