||This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (October 2016) (Learn how and when to remove this template message)|
ALGO was one of several programming languages inspired by the Preliminary Report on the 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 "ALGOLs" have a very different syntax from ALGOL 60.
Here is the Trabb Pardo-Knuth algorithm in ALGO:
1 TITLE TRABB PARDO-KNUTH ALGORITHM 2 SUBSCript I,J 3 DATA A(11) 4 FORMAt FI(2DT), FLARGE(3D) 5 PROCEdure F(T=Z) 6 BEGIN 7 Z=SQRT(ABS(T))+5*T^3 8 END 9 FOR I=0(1)10 10 A[I]=KEYBD 11 FOR J=0(1)10 BEGIN 12 I=J-10 13 F(A[I]=Y) 14 PRINT(FI)=I 15 IF Y > 400 16 GO TO LARGE 17 PRINT(FL)=Y 18 GO TO NEXT 19 LARGE: PRINT(FLARGE)=999 20 NEXT: CARR(1) END 21 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.
|Look up algo in Wiktionary, the free dictionary.|