ALGOL , a enciclopedia libre
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.
Exemplo de programa en ALGOL 60
editar- 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
Algol W
editarLinguaxe 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.
Algol 68
editarA definición da linguaxe foi presentada na reunión 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.
Exemplo de programa en ALGOL 68
editarproc 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 |
Véxase tamén
editarBiografía
editar- A contribution to the development of ALGOL, Niklaus Wirth e 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 al., TR CS98, Stanford Ou, 1968