Saltar para o conteúdo

ALGO

Origem: Wikipédia, a enciclopédia livre.

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.

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.

Referências

  1. a b «The Bendix G-15 General Purpose Digital Computer System». Consultado em 10 de Julho 2020 

Ligações externas

[editar | editar código-fonte]