|Paradigm||procedural, imperative, structured|
|Typing discipline||static, strong|
ALGO was one of several programming languages inspired by the Preliminary Report on the International Algorithmic Language written in Zürich in 1958. This report underwent several modifications before becoming the Revised Report on which most ALGOL implementations are based. As a result, ALGO and other early ALGOL-related languages have a very different syntax from ALGOL 60.
Here is the Trabb Pardo – Knuth algorithm in ALGO:
TITLE TRABB PARDO-KNUTH ALGORITHM SUBSCript I,J DATA A(11) FORMAt FI(2DT), FLARGE(3D) PROCEDURE F(T=Z) BEGIN Z=SQRT(ABS(T))+5*T^3 END FOR I=0(1)10 A[I]=KEYBD FOR J=0(1)10 BEGIN I=J-10 F(A[I]=Y) PRINT(FI)=I IF Y > 400 GO TO LARGE PRINT(FL)=Y GO TO NEXT LARGE: PRINT(FLARGE)=999 NEXT: CARR(1) END 2END
- A title is the only type of comment allowed. Line numbers were inserted by the editor.
- Integer data type. The lower-case letters are not typos, but reflect the way in which ALGO code was presented in the original documentation.
- Only the size of an array can be specified, lower bound is always zero.
- The first format calls for a two-digit number followed by a tab, the second for a three digit number.
- The syntax of ALGO's procedure implementations is slightly different from that given in the Zurich report. Functions as defined by the Zürich report are not implemented.
- The syntax here is from the Zürich report and is also consistent with various 1950s-era autocodes.
- KEYBD reads a numeric value from the terminal.
- "The Bendix G-15 General Purpose Digital Computer System". Archived from the original on 4 December 2004. Retrieved 10 July 2020.