Logo Studenta

ALGOL - Wikipedia, la enciclopedia libre

¡Este material tiene más páginas!

Vista previa del material en texto

ALGOL
lenguaje de programación
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').
https://es.m.wikipedia.org/wiki/Wikipedia:Portada
https://es.m.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n
https://es.m.wikipedia.org/wiki/Acr%C3%B3nimo
https://es.m.wikipedia.org/wiki/Idioma_ingl%C3%A9s
ALGOL
Desarrollador(es)
Backus, Bauer, Bottenbruch, Green, Katz,
McCarthy, Naur, Perlis, Rutishauser,
Samelson, Vauquois, Wegstein, van
Wijngaarden y Woodger
Información general
Paradigma Imperativo
(Procedural),
Estructurado
Apareció en 1958
Diseñado por Friedrich L. Bauer,
Hermann
Bottenbruch, Heinz
Rutishauser, Klaus
https://es.m.wikipedia.org/wiki/Archivo:1965_ALGOL_Logotype.jpg
https://es.m.wikipedia.org/wiki/John_Backus
https://es.m.wikipedia.org/wiki/John_McCarthy_(cient%C3%ADfico)
https://es.m.wikipedia.org/wiki/Peter_Naur
https://es.m.wikipedia.org/wiki/Adriaan_van_Wijngaarden
https://es.m.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n
https://es.m.wikipedia.org/wiki/Programaci%C3%B3n_imperativa
https://es.m.wikipedia.org/wiki/Programaci%C3%B3n_procedural
https://es.m.wikipedia.org/wiki/Programaci%C3%B3n_estructurada
https://es.m.wikipedia.org/wiki/1958
Fue muy popular en las universidades
durante los años 1960, pero no llegó a
Samelson, John
Backus, Charles Katz,
Alan Perlis, Joseph
Henry Wegstein,
Peter Naur, Bernard
Vauquois, Adriaan
van Wijngaarden,
Julien Green y John
McCarthy
Dialectos ALGOL 58, ALGOL 60,
ALGOL 68
Influido por Fortran
Ha influido a Simula, C, CPL,
Pascal, Ada, BASIC
https://es.m.wikipedia.org/wiki/John_Backus
https://es.m.wikipedia.org/wiki/Alan_Perlis
https://es.m.wikipedia.org/wiki/Peter_Naur
https://es.m.wikipedia.org/wiki/Adriaan_van_Wijngaarden
https://es.m.wikipedia.org/wiki/Julien_Green
https://es.m.wikipedia.org/wiki/John_McCarthy_(cient%C3%ADfico)
https://es.m.wikipedia.org/wiki/Fortran
https://es.m.wikipedia.org/wiki/Simula
https://es.m.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)
https://es.m.wikipedia.org/wiki/Combined_Programming_Language
https://es.m.wikipedia.org/wiki/Pascal_(lenguaje_de_programaci%C3%B3n)
https://es.m.wikipedia.org/wiki/Ada_(lenguaje_de_programaci%C3%B3n)
https://es.m.wikipedia.org/wiki/BASIC
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
https://es.m.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Pascal
https://es.m.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)
https://es.m.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Ada
lenguaje para programar en él y un
lenguaje para investigar sobre él.
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;
Ejemplo de programa en
ALGOL 60
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
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,
Algol W
https://es.m.wikipedia.org/wiki/Niklaus_Wirth
https://es.m.wikipedia.org/wiki/C._A._R._Hoare
https://es.m.wikipedia.org/w/index.php?title=IFIP&action=edit&redlink=1
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.
https://es.m.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Pascal
https://es.m.wikipedia.org/w/index.php?title=Aritm%C3%A9tica_de_doble_precisi%C3%B3n&action=edit&redlink=1
https://es.m.wikipedia.org/wiki/N%C3%BAmeros_complejos
https://es.m.wikipedia.org/w/index.php?title=Estructuras_de_datos_din%C3%A1micas&action=edit&redlink=1
La definición del lenguaje fue presentada
en la reunión del comité ALGOL de la IFIP
en 1965. Después de varios años de
revisión del diseño se llegó a una versión
definitiva en 1968. El principal autor es
Adriaan van Wijngaarden.
Los objetivos principales de ALGOL 68 son
permitir comunicar algoritmos, permitir
una eficiente ejecución de los mismos en
diferentes arquitecturas y servir como
herramienta para la enseñanza.
Una característica interesante de ALGOL
68 es que su semántica fue definida
Algol 68
https://es.m.wikipedia.org/wiki/Adriaan_van_Wijngaarden
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 
https://es.m.wikipedia.org/w/index.php?title=Gram%C3%A1ticas_de_dos_niveles&action=edit&redlink=1
del elemento se colocan en 
i y k;peme 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
Versión de
manual
int sum 
sq:=0;
for i
while
 sum 
sq≤1000
do
 sum 
sq+:=i↑2
od 
Código para el
compilador de 7-
bit/ascii
INT sum 
sq:=0;
FOR i
WHILE
 sum 
sq<=1000
DO
 sum 
sq+:=i**2
OD 
Código pa
compilado
bits/byte
.INT S
SQ:=0
.FOR I
.WHILE
 SUM 
SQ.LE 
1000
.DO
 SUM 
SQ.PLU
I.UP 2
.OD
ABC ALGOL
Revised Report on the Algorithmic
Language Algol 60 (http://www.masswe
rk.at/algol60/report.htm)
Algol 68 Genie - a GNU GPL Algol 68
interpreter (http://www.xs4all.nl/~jmvdv
eer/algol.html)
Véase también
Enlaces externos y
bibliografía
https://es.m.wikipedia.org/wiki/ABC_ALGOL
http://www.masswerk.at/algol60/report.htm
http://www.xs4all.nl/~jmvdveer/algol.html
Orthogonal design and description of a
formal language (http://www.fh-jena.de/
~kleine/history/languages/VanWijngaar
den-MR76.pdf) Adriaan Van Wijngarden
Historic Documents in Computer
Science (https://web.archive.org/web/2
0120626051455/http://www.fh-jena.de/
~kleine/history/) 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 (https://portal.issn.org/resou
rce/ISSN/0001-0782)
The Emperor's Old Clothes - the ACM
Turing Award lecture by Tony Hoare,
http://www.fh-jena.de/~kleine/history/languages/VanWijngaarden-MR76.pdf
https://web.archive.org/web/20120626051455/http://www.fh-jena.de/~kleine/history/
https://es.m.wikipedia.org/wiki/ISSN
https://portal.issn.org/resource/ISSN/0001-0782
Esta página se editó por última vez el 19 feb 2023
a las 23:10. •
El contenido está disponible bajo la licencia CC
BY-SA 4.0 , salvo que se indique lo contrario.
1980, Comm ACM 24(2), 75-83 (1981)
ALGOL W Implementation, H. Bauer et al,
TR CS98, Stanford U, 1968
 Datos: Q188436
Obtenido de
«https://es.wikipedia.org/w/index.php?
title=ALGOL&oldid=149388656»
https://creativecommons.org/licenses/by-sa/4.0/deed.es
https://es.m.wikipedia.org/wiki/Wikidata
https://www.wikidata.org/wiki/Q188436https://es.wikipedia.org/w/index.php?title=ALGOL&oldid=149388656

Continuar navegando

Materiales relacionados

352 pag.
PYTHON_PROGRAMACION_V2_3_3

SENAC

User badge image

Santiiago Arboleda

13 pag.
lectura_07 - Bruno Caceres

User badge image

Desafio PASSEI DIRETO