АЛГОЛ або ALGOL (скорочення від англ. ALGOrithmic Language — алгоритмічна мова) — сімейство імперативних мов програмування, першу версію розроблено в середині 1950-х, і стала де факто стандартною мовою публікації алгоритмів на наступні 30 років. АЛГОЛ було розроблено для подолання деяких проблем, які були притаманні для Фортрана та дала поштовх для розвитку багатьох інших мов (серед них — Паскаль). У АЛГОЛ застосовувались операторні дужки, це перша мова, яка для їх розмежування застосувала пару begin та end. Фрагменти АЛГОЛ-подібного синтаксису досі використовуються у деяких нотаціях алгоритмів ().
АЛГОЛ | |
---|---|
Парадигма | процедурна, імперативна, структурна |
Дата появи | 1958 |
Творці | Розроблена комітетом інженерів |
Під впливом від | Fortran |
Вплинула на | Паскаль, Ada |
|
Офіційні версії АЛГОЛу називають за роками, коли вони вперше були опубліковані. Існує три великі офіційні гілки сімейства АЛГОЛ:
- АЛГОЛ 58 — спочатку відомий як IAL (англ. International Algorithmic Language — Міжнародна Алгоритмічна Мова);
- АЛГОЛ 60 — версія 1963 року;
- АЛГОЛ 68 — версія 1973 року;
Ніклаус Вірт взяв АЛГОЛ 60 за основу для свого АЛГОЛ-В, перед тим як перейти до розробки Паскалю. АЛГОЛ-В мав би стати наступним поколінням АЛГОЛ, але комітет АЛГОЛ 68 віддав перевагу більш складному й розвиненому дизайну, перед спрощеним і прозорішим АЛГОЛ 60.
Історія
АЛГОЛ було розроблено спільним комітетом європейських та американських вчених на зустрічі 1958 року у Швейцарському Федеральному Інституті Технологій. Комітет визначив три різні синтаксиси: основний, публікації та реалізації. Різні синтаксиси дозволяли використовувати різні ключові слова та розділові знаки (коми та дефіси) для різних мов.
АЛГОЛ переважно використовувався для наукових досліджень у США та Європі. Його широке застосування було ускладнене відсутністю в його специфікації стандартного рішення для (вводу-виводу) даних та відсутністю інтересу з боку великих постачальників комп'ютерів. АЛГОЛ 60, попри те, став стандартом публікації алгоритмів та зробив вагомий внесок у розвиток подальших мов програмування.
Джон Бекус розробив — метод опису мов програмування, прив'язаний до АЛГОЛу 58. Цей метод було переглянуто й розширено Пітером Науром для АЛГОЛу 60. За пропозицією Дональда Кнута його назву було змінено на нотацію Бекуса — Наура.
Як редактор першого бюлетеня АЛГОЛу, я брав участь у міжнародному обговоренні мови, та був обраний членом Європейської групи розробників у листопаді 1959. На цій посаді я був редактором звіту про АЛГОЛ 60, який став результатом зустрічі у Парижі у січні 1960 року. | ||
— Пітер Наур |
На зустрічі в Парижі (з 1 по 16 січня) також були присутні:
- З Європи: Фрідріх Бауер, Пітер Наур, Гайнц Рутішаузер, Клаус Замелсон, Бернард Вакуі, Адріан ван Війнгаарден та Майкл Вуджер;
- Зі Сполучених Штатів: Джон Бекус, Джулі Грін, Чарльз Катц, Джон Маккарті, Алан Перліс, Джосеф Генрі Вегстейн
Зустріч була виснажлива, довга та весела. Хтось нервував коли його гарні ідеї відкидались разом з поганими ідеями інших. Але старанність панувала весь період роботи. «Робота тринадцяти» була чудовою. | ||
— Алан Перліс |
І Джон Бекус, і Пітер Наур були також в комітеті, який розробив АЛГОЛ 60, як і Веллі Ферціг, який пізніше створив мову програмування Лого.
АЛГОЛ 60 надихнув розвиток багатьох мов, які його наслідували; вислів Тоні Гоара про нього, згодом став афоризмом:
Це мова, яка настільки випередила час, що стала не тільки розвитком її попередників, але й майже всіх її наступників |
. Цей вислів інколи приписують Едсгеру Дейкстрі, який також брав участь у розробці першого компілятора для АЛГОЛ 60[].
Офіційні специфікації АЛГОЛ 60 та його реалізації
Існувало близько 70 поліпшень, розширень, розгалужень та підмов АЛГОЛ 60.
Великі системи Бюрро — стекові машини, розроблені для програмування на розширеному варіанті АЛГОЛ 60, відомому як Elliot ALGOL; їхня операційна система, MCP, була написана на Elliot ALGOL ще 1961 року. Корпорація Unisys досі[] продає машини з цією назвою, які використовують MCP та підтримують набір компіляторів Elliot ALGOL.
Властивості
Офіційна специфікація АЛГОЛ 60 не містила можливостей вводу-виводу даних; різні реалізації компілятора визначали свої власні методи, які рідко були сумісні один з одним. На відміну, АЛГОЛ 68 мав розширену бібліотеку transput, для вводу-виводу даних.
АЛГОЛ 60 дозволяв два методи передачі параметрів: за значенням, та за назвою. Передача за назвою мала певні обмеження, на відміну від передачі за посиланням, що робило її небажаною для програмування на імперативних мовах. Наприклад, в АЛГОЛ 60 неможливо зробити процедуру, яка обмінює значення двох параметрів, якщо фактичними параметрами можуть бути цілі змінні та масив цілих.
Приклад коду (АЛГОЛ 60)
(Те, як виділений текст має бути написаний, залежить від конкретної реалізації, наприклад 'INTEGER' (включно з лапками) замість integer.)
procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k); value n, m; array a; integer n, m, i, k; real y; comment Найбільший по-модулю елемент матриці а, розміром n на m заноситься до y, а його індекси до i та 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
Це приклад того, як реалізувати таблицю, використовуючи Elliott 803 ALGOL .
FLOATING POINT ALGOL TEST' BEGIN REAL A,B,C,D' READ D' FOR A:= 0.0 STEP D UNTIL 6.3 DO BEGIN PRINT PUNCH(3),££L??' B := SIN(A)' C := COS(A)' PRINT PUNCH(3),SAMELINE,ALIGNED(1,6),A,B,C' END' END'
PUNCH(3) направляє вивід на телетайп, а не на перфокарту.
SAMELINE запобігає поверненню каретки та забезпечує нормальне виведення рядка аргументів.
ALIGNED(1,6) форматований вивід 1 цифри до і 6 після коми.
Виведення Hello world у різних версіях
Варіативність та неможливість перенесення програм з однієї реалізації АЛГОЛ на іншу легко демонструється класичною програмою hello world.
АЛГОЛ 58 (IAL)
ALGOL 58 не мав методів вводу-виводу.
Сімейство АЛГОЛ 60
Оскільки АЛГОЛ 60 не мав стандартнизованих методів вводу-виводу інформації, на АЛГОЛі не існує програми hello world, яку можна було б переносити. Наступна програма може бути скомпільована та виконана на реалізації АЛГОЛ на мейнфреймі Unisys A-Series, і є спрощенням коду взятого з .
BEGIN FILE F(KIND=REMOTE); EBCDIC ARRAY E[0:11]; REPLACE E BY "HELLO WORLD!"; WRITE(F, *, E); END.
Альтернативний приклад із застосуванням Elliott Algol I/O. В Elliott Algol для позначення початку та кінця символьних констант вживають різні символи: ' та ’.
program HiFolks; begin print 'Hello world’; end;
Наступна версія для Elliott 803 Algol (A104). Стандарт Elliott 803 використовував перфокарти з п'ятьма отворами, таким чином у коді було всього 25=32 символи. В ньому були лише літери верхнього регістру, майже не було розділових знаків, тому £ (англійський знак фунта) застосовувався для позначення початку рядка, а ? (знак питання) — для позначення кінця. Особливі послідовності брались у подвійні лапки (наприклад, ££L?? означало новий рядок на телетайпі).
HIFOLKS’ BEGIN PRINT £HELLO WORLD££L??’ END’
Версія вводу-виводу ICL 1900 Algol дозволяла введення інформації з паперової стрічки чи перфокарт. «Повний» режим паперової стрічки дозволяв літери нижнього регістру. Вивід здійсювався на принтер.
'BEGIN' 'WRITE TEXT'("HELLO WORLD"); 'END'
АЛГОЛ 68
«Algol 68 Report» було перекладено російською, німецькою, французькою та болгарською мовами.
У мові АЛГОЛ 68 методи вводу-виводу були узагальнено названі .
begin print(("Hello, world!",newline)) end
Або викорстовуючи спеціальний канал обміну:
begin putf((stand out,$gl$,"Hello, world!")) end
Також АЛГОЛ 68 дозволяв програмувати із використанням ширших наборів символів, наприклад кириличного алфавіту, на БЕСМ-4.
begin print(("Вітання світу!",newline)) end
Примітка: радянський стандарт 1964 року дозволяв кодування 4-, 5-, 6- та 7-бітних символів на АЛГОЛ.
У публікаціях АЛГОЛ 68 зарезервовані слова були в нижньому регістрі, але друкувались напівжирним шрифтом чи підкреслено. Для полегшення програмування 7-бітних комп'ютерів, були «офіційні» методи виділяти зарезервовані слова, наприклад, використовуючи верхній регістр:
BEGIN print(("Hello, world!",newline)) END
Іноді програмісти були змушені повністю «ДУМАТИ У ВЕРХНЬОМУ РЕГІСТРІ» на комп'ютерах, які мали тільки 6-бітні символи, наприклад суперкомп'ютери CDC. В цьому випадку вищенаведений код мав писатися так:
'BEGIN' PRINT(("HELLO, WORLD!",NEWLINE)) 'END'
Зарезервовані слова та заборонені ідентифікатори АЛГОЛ 60
Існує 35 зарезервованих слів у мові Великої системи Бюро: ALPHA, ARRAY, BEGIN, BOOLEAN, COMMENT, CONTINUE, DIRECT, DO, DOUBLE, ELSE, END, EVENT, FALSE, FILE, FOR, FORMAT, GO, IF, INTEGER, LABEL, LIST, LONG, OWN, POINTER, PROCEDURE, REAL, STEP, SWITCH, TASK, THEN, TRUE, UNTIL, VALUE, WHILE, ZIP.
Є 71 заборонений ідентифікатор: ACCEPT, AND, ATTACH, BY, CALL, CASE, CAUSE, CLOSE, DEALLOCATE, DEFINE, DETACH, DISABLE, DISPLAY, DIV, DUMP, ENABLE, EQL, EQV, EXCHANGE, EXTERNAL, FILL, FORWARD, GEQ, GTR, IMP, IN, INTERRUPT, IS, LB, LEQ, LIBERATE, LINE, LOCK, LSS, MERGE, MOD, MONITOR, MUX, NEQ, NO, NOT, ON, OPEN, OR, OUT, PICTURE, PROCESS, PROCURE, PROGRAMDUMP, RB, READ, RELEASE, REPLACE, RESET, RESIZE, REWIND, RUN, SCAN, SEEK, SET, SKIP, SORT, SPACE, SWAP, THRU, TIMES, TO, WAIT, WHEN, WITH, WRITE
а також назви всіх внутрішніх функцій.
Джерела
- . Архів оригіналу за 27 вересня 2011. Процитовано 8 листопада 2007.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Посилання
- Алгол [ 17 лютого 2022 у Wayback Machine.] // ВУЕ
- Переглянутий звіт про алгоритмічну мову АЛГОЛ 60 [ 25 червня 2007 у Wayback Machine.] Пітер Наур.
- БНФ АЛГОЛ 60
- — промова Гоара на врученні Нагороди Тьюринга у 1980 році, яка розглядає історію та розвиток АЛГОЛ
- MARST [ 23 жовтня 2007 у Wayback Machine.], вільний Algol-to-C транслятор
- Ретрокомп'ютерний Музей [ 3 квітня 2020 у Wayback Machine.] Еріка Реймонда, серед іншого містить посилання на NASE Algol-60 інтерпретатор, написаний на C.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
ALGOL abo ALGOL skorochennya vid angl ALGOrithmic Language algoritmichna mova simejstvo imperativnih mov programuvannya pershu versiyu rozrobleno v seredini 1950 h i stala de fakto standartnoyu movoyu publikaciyi algoritmiv na nastupni 30 rokiv ALGOL bulo rozrobleno dlya podolannya deyakih problem yaki buli pritamanni dlya Fortrana ta dala poshtovh dlya rozvitku bagatoh inshih mov sered nih Paskal U ALGOL zastosovuvalis operatorni duzhki ce persha mova yaka dlya yih rozmezhuvannya zastosuvala paru begin ta end Fragmenti ALGOL podibnogo sintaksisu dosi vikoristovuyutsya u deyakih notaciyah algoritmiv ALGOLParadigmaprocedurna imperativna strukturnaData poyavi1958TvorciRozroblena komitetom inzhenerivPid vplivom vidFortranVplinula naPaskal Ada Mediafajli u Vikishovishi Oficijni versiyi ALGOLu nazivayut za rokami koli voni vpershe buli opublikovani Isnuye tri veliki oficijni gilki simejstva ALGOL ALGOL 58 spochatku vidomij yak IAL angl International Algorithmic Language Mizhnarodna Algoritmichna Mova ALGOL 60 versiya 1963 roku ALGOL 68 versiya 1973 roku Niklaus Virt vzyav ALGOL 60 za osnovu dlya svogo ALGOL V pered tim yak perejti do rozrobki Paskalyu ALGOL V mav bi stati nastupnim pokolinnyam ALGOL ale komitet ALGOL 68 viddav perevagu bilsh skladnomu j rozvinenomu dizajnu pered sproshenim i prozorishim ALGOL 60 IstoriyaALGOL bulo rozrobleno spilnim komitetom yevropejskih ta amerikanskih vchenih na zustrichi 1958 roku u Shvejcarskomu Federalnomu Instituti Tehnologij Komitet viznachiv tri rizni sintaksisi osnovnij publikaciyi ta realizaciyi Rizni sintaksisi dozvolyali vikoristovuvati rizni klyuchovi slova ta rozdilovi znaki komi ta defisi dlya riznih mov ALGOL perevazhno vikoristovuvavsya dlya naukovih doslidzhen u SShA ta Yevropi Jogo shiroke zastosuvannya bulo uskladnene vidsutnistyu v jogo specifikaciyi standartnogo rishennya dlya vvodu vivodu danih ta vidsutnistyu interesu z boku velikih postachalnikiv komp yuteriv ALGOL 60 popri te stav standartom publikaciyi algoritmiv ta zrobiv vagomij vnesok u rozvitok podalshih mov programuvannya Dzhon Bekus rozrobiv metod opisu mov programuvannya priv yazanij do ALGOLu 58 Cej metod bulo pereglyanuto j rozshireno Piterom Naurom dlya ALGOLu 60 Za propoziciyeyu Donalda Knuta jogo nazvu bulo zmineno na notaciyu Bekusa Naura Yak redaktor pershogo byuletenya ALGOLu ya brav uchast u mizhnarodnomu obgovorenni movi ta buv obranij chlenom Yevropejskoyi grupi rozrobnikiv u listopadi 1959 Na cij posadi ya buv redaktorom zvitu pro ALGOL 60 yakij stav rezultatom zustrichi u Parizhi u sichni 1960 roku Piter Naur Na zustrichi v Parizhi z 1 po 16 sichnya takozh buli prisutni Z Yevropi Fridrih Bauer Piter Naur Gajnc Rutishauzer Klaus Zamelson Bernard Vakui Adrian van Vijngaarden ta Majkl Vudzher Zi Spoluchenih Shtativ Dzhon Bekus Dzhuli Grin Charlz Katc Dzhon Makkarti Alan Perlis Dzhosef Genri Vegstejn Zustrich bula visnazhliva dovga ta vesela Htos nervuvav koli jogo garni ideyi vidkidalis razom z poganimi ideyami inshih Ale starannist panuvala ves period roboti Robota trinadcyati bula chudovoyu Alan Perlis I Dzhon Bekus i Piter Naur buli takozh v komiteti yakij rozrobiv ALGOL 60 yak i Velli Fercig yakij piznishe stvoriv movu programuvannya Logo ALGOL 60 nadihnuv rozvitok bagatoh mov yaki jogo nasliduvali visliv Toni Goara pro nogo zgodom stav aforizmom Ce mova yaka nastilki viperedila chas sho stala ne tilki rozvitkom yiyi poperednikiv ale j majzhe vsih yiyi nastupnikiv Cej visliv inkoli pripisuyut Edsgeru Dejkstri yakij takozh brav uchast u rozrobci pershogo kompilyatora dlya ALGOL 60 dzherelo Oficijni specifikaciyi ALGOL 60 ta jogo realizaciyi Isnuvalo blizko 70 polipshen rozshiren rozgaluzhen ta pidmov ALGOL 60 Veliki sistemi Byurro stekovi mashini rozrobleni dlya programuvannya na rozshirenomu varianti ALGOL 60 vidomomu yak Elliot ALGOL yihnya operacijna sistema MCP bula napisana na Elliot ALGOL she 1961 roku Korporaciya Unisys dosi koli prodaye mashini z ciyeyu nazvoyu yaki vikoristovuyut MCP ta pidtrimuyut nabir kompilyatoriv Elliot ALGOL VlastivostiOficijna specifikaciya ALGOL 60 ne mistila mozhlivostej vvodu vivodu danih rizni realizaciyi kompilyatora viznachali svoyi vlasni metodi yaki ridko buli sumisni odin z odnim Na vidminu ALGOL 68 mav rozshirenu biblioteku transput dlya vvodu vivodu danih ALGOL 60 dozvolyav dva metodi peredachi parametriv za znachennyam ta za nazvoyu Peredacha za nazvoyu mala pevni obmezhennya na vidminu vid peredachi za posilannyam sho robilo yiyi nebazhanoyu dlya programuvannya na imperativnih movah Napriklad v ALGOL 60 nemozhlivo zrobiti proceduru yaka obminyuye znachennya dvoh parametriv yaksho faktichnimi parametrami mozhut buti cili zminni ta masiv cilih Priklad kodu ALGOL 60 Te yak vidilenij tekst maye buti napisanij zalezhit vid konkretnoyi realizaciyi napriklad INTEGER vklyuchno z lapkami zamist integer procedure Absmax a Size n m Result y Subscripts i k value n m array a integer n m i k real y comment Najbilshij po modulyu element matrici a rozmirom n na m zanositsya do y a jogo indeksi do i ta 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 gt y then begin y abs a p q i p k q end end Absmax Ce priklad togo yak realizuvati tablicyu vikoristovuyuchi Elliott 803 ALGOL FLOATING POINT ALGOL TEST BEGIN REAL A B C D READ D FOR A 0 0 STEP D UNTIL 6 3 DO BEGIN PRINT PUNCH 3 L B SIN A C COS A PRINT PUNCH 3 SAMELINE ALIGNED 1 6 A B C END END PUNCH 3 napravlyaye vivid na teletajp a ne na perfokartu SAMELINE zapobigaye povernennyu karetki ta zabezpechuye normalne vivedennya ryadka argumentiv ALIGNED 1 6 formatovanij vivid 1 cifri do i 6 pislya komi Vivedennya Hello world u riznih versiyahVariativnist ta nemozhlivist perenesennya program z odniyeyi realizaciyi ALGOL na inshu legko demonstruyetsya klasichnoyu programoyu hello world ALGOL 58 IAL ALGOL 58 ne mav metodiv vvodu vivodu Simejstvo ALGOL 60 Oskilki ALGOL 60 ne mav standartnizovanih metodiv vvodu vivodu informaciyi na ALGOLi ne isnuye programi hello world yaku mozhna bulo b perenositi Nastupna programa mozhe buti skompilovana ta vikonana na realizaciyi ALGOL na mejnfrejmi Unisys A Series i ye sproshennyam kodu vzyatogo z BEGIN FILE F KIND REMOTE EBCDIC ARRAY E 0 11 REPLACE E BY HELLO WORLD WRITE F E END Alternativnij priklad iz zastosuvannyam Elliott Algol I O V Elliott Algol dlya poznachennya pochatku ta kincya simvolnih konstant vzhivayut rizni simvoli ta program HiFolks begin print Hello world end Nastupna versiya dlya Elliott 803 Algol A104 Standart Elliott 803 vikoristovuvav perfokarti z p yatma otvorami takim chinom u kodi bulo vsogo 25 32 simvoli V nomu buli lishe literi verhnogo registru majzhe ne bulo rozdilovih znakiv tomu anglijskij znak funta zastosovuvavsya dlya poznachennya pochatku ryadka a znak pitannya dlya poznachennya kincya Osoblivi poslidovnosti bralis u podvijni lapki napriklad L oznachalo novij ryadok na teletajpi HIFOLKS BEGIN PRINT HELLO WORLD L END Versiya vvodu vivodu ICL 1900 Algol dozvolyala vvedennya informaciyi z paperovoyi strichki chi perfokart Povnij rezhim paperovoyi strichki dozvolyav literi nizhnogo registru Vivid zdijsyuvavsya na printer BEGIN WRITE TEXT HELLO WORLD END ALGOL 68 Algol 68 Report bulo perekladeno rosijskoyu nimeckoyu francuzkoyu ta bolgarskoyu movami U movi ALGOL 68 metodi vvodu vivodu buli uzagalneno nazvani begin print Hello world newline end Abo vikorstovuyuchi specialnij kanal obminu begin putf stand out gl Hello world end Takozh ALGOL 68 dozvolyav programuvati iz vikoristannyam shirshih naboriv simvoliv napriklad kirilichnogo alfavitu na BESM 4 begin print Vitannya svitu newline end Primitka radyanskij standart 1964 roku dozvolyav koduvannya 4 5 6 ta 7 bitnih simvoliv na ALGOL U publikaciyah ALGOL 68 zarezervovani slova buli v nizhnomu registri ale drukuvalis napivzhirnim shriftom chi pidkresleno Dlya polegshennya programuvannya 7 bitnih komp yuteriv buli oficijni metodi vidilyati zarezervovani slova napriklad vikoristovuyuchi verhnij registr BEGIN print Hello world newline END Inodi programisti buli zmusheni povnistyu DUMATI U VERHNOMU REGISTRI na komp yuterah yaki mali tilki 6 bitni simvoli napriklad superkomp yuteri CDC V comu vipadku vishenavedenij kod mav pisatisya tak BEGIN PRINT HELLO WORLD NEWLINE END Zarezervovani slova ta zaboroneni identifikatori ALGOL 60Isnuye 35 zarezervovanih sliv u movi Velikoyi sistemi Byuro ALPHA ARRAY BEGIN BOOLEAN COMMENT CONTINUE DIRECT DO DOUBLE ELSE END EVENT FALSE FILE FOR FORMAT GO IF INTEGER LABEL LIST LONG OWN POINTER PROCEDURE REAL STEP SWITCH TASK THEN TRUE UNTIL VALUE WHILE ZIP Ye 71 zaboronenij identifikator ACCEPT AND ATTACH BY CALL CASE CAUSE CLOSE DEALLOCATE DEFINE DETACH DISABLE DISPLAY DIV DUMP ENABLE EQL EQV EXCHANGE EXTERNAL FILL FORWARD GEQ GTR IMP IN INTERRUPT IS LB LEQ LIBERATE LINE LOCK LSS MERGE MOD MONITOR MUX NEQ NO NOT ON OPEN OR OUT PICTURE PROCESS PROCURE PROGRAMDUMP RB READ RELEASE REPLACE RESET RESIZE REWIND RUN SCAN SEEK SET SKIP SORT SPACE SWAP THRU TIMES TO WAIT WHEN WITH WRITE a takozh nazvi vsih vnutrishnih funkcij Dzherela Arhiv originalu za 27 veresnya 2011 Procitovano 8 listopada 2007 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya PosilannyaAlgol 17 lyutogo 2022 u Wayback Machine VUE Pereglyanutij zvit pro algoritmichnu movu ALGOL 60 25 chervnya 2007 u Wayback Machine Piter Naur BNF ALGOL 60 promova Goara na vruchenni Nagorodi Tyuringa u 1980 roci yaka rozglyadaye istoriyu ta rozvitok ALGOL MARST 23 zhovtnya 2007 u Wayback Machine vilnij Algol to C translyator Retrokomp yuternij Muzej 3 kvitnya 2020 u Wayback Machine Erika Rejmonda sered inshogo mistit posilannya na NASE Algol 60 interpretator napisanij na C