ALGOL
Na Galipedia, a wikipedia en galego.
Denomínase ALGOL (ou Algol) a un linguaxe de programación. A voz é un acrónimo das palabras inglesas Algorithmic Language (linguaxe algorítmico).
Foi moi popular nas universidades durante os anos 60, pero non chegou a calar como linguaxe de utilización comercial.
Con todo, Algol influíu profundamente en varias linguaxes posteriores que si alcanzaron gran difusión, como Pascal, C e Ada.
Cara a 1965 dúas correntes distinguíronse sobre o tema dun sucesor para Algol. Como resultado se definiron as linguaxes Algol W que é unha linguaxe minimalista, rapidamente implementado e distribuído e, por outra banda, Algol 68 que para a época está na fronteira entre unha linguaxe para programar nel e unha linguaxe para investigar sobre el.
Índice |
[editar] Exemplo de programa en ALGOL 60
- procedure Absmax(a) Dimensións:(n, m) Resultado:(e) Subíndices:(i, k);
- value n, m; array a; integer n, m, i, k; real e;
- comment Da matriz a tómase o elemento co valor absoluto maior e colócase en e.
- Os subíndices do elemento colócanse en i e k;
- begin integer p, q;
- e:= 0; i:= k:= 1;
- for p:= 1 step 1 until n do
- for q:= 1 step 1 until m do
- if abs(a[p, q]) > e then
- begin e:= abs(a[p, q]);
- i:= p; k:= q
- end
- begin e:= abs(a[p, q]);
- if abs(a[p, q]) > e then
- end Absmax
[editar] Algol W
Linguaxe deseñada por Niklaus Wirth e Tony Hoare a partir dos traballos do grupo ALGOL da IFIP. Trátase dunha linguaxe concisa, simple de implementar, que evita todos os defectos coñecidos da linguaxe Algol e inclúe as súas propias características adicionais. Con todo, o grupo Algol non o adoptou como sucesor de Algol preferindo no seu lugar ao que terminou sendo Algol 68. Algol W foi utilizado por gran cantidade de usuarios e sementou o camiño para o nacemento da linguaxe Pascal.
Entre as características da linguaxe destácanse: Aritmética de dobre precisión, números complexos, Strings e estruturas de datos dinámicas, avaliación por valor, pasaxe de parámetros por valor, valor resultado ou resultado.
[editar] Algol 68
A definición da linguaxe foi presentada na reunion do comité ALGOL da IFIP en 1965. Logo de varios anos de revisión do deseño chegouse a unha versión definitiva en 1968. Ao principal autor é Adriaan van Wijngaarden.
Os obxectivos principais de ALGOL 68 son o permitir comunicar algoritmos, o permitir unha eficiente execución dos mesmos en diferentes arquitecturas e o de servir como ferramenta para o ensino.
Unha característica interesante de ALGOL 68 é que a súa semántica foi definida formalmente antes de ser implementado en base ao formalismo chamado gramáticas de dous niveis.
[editar] Exemplo de programa en ALGOL 68
proc absmax=(ref[]real a)real: begin int i, k; real e:=0; comment Da matriz a tómase o elemento co valor absoluto maior e colócase en e. x Os subíndices do elemento colócanse en i e k; comment i:= k:= 1⌊a; for p from 1⌊a <>ou by 1 to 1⌈a <>ou do for q from 2⌊a <>ou by 1 to 2⌈a <>ou do if abs a[p, q] > e then e:= abs a[p, q]; i:= p; k:= q fi od od; e end
Algol68 Edición de libros
int sum sq:=0; for i while sum sq≤1000 do sum sq+:=i↑2 od |
Code polo 7-bit/ascii compiler
INT sum sq:=0; FOR i WHILE sum sq<=1000 DO sum sq+:=i**2 OD |
Code polo 6-bits/byte compiler
.INT SUM SQ:=0; .FOR I .WHILE SUM SQ.LLE 1000 .DO SUM SQ.PLUSAB I.UP 2 .OD |
[editar] Enlaces externos e bibliografía
- Revised Report on the Algorithmic Language Algol 60
- Modelo:Roto
- Algol 68 Genie - a GNU GPL Algol 68 interpreter
- Orthogonal design and description of a formal language Adriaan Van Wijngarden
- Historic Documents in Computer Science Karl Kleine
- A contribution to the development of ALGOL, Niklaus Wirth and C. A. R. Hoare, Comm ACM 9(6), 413-432 (1966), ISSN:0001-0782
- The Emperor's Old Clothes - the ACM Turing Award lecture by Tony Hoare, 1980, Comm ACM 24(2), 75-83 (1981)
- ALGOL W Implementation, H. Bauer et ao, TR CS98, Stanford Ou, 1968dá:ALGOL
hei:ALGOLgl:Algol