ALGO
Encyclopedia
ALGO is an algebra
ic programming language
developed between 1959 and 1961 for the Bendix G-15
computer
.
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 "ALGOLs" have a very different syntax from ALGOL 60
.
Other languages developed from the Zürich report include BALGOL, MAD
(Michigan Algorithm Decoder) and NELIAC
.
in ALGO:
Algebra
Algebra is the branch of mathematics concerning the study of the rules of operations and relations, and the constructions and concepts arising from them, including terms, polynomials, equations and algebraic structures...
ic programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
developed between 1959 and 1961 for the Bendix G-15
Bendix G-15
The Bendix G-15 computer was introduced in 1956 by the Bendix Corporation, Computer Division, Los Angeles, California. It was about 5 by 3 by 3 ft and weighed about 950 lb . The base system, without peripherals, cost $49,500. A working model cost around $60,000. It could also be rented for...
computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
.
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 "ALGOLs" have a very different syntax from ALGOL 60
ALGOL 60
ALGOL 60 is a member of the ALGOL family of computer programming languages. It gave rise to many other programming languages, including BCPL, B, Pascal, Simula, C, and many others. ALGOL 58 introduced code blocks and the begin and end pairs for delimiting them...
.
Other languages developed from the Zürich report include BALGOL, MAD
MAD programming language
MAD is a programming language and compiler for the IBM 704 and later the IBM 709, IBM 7090, UNIVAC 1107, UNIVAC 1108, Philco 210-211, and eventually the IBM S/370 mainframe computers. Developed in 1959 at the University of Michigan by Bernard Galler, Bruce Arden and Robert M. Graham, MAD is a...
(Michigan Algorithm Decoder) and NELIAC
NELIAC
The Navy Electronics Laboratory International ALGOL Compiler or NELIAC is a dialect and compiler implementation of the ALGOL 58 programming language developed by the Naval Electronics Laboratory in 1958....
.
Example
Here is the Trabb Pardo-Knuth algorithmTrabb Pardo-Knuth algorithm
The Trabb Pardo–Knuth algorithm is a program introduced by Donald Knuth and Luis Trabb Pardo to illustrate the evolution of computer programming languages....
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
11. I=J-10
12. F(A[I]=Y)
13. PRINT(FI)=I
14. IF Y > 400
15. GO TO LARGE
16. PRINT(FL)=Y
17. GO TO NEXT
18. LARGE: PRINT(FLARGE)=999
19. NEXT: CARR(1) END
20. END
Remarks
- 1. A title is the only type of comment allowed. Line numbers were inserted by the editor.
- 2. Integer data type. The lower-case letters are not typos, but reflect the way in which ALGO code was presented in the original documentation.
- 3. Only the size of an array can be specified, lower bound is always zero.
- 4. The first format calls for a two-digit number followed by a tab, the second for a three digit number.
- 5. 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.
- 9. The syntax here is from the Zürich report and is also consistent with various 1950s-era autocodes.
- 10. KEYBD reads a numeric value from the terminal.