ALGO
Aspeto
ALGO, em computação, é uma linguagem de programação algébrica desenvolvida entre 1959 e 1961 para o computador Bendix G-15.[1]
ALGO foi uma dentre diversas linguagens de programação inspiradas pelo documento Relatório Preliminar sobre a Linguagem Algorítmica Internacional escrito em Zurique em 1958. Este relatório passou por diversas modificações antes de tornar-se o Relatório Revisado sobre o qual muitas implementações do ALGOL se basearam. Devido a isso, ALGO e outras versões iniciais do ALGOL possuem uma sintaxe muito diferente daquela do ALGOL 60.[1]
Outras linguagens desenvolvidas a partir do relatório de Zurique incluem a BALGOL, a MAD (Michigan Algorithm Decoder) e a NELIAC.
Exemplo
[editar | editar código-fonte]Eis um exemplo do algoritmo de Trabb Pardo-Knuth em 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
Comentários a algumas linhas do código exemplo
[editar | editar código-fonte]- 1. Um título (TITLE) era o único tipo de comentário permitido no código. As linhas eram automaticamente numeradas pelo editor.
- 2. Alguns comandos continham letras iniciais maiúsculas e a parte final minúscula (SUBSCript)
- 3. Apenas o tamanho de um array poderia ser especificado; o limite inferior era sempre zero.
- 4. O primeiro comando format especifica um número de 2 dígitos seguido por um TAB, o segundo especifica um número de 4 dígitos.
- 5. A sintaxe das implementações de procedimentos na ALGO 's procedure implementations são ligeiramente diferentes daquelas dadas no relatório de Zurique. Funções, tais como definidas nesse relatório, não foram implementadas.
- 9. A sintaxe aqui usada é a do relatório de Zurique e também é consistente com vários autocódigos da década de 50.
- 10. KEYBD lê um valor numérico de um terminal.
- ↑ a b «The Bendix G-15 General Purpose Digital Computer System». Consultado em 10 de Julho 2020