Как написать команду на алголском пиджине?
Как мы можем написать команду: printf("%d->%d", X, Y);
в ALGOL, где X и Y - аргументы рекурсивной функции.
Должны ли мы написать что-то вроде: write "X -> Y";
?
Или мы можем написать: write "%d -> %d, X, Y";
1 ответ
Вопрос, возможно, более философский, чем вы предполагали, поскольку Algol (60) не содержал ввода / вывода1, поэтому нет эквивалента printf.
Вызовы функций в Algol (60) будут выглядеть так же, как в C: printf("%d->%d", X, Y);
Однако в Algol-68 была определена стандартная библиотека функций ввода / вывода, которая называется transput. Поскольку они полиморфны, список аргументов был бы передан как массив элементов, таким образом:
print((whole(X),"->",whole(Y));
(но тогда вы могли бы получить это от Википедии в любом случае)
[1]:(Хотя большинство реализаций добавили его как библиотечную функцию!)