ALGOL

ALGOL

Se denomina ALGOL (o Algol) a un lenguaje de programación. La voz es un acrónimo de las palabras inglesas Algorithmic Language (lenguaje algorítmico).

Fue muy popular en las universidades durante los años 60, pero no llegó a cuajar como lenguaje de utilización comercial.

Sin embargo, Algol influyó profundamente en varios lenguajes posteriores que sí alcanzaron gran difusión, como Pascal, C y Ada.

Hacia 1965 dos corrientes se distinguieron sobre el tema de un sucesor para Algol. Como resultado se definieron los lenguajes Algol W que es un lenguaje minimalista, rápidamente implementado y distribuido y, por otra parte, Algol 68 que para la época está en la frontera entre un lenguaje para programar en él y un lenguaje para investigar sobre él.

Contenido

Ejemplo de programa en ALGOL 60

procedure Absmax(a) Dimensiones:(n, m) Resultado:(y) Subíndices:(i, k);
value n, m; array a; integer n, m, i, k; real y;
comment De la matriz a se toma el elemento con el valor absoluto mayor y se coloca en y.
Los subíndices del elemento se colocan en i y k;
begin integer p, q;
y:= 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]) > y then
begin y:= abs(a[p, q]);
i:= p; k:= q
end
end Absmax

Algol W

Lenguaje elaborado diseñado por Niklaus Wirth y Tony Hoare a partir de los trabajos del grupo ALGOL de la IFIP. Se trata de un lenguaje conciso, simple de implementar, que evita todos los defectos conocidos del lenguaje Algol e incluye sus propias características adicionales. Sin embargo, el grupo Algol no lo adoptó como sucesor de Algol prefiriendo en su lugar al que terminó siendo Algol 68. Algol W fue utilizado por gran cantidad de usuarios y sembró el camino para el nacimiento del lenguaje Pascal.

Entre las características del lenguaje se destacan: Aritmética de doble precisión, números complejos, Strings y estructuras de datos dinámicas, evaluación por valor, pasaje de parámetros por valor, valor resultado o resultado.

Algol 68

La definición del lenguaje fue presentada en la reunión del comité ALGOL de la IFIP en 1965. Luego de varios años de revisión del diseño se llegó a una versión definitiva en 1968. Al principal autor es Adriaan van Wijngaarden.

Los objetivos principales de ALGOL 68 son el permitir comunicar algoritmos, el permitir una eficiente ejecución de los mismos en diferentes arquitecturas y el de servir como herramienta para la enseñanza.

Una característica interesante de ALGOL 68 es que su semántica fue definida formalmente antes de ser implementado en base al formalismo llamado gramáticas de dos niveles.

Ejemplo de programa en Algol 68

proc absmax=(ref[]real a)real:
begin   
  int i, k; real y:=0;
  comment De la matriz a se toma el elemento con el valor absoluto mayor y se coloca en y. x
          Los subíndices del elemento se colocan en i y k; comment
  i:= k:= 1⌊a;     
  for p from  1⌊a by 1 to 1⌈a  do
    for q from 2⌊a by 1 to 2⌈a do
      if abs a[p, q] > y then           
         y:= abs a[p, q];
         i:= p; k:= q
      fi
    od
  od;
  y
end
Algol68 Edición de libros
int sum sq:=0;
for i
while
  sum sq≤1000
do
  sum sq+:=i↑2
od 
Code por el 7-bit/ascii compiler
INT sum sq:=0;
FOR i
WHILE
  sum sq<=1000
DO
  sum sq+:=i**2
OD 
Code por el 6-bits/byte compiler

.INT SUM SQ:=0; .FOR I .WHILE

  SUM SQ.LE 1000

.DO

  SUM SQ.PLUSAB I.UP 2

.OD

Enlaces externos y bibliografía

  • 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 al, TR CS98, Stanford U, 1968

Wikimedia foundation. 2010.

См. также в других словарях:

  • algol — algol …   Dictionnaire des rimes

  • ALGOL — (langage) Pour les articles homonymes, voir Algol. Algol est un langage de programmation. Il a été créé à la fin des années 1950. Son nom est l acronyme d algorithmic oriented language (avec un clin d œil à l étoile β Persei). Son objectif était… …   Wikipédia en Français

  • ALGOL X — was the code name given to the programming language which the Working Group 2.1 on ALGOL of the International Federation for Information Processing was to develop as a successor to ALGOL 60. It attempted to find a short term solution to existing… …   Wikipedia

  • ALGOL 68 — ist eine Programmiersprache. Ihr Entwurf beruhte auf den Anforderungen, dass sie geeignet sein soll, Algorithmen darzustellen und zu verbreiten, diese effektiv auf einer Vielzahl unterschiedlicher Rechenanlagen auszuführen und um zu helfen, sie… …   Deutsch Wikipedia

  • ALGOL W — is a programming language. It was Niklaus Wirth s proposal for a successor to ALGOL 60 in the ALGOL 68 committee. It represented a relatively conservative modification of ALGOL 60; Wirth added string, bitstring, complex number and reference to… …   Wikipedia

  • Algol 68 — ist eine Programmiersprache. Ihr Entwurf beruhte auf den Anforderungen, dass sie geeignet sein soll, Algorithmen darzustellen und zu verbreiten, diese effektiv auf einer Vielzahl unterschiedlicher Rechenanlagen auszuführen und um zu helfen, sie… …   Deutsch Wikipedia

  • Algol 68 — est un langage de programmation dérivé du langage Algol 60. L objectif des concepteurs d Algol 68 était d offrir un langage de programmation universel et résolument innovateur. Pour cela, sa syntaxe a été définie à l aide d une grammaire… …   Wikipédia en Français

  • Algol W — est une version du langage Algol due à Niklaus Wirth, proposée au comité Algol 68 pour succéder à Algol 60. Bien qu antérieure au Pascal, elle était plus puissante à certains points de vue. En particulier toute expression ou tout bloc, en Algol W …   Wikipédia en Français

  • ALGOL — (eine Abkürzung für „Algorithmic Language“), meist Algol geschrieben, ist der Name einer Familie von Programmiersprachen, die ab Ende der 1950er Jahre bis in die 1980er Jahre Verwendung fanden. Trotz etlicher Gemeinsamkeiten in Struktur, Syntax… …   Deutsch Wikipedia

  • ALGOL — (algorithmic oriented language) Langage algorithmique utilisé pour le traitement des problèmes à caractère scientifique. Sa vocation essentiellement mathématique fait qu’il a joué un rôle important dans la définition et dans le développement des… …   Encyclopédie Universelle

  • ALGOL Y — was the name given to a speculated successor for the ALGOL 60 programming language that incorporated some radical features that were rejected for ALGOL 68 and ALGOL X. ALGOL Y was intended to be a radical reconstruction of ALGOL.One such feature… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»