~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 0DE7358E7353DDBCB02504FEB10FEECB__1717123200 ✰
Заголовок документа оригинал.:
✰ ALGOL - Wikipedia ✰
Заголовок документа перевод.:
✰ АЛГОЛ — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/ALGOL ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/0d/cb/0de7358e7353ddbcb02504feb10feecb.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/0d/cb/0de7358e7353ddbcb02504feb10feecb__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 06:43:02 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 31 May 2024, at 05:40 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

АЛГОЛ — Википедия Jump to content

АЛГОЛ

Из Википедии, бесплатной энциклопедии

АЛГОЛ
Руководство по Алголу-20 1965 года.
Парадигма Процедурный , императивный , структурированный.
Семья АЛГОЛ
Разработано Бауэр , Боттенбрух , Рутисхаузер , Самельсон , Бэкус , Кац , Перлис , Вегштейн , Наур , Вокуа , ван Вейнгаарден , Вуджер , Грин , Маккарти
Впервые появился 1958 год ; 66 лет назад ( 1958 )
Дисциплина набора текста Статический , сильный
Объем Лексический
Под влиянием
Большинство последующих императивных языков (включая так называемые АЛГОЛ-подобные языки)
например PL/I , Simula , Pascal , C и Scheme

АЛГОЛ ( / ˈ æ l ɡ ɒ l , - ɡ ɔː l / ; сокращение от « Алгоритмический язык ») [1] — это семейство императивных языков компьютерного программирования , первоначально разработанных в 1958 году. АЛГОЛ сильно повлиял на многие другие языки и был стандартным методом описания алгоритмов , используемым Ассоциацией вычислительной техники (ACM) в учебниках и академических источниках более тридцати лет. [2]

В том смысле, что синтаксис большинства современных языков «алгольный», [3] возможно, он оказал большее влияние, чем три других языка программирования высокого уровня, среди которых он был примерно современным: FORTRAN , Lisp и COBOL . [4] и в конечном итоге породил множество других языков программирования, включая PL/I , Simula , BCPL , B , Pascal , Ada и C. Он был разработан, чтобы избежать некоторых предполагаемых проблем с FORTRAN ,

АЛГОЛ представил блоки кода и begin... endпары для их разграничения. Это был также первый язык, реализовавший определения вложенных функций с лексической областью действия . Более того, это был первый язык программирования, в котором подробное внимание уделялось формальному определению языка, и в отчете об Алголе 60 была представлена ​​форма Бэкуса-Наура , основная формальная грамматическая запись для проектирования языка.

Существовало три основные спецификации, названные в честь года их первой публикации:

  • АЛГОЛ 58 — первоначально предлагалось называть IAL , что означает международный алгебраический язык .
  • АЛГОЛ 60 - впервые реализован как X1 АЛГОЛ 60 в 1961 году. Пересмотрен в 1963 году. [5] [6] [7]
  • АЛГОЛ 68 – представлены новые элементы, включая гибкие массивы, срезы, параллелизм, идентификация операторов. Пересмотрено в 1973 году. [8]

АЛГОЛ 68 существенно отличается от АЛГОЛа 60 и не был принят хорошо. [ по мнению кого? ] поэтому под словом «Алгол» обычно понимают АЛГОЛ 60 и его диалекты. [ нужна цитата ]

История [ править ]

АЛГОЛ был разработан совместно комитетом европейских и американских ученых-компьютерщиков на встрече в 1958 году в Швейцарском федеральном технологическом институте в Цюрихе (см. АЛГОЛ 58 ). [9] Он определил три разных синтаксиса: ссылочный синтаксис, синтаксис публикации и синтаксис реализации, синтаксисы, которые позволяли использовать разные имена ключевых слов и соглашения для десятичных точек (запятые или точки) для разных языков. [ нужна цитата ]

АЛГОЛ использовался в основном учеными-компьютерщиками в США и Европе; коммерческим приложениям препятствовало отсутствие стандартных средств ввода/вывода в его описании, а также отсутствие интереса к языку со стороны крупных поставщиков компьютеров (кроме Burroughs Corporation ). [ нужна цитата ] Однако АЛГОЛ 60 стал стандартом для публикации алгоритмов и оказал глубокое влияние на будущее развитие языка. [ по мнению кого? ]

подпись
Алгол, Фортран и КОБОЛ. Генеалогическое древо династии языков программирования

Джон Бэкус разработал метод нормальной формы Бэкуса для описания языков программирования специально для АЛГОЛа 58. Он был переработан и расширен Питером Науром для АЛГОЛа 60 и по Дональда Кнута предложению переименован в форму Бэкуса-Наура . [10]

Питер Наур: «Как редактор бюллетеня АЛГОЛ, я был вовлечен в международные дискуссии по этому языку и в ноябре 1959 года был выбран членом европейской группы разработчиков языков. В этом качестве я был редактором отчета по АЛГОЛу 60, подготовленного в результате встречи АЛГОЛ-60 в Париже в январе 1960 года». [11]

На встрече в Париже (с 1 по 16 января) присутствовали следующие люди: [ нужна цитата ]

Алан Перлис дал яркое описание встречи: «Встречи были утомительными, бесконечными и волнующими. Человек раздражался, когда хорошие идеи одного человека отбрасывались вместе с плохими идеями других. Тем не менее, усердие сохранялось в течение всего периода. 13 было превосходно». [ Эта цитата нуждается в цитировании ]

АЛГОЛ 60 вдохновил множество последовавших за ним языков. Тони Хоар заметил: «Это язык, настолько опередивший свое время, что он стал улучшением не только своих предшественников, но и почти всех своих преемников». [12] Язык программирования Scheme , , вариант Lisp который принял блочную структуру и лексическую область ALGOL, также принял формулировку «Пересмотренный отчет об алгоритмической языковой схеме» для своих стандартных документов в честь ALGOL. [13]

АЛГОЛ и исследование языка программирования [ править ]

Как заметил Питер Ландин , [ нужна цитата ] АЛГОЛ был первым языком, в котором органично сочетались императивные эффекты с ( вызов по имени ) лямбда-исчислением . [ нужна цитата ] Возможно, самая элегантная формулировка языка принадлежит Джону К. Рейнольдсу , и она лучше всего демонстрирует свою синтаксическую и семантическую чистоту. [ по мнению кого? ] Идеализированный АЛГОЛ Рейнольдса также привел убедительный методологический аргумент относительно пригодности локальных эффектов в контексте языков с вызовом по имени, в отличие от глобальных эффектов, используемых языками с вызовом по значению, такими как ML . [ нужна цитата ] Концептуальная целостность языка сделала его одним из основных объектов семантических исследований наряду с программированием вычислимых функций (PCF) и ML. [ нужна цитата ]

График реализации IAL [ править ]

На сегодняшний день существует не менее 70 дополнений, расширений, производных и подъязыков Алгола 60. [14]

Имя Год Автор Страна Описание Целевой процессор
ZMMD-реализация 1958 Фридрих Л. Бауэр , Хайнц Рутисхаузер, Клаус Самельсон, Герман Боттенбрух  Германия реализация АЛГОЛА 58 Z22
(позже Zuse ​​от Z23 был поставлен с компилятором Algol 60) [15]
X1 АЛГОЛ 60 1960 август [16] Эдсгер В. Дейкстра и Яап А. Зонневельд  Нидерланды Первая реализация АЛГОЛА 60 [17] Электрологика X1
Эллиотт Алгол 1960-е годы АВТОМОБИЛЬ Хоар  Великобритания Тема на Премии Тьюринга 1980 года. лекции [18] Эллиотт 803 , Эллиотт 503, Эллиотт 4100 серии
ВЕСЕЛЫЙ 1960 Жюль Шварц  НАС DOD HOL перед Адой Разное (см. статью)
Берроуз Алгол
(Несколько вариантов)
1961 Burroughs Corporation (при участии Хоара, Дейкстры и др.)  НАС Основа компьютеров Burroughs (а теперь и Unisys MCP ) Компания Burroughs Large Systems , а также их устройства среднего класса.
Случай Алгола 1961 Технологический институт Кейса [19]  НАС Simula изначально задумывалась как расширение моделирования Case ALGOL. УНИВАК 1107
ГОГОЛЬ 1961 Уильям М. Маккиман  НАС Для системы разделения времени ODIN [20] ПДП-1
RegneCentralen АЛГОЛ 1961 Питер Наур , Йорн Йенсен  Дания Внедрение полного Алгола 60 DASK в Регнецентралене
Дартмутский Алгол 30 1962 Томас Юджин Курц и др.  НАС ЛГП-30
Военный корабль США 90 Алгол 1962 Л. Петроне  Италия
АЛГОЛ 60 1962 Бернар Вокуа , Луи Болье [21]  Франция Институт компьютерных наук и прикладной математики Гренобля (IMAG) и Compagnie des Machines Bull Бык Гамма 60
Алголь переводчик 1962 Г. ван дер Мей и В.Л. ван дер Поэль  Нидерланды Государственная почта, Телеграфная и телефонная компания ЗЕБРА
Кидсгроув Алгол 1963 ФГ Дункан  Великобритания Английская электрическая компания KDF9
ВАЛГОЛЬ 1963 Вэл Шорре  НАС Тест META II компилятора компилятора
точильный камень 1964 Брайан Рэнделл и Эл Джей Рассел  Великобритания Подразделение атомной энергетики английской электрической компании. Предшественник реализаций Ferranti Pegasus , National Physical Laboratories ACE и English Electric DEUCE . Английская электрическая компания KDF9
НЕ АЛГОЛ 1965  Норвегия УНИВАК
ВОДОРОСЛИ 1965  Советский Союз АЛГЭК на базе АЛГОЛ-60 и поддержки КОБОЛа для экономических задач. Минск-22
АЛГОЛ W 1966 Никлаус Вирт  НАС Предлагаемый преемник АЛГОЛА 60. IBM Система/360
МАЛГОЛ 1966 publ. A. Viil, M Kotli & M. Rakhendi,  Эстонская ССР Минск-22
АЛГАМЫ 1967 GAMS group (ГАМС, группа автоматизации программирования для машин среднего класса), cooperation of Comecon Academies of Science СЭВ Минск-22 , позже ЕС ЭВМ , БЭСМ
ALGOL/ZAM 1967  Польша Польский ZAM компьютер
С 67 лет 1967 Оле-Йохан Даль и Кристен Нигаард  Норвегия Алгол 60 с классами УНИВАК 1107
Триплекс-АЛГОЛ Карлсруэ 1967/1968 Карлсруэ ,  Германия АЛГОЛ 60 (1963) с триплексными числами для интервальной арифметики [22]
Китайский Алгол 1972  Китай Китайские иероглифы, выраженные через систему символов.
ГД/Л 1972  НАС DG Eclipse Семейство компьютеров
S-алгол 1979 Рон Моррисон  Великобритания Добавление ортогональных типов данных с предполагаемым использованием в качестве языка обучения. PDP-11 с последующей реализацией на Java VM

Диалекты Берроуза включали специальные диалекты начальной загрузки, такие как ESPOL и NEWP . Последний до сих пор используется для системного программного обеспечения Unisys MCP.

Свойства [ править ]

Алгол 60 в официальном определении не имел средств ввода-вывода ; реализации определяли свои собственные способами, которые редко были совместимы друг с другом. Напротив, АЛГОЛ 68 предлагал обширную библиотеку средств передачи (ввода/вывода).

АЛГОЛ 60 допускал две стратегии оценки передачи параметров : общий вызов по значению и вызов по имени . Вызов по имени имеет определенные эффекты в отличие от вызова по ссылке . Например, без указания параметров как value или reference невозможно разработать процедуру, которая будет менять местами значения двух параметров, если фактические передаваемые параметры представляют собой целочисленную переменную и массив, индексированный той же целочисленной переменной. . [23] Подумайте о передаче указателя на swap(i, A[i]) в функцию. Теперь, когда каждый раз обращаются к свопу, он пересчитывается. Скажем, i := 1 и A[i] := 2, поэтому при каждом обращении к swap он будет возвращать другую комбинацию значений ([1,2], [2,1], [1,2] и т. д. ). Аналогичная ситуация возникает со случайной функцией, переданной в качестве фактического аргумента.

Функция Call-by-name известна многим разработчикам компиляторов благодаря интересным « thunks », которые используются для ее реализации. Дональд Кнут разработал « тест мужчины или мальчика » для разделения компиляторов, которые правильно реализовали « рекурсию и нелокальные ссылки». Этот тест содержит пример вызова по имени.

Алгол 68 был определен с использованием двухуровневого грамматического формализма, изобретенного Адрианом ван Вейнгаарденом и носящего его имя. Грамматики Ван Вейнгаардена используют контекстно-свободную грамматику для создания бесконечного набора продуктов, которые распознают конкретную программу ALGOL 68; в частности, они способны выражать требования, которые во многих других стандартах языков программирования называются «семантикой» и должны быть выражены в склонной к неоднозначности прозе естественного языка, а затем реализованы в компиляторах в виде специального кода, прикрепленного к формальному языку. парсер.

Примеры и переносимость [ править ]

Сравнение примеров кода [ править ]

АЛГОЛ edit60

(Способ написания жирного текста зависит от реализации, например, «ЦЕЛОЕ» (включая кавычки) для целого числа. Это называется обрезкой .)

процедура  Absmax(a) Размер:(n, m) Результат:(y) Индексы:(i, k); 
      значение  n, м;   массив  а;   целое число  n, m, i, k;   правда  ; 
  комментарий  Абсолютный наибольший элемент матрицы a размером n на m, 
      копируется в y, а индексы этого элемента в i и k; 
  начать 
     целое число  p, q; 
      у := 0;   я := к := 1; 
      for  p := 1  шаг  1  до  n  делать 
         for  q := 1  шаг  1  до  m  делать 
             if  abs(a[p, q]) > y  then 
                 start  y := abs(a[p, q]); 
                      я := р;   к := q 
                  конец 
 конец  Абсмакс 
 

Вот пример того, как создать таблицу с помощью Elliott 803 ALGOL. [24]

АЛГОЛ ТЕСТ С ПЛАВАЮЩЕЙ ТОЧКОЙ' 
   НАЧИНАЙТЕ НАСТОЯЩЕЕ A,B,C,D' 
   ЧИТАЙТЕ Д' 
   ДЛЯ A:= 0,0 ШАГ D ДО 6,3 DO 
   НАЧИНАТЬ 
     ПЕРФОРАТОР  (3)  ,££L??' 
     Б := SIN(A)' 
     C := COS(A)' 
     ПУФОН ДЛЯ ПЕЧАТИ(3),  ОДНА ЛИНИИ  ,  ВЫРАВНИВАНИЕ(1,6)  , A,B,C' 
   КОНЕЦ 
   КОНЕЦ' 
 

АЛГОЛ edit68

Следующие примеры кода представляют собой версии ALGOL 68 приведенных выше примеров кода ALGOL 60.

Реализации ALGOL 68 использовали подходы ALGOL 60 к ограничению . В случае Алгола 68 токены, выделенные жирным шрифтом, представляют собой зарезервированные слова, типы (режимы) или операторы.

proc  abs max = ([,]  real  a,  ref   real  y,  ref   int  i, k)  real  : 
  комментарий  Абсолютный наибольший элемент матрицы a размером ⌈a на 2⌈a. 
  передается в y, а индексы этого элемента в i и k;  комментария 
  начало 
    реальное  y := 0;   я := ⌊а;   к := 2⌊а; 
     для  p  от  ⌊a  до  ⌈a  сделать 
      для  q  от  2⌊a  до  2⌈a  сделать, 
        если   abs  a[p, q] > y  , то 
             y :=  abs  a[p, q]; 
             я := р;   к := q 
         фи 
      од 
    од  ; 
     й 
  конец  # абс макс # 
 

Примечание. Нижняя (⌊) и верхняя (⌈) границы массива, а также срез массива доступны непосредственно программисту.

Тест algol68 с плавающей запятой: 
  ( 
    реальные  а, б, в, г; 
   
    #  printf  – отправляет вывод  файл   в  .   # 
    #  printf($p$);   – выбирает  новую страницу  # 
    printf(($pg$,"Введите d:"));   
    читать (д); 
   
    для  шага  от  0  while  a:=step*d;   а <= 2*пи  делать 
      printf($l$);   #  $l$  — выбирает  новую строку  .   # 
      б := грех(а); 
      с := потому что (а); 
      printf(($zd.6d$,a,b,c)) # форматирует вывод с 1 цифрой до и 6 после десятичной точки.   # 
    од 
  ) 
 

Хронология: Привет, мир [ править ]

Вариации и отсутствие переносимости программ из одной реализации в другую легко демонстрирует классическая программа hello world . [ нужна цитата ]

АЛГОЛ 58 (ИАЛ) [ править ]

Алгол 58 не имел средств ввода-вывода.

Семейство АЛГОЛ 60 [ править ]

нет переносимой программы hello world Поскольку в АЛГОЛе 60 не было средств ввода-вывода, в АЛГОЛе . Следующие три примера находятся в расширенном алгоритме Берроуза. Первые два напрямую выводятся на интерактивный терминал, на котором они запущены. Первый использует массив символов, аналогичный C. Язык позволяет использовать идентификатор массива в качестве указателя на массив и, следовательно, в инструкции REPLACE.

НАЧАТЬ 
    ФАЙЛ   F  (  ВИД  =  УДАЛЕННЫЙ  ); 
     EBCDIC   МАССИВ   E  [  0:11  ]  ; 
     ЗАМЕНИТЕ   E   НА   «HELLO WORLD!»   ; 
     ЗАПИСАТЬ  (  F  ,   *  ,   E  ); 
   КОНЕЦ  . 

Более простая программа, использующая встроенный формат:

НАЧАТЬ 
    ФАЙЛ   F  (  ВИД  =  УДАЛЕННЫЙ  ); 
     WRITE  (  F  ,   <  "HELLO WORLD!"  >  ); 
   КОНЕЦ  . 

Еще более простая программа, использующая оператор Display. Обратите внимание, что его выходные данные попадут на системную консоль («SPO»):

НАЧАЛО   ОТОБРАЖЕНИЯ  (  «ПРИВЕТ, МИР!»  )   КОНЕЦ  . 

Альтернативный пример использования ввода-вывода Elliott Algol выглядит следующим образом. Эллиот Алгол использовал разные символы для «цитат открытой строки» и «кавычек закрытой строки», представленных здесь как  '   и   .

программа   HiFolks  ; 
   начало 
     печати   '  Привет,   мир  ' 
  конец  ; 

Ниже представлена ​​версия от Elliott 803 Algol (A104). В стандартном Elliott 803 использовалась бумажная лента с пятью отверстиями, поэтому в нем были только заглавные буквы. В коде отсутствовали символы кавычек, поэтому для открытой кавычки использовался £ (знак британского фунта), а ? (Знак вопроса) для закрытия цитаты. Специальные последовательности заключались в двойные кавычки (например, ££L?? выводил на телетайпе новую строку).

ПРИВЕТ НАРОД'
   НАЧИНАТЬ
      НАПЕЧАТАЙТЕ £HELLO WORLD£L??'
   КОНЕЦ'
 

Версия Algol I/O серии ICT 1900 позволяла вводить данные с бумажной ленты или перфокарты. В режиме «заполнения» бумажной ленты разрешен нижний регистр. Вывод осуществлялся на построчный принтер. Символы открывающей и закрывающей кавычек были представлены с помощью символов «(» и «)» и пробелов через %. [25]

'НАЧИНАТЬ'
      НАПИСАТЬ ТЕКСТ('('HELLO%WORLD')');
   'КОНЕЦ'
 

АЛГОЛ edit68

Код ALGOL 68 был опубликован с зарезервированными словами, обычно написанными строчными буквами, но выделенными жирным шрифтом или подчеркнутыми.

начинать 
    printf(($gl$,"Привет, мир!")) 
  конец 

На языке «Отчета об Алголе 68» средства ввода/вывода назывались «Транспут».

Хронология специальных символов АЛГОЛА [ править ]

Алголы были задуманы в то время, когда наборы символов были разнообразны и быстро развивались; кроме того, АЛГОЛы были определены так, что только заглавные требовались буквы.

1960: ИФИП – язык и отчет Алгол 60 включали несколько математических символов, которые доступны на современных компьютерах и операционных системах, но, к сожалению, в то время не поддерживались большинством вычислительных систем. Например: ×, ÷, ≤, ≥, ≠, ¬, ∨, ∧, ⊂, ≡, ␣ и ⏨.

Сентябрь 1961 года: ASCII. В набор символов ASCII , находившийся тогда на ранней стадии разработки, был добавлен символ \ (обратная косая черта) для поддержки логических операторов АЛГОЛА /\ и \/ . [26]

1962: ALCOR - этот набор символов включал необычный рунический крест «᛭». [27] символ умножения и символ десятичной экспоненты «⏨». [28] для записи с плавающей запятой. [29] [30] [31]

1964: ГОСТ . Советский стандарт ГОСТ 10859 1964 года допускал кодирование 4-битных, 5-битных, 6-битных и 7-битных символов в АЛГОЛе. [32]

1968: «Отчет об Алголе 68» - использовались существующие символы ALGOL и далее были приняты символы →, ↓, ↑, □, ⌊, ⌈, ⎩, ⎧, ○, ⊥ и ¢, которые можно найти на клавиатуре 2741 IBM печатного мяча (или мяча для гольфа ) с помощью вставлены печатающие головки (например, мяч для гольфа APL ). Они стали доступны в середине 1960-х годов, когда разрабатывался Алгол 68. Отчет был переведен на русский, немецкий, французский и болгарский языки и позволял программировать на языках с более широким набором символов, например, на кириллице советской БЭСМ -4. Все символы АЛГОЛА также являются частью стандарта Unicode , и большинство из них доступны в нескольких популярных шрифтах .

Октябрь 2009 г.: Юникод – The (Символ десятичной экспоненты) для обозначения с плавающей запятой был добавлен в Unicode 5.2 для обратной совместимости с историческим программным обеспечением ALGOL программы Buran . [33]

См. также [ править ]

Ссылки [ править ]

  1. ^ Название этой языковой семьи иногда дается в смешанном регистре ( Algol 60, архивировано 25 июня 2007 г. в Wayback Machine ), а иногда и полностью в верхнем регистре ( ALGOL68, архивировано 13 сентября 2014 г. в Wayback Machine ). Для простоты в этой статье используется АЛГОЛ .
  2. ^ Сборник алгоритмов ACM. Архивировано 17 октября 2011 г. в Wikiwix. Сжатые архивы алгоритмов. АКМ .
  3. ^ О'Хирн, PW; Теннент, РД (сентябрь 1996 г.). «Алголоподобные языки, Введение» . Архивировано из оригинала 14 ноября 2011 года.
  4. ^ «Язык программирования ALGOL». Архивировано 6 октября 2016 г. в Wayback Machine , Мичиганский университет в Дирборне.
  5. ^ Бэкус, Джон Уорнер ; Бауэр, Фридрих Людвиг ; Грин, Жюльен ; Кац, Чарльз ; Маккарти, Джон ; Наур, Питер ; Перлис, Алан Джей ; Рутисхаузер, Хайнц ; Самельсон, Клаус ; Вокуа, Бернар ; Вегштейн, Джозеф Генри ; ван Вейнгаарден, Адриан ; Вуджер, Майкл (май 1960 г.). Наур, Питер (ред.). «Отчет по алгоритмическому языку АЛГОЛ 60» . Коммуникации АКМ . 3 (5). Копенгаген, Дания: 299–314. дои : 10.1145/367236.367262 . ISSN   0001-0782 . S2CID   278290 .
  6. ^ «Пересмотренный отчет об алгоритмическом языке Алгол 60» . 1963. Архивировано из оригинала 25 июня 2007 года . Проверено 8 июня 2007 г.
  7. ^ «Транслятор ALGOL 60 для X1» (PDF) . 1961. Архивировано (PDF) из оригинала 9 октября 2022 года . Проверено 7 января 2021 г.
  8. ^ «Пересмотренный отчет об алгоритмическом языке АЛГОЛ 68» (PDF) . 1973. Архивировано (PDF) из оригинала 13 сентября 2014 года . Проверено 13 сентября 2014 г.
  9. ^ «История ALGOL — Software Preservation Group» . www.softwarepreservation.org . Проверено 14 марта 2024 г.
  10. ^ Кнут, Дональд Э. (1964). «Нормальная форма Бэкуса против формы Бэкуса-Наура» . Коммуникации АКМ . 7 (12): 735–736. дои : 10.1145/355588.365140 . S2CID   47537431 .
  11. ^ Цитирование премии ACM: Питер Наур. Архивировано 2 апреля 2012 г. в Archive-It , 2005 г.
  12. ^ «Советы по проектированию языка программирования». Архивировано 15 сентября 2009 года в Wayback Machine , CAR Hoare, декабрь 1973 года. Страница 27. (Это утверждение иногда ошибочно приписывают Эдсгеру В. Дейкстре ALGOL 60. , также участвовавшему в реализации первого компилятора )
  13. ^ Дыбвиг, РК; и другие. Рис, Джонатан; Клингер, Уильям; Абельсон, Хэл (ред.). «Пересмотренный (3) отчет об алгоритмической языковой схеме (посвящается памяти Алгола 60)» . Архивировано из оригинала 14 января 2010 года . Проверено 20 октября 2009 г.
  14. ^ «Энциклопедия компьютерных языков» . Архивировано из оригинала 27 сентября 2011 года . Проверено 20 января 2012 г.
  15. История компьютерного музея. Архивировано 20 августа 2010 года в Wayback Machine , исторический Zuse-Computer Z23, восстановленный школой Конрада Цузе в Хюнфельде, для Центра истории компьютерного музея в Маунтин-Вью (Калифорния), США.
  16. ^ Дневной свет, EG (2011). «Сплоченный клич Дейкстры к обобщению: появление рекурсивной процедуры, конец 1950-х - начало 1960-х годов» . Компьютерный журнал . 54 (11): 1756–1772. CiteSeerX   10.1.1.366.3916 . дои : 10.1093/comjnl/bxr002 . Архивировано из оригинала 12 марта 2013 года.
  17. ^ Круземан Арец, FEJ (30 июня 2003 г.). «Компилятор Дейкстра-Зонневельда ALGOL 60 для Electrologica X1». Программная инженерия (PDF) . История информатики. Амстердам: Centrum Wiskunde & Informatica. Архивировано (PDF) из оригинала 4 марта 2016 г.
  18. ^ Хоар, Энтони (1980). «Старая одежда императора» . Коммуникации АКМ . 24 (2): 75–83. дои : 10.1145/358549.358561 .
  19. ^ Коффман, Элиот. «Все, что мне действительно нужно знать, я узнал в CS1» (PDF) . Архивировано из оригинала (PDF) 12 октября 2012 года . Проверено 20 мая 2012 г.
  20. ^ «ГОГОЛЬ – PDP-1 Алгол 60 (Язык компьютера)» . Интернет-историческая энциклопедия языков программирования. Архивировано из оригинала 2 февраля 2018 года . Проверено 1 февраля 2018 г.
  21. ^ Мунье-Кун, Пьер (2014). «Алголь во Франции: от универсального проекта к встроенной культуре» . IEEE Анналы истории вычислений . 36 (4): 6–25. дои : 10.1109/MAHC.2014.50 . ISSN   1058-6180 . S2CID   16684090 .
  22. ^ Випперманн, Ханс-Вильм (1968) [15 июня 1967, 1966]. «Определение связанных чисел в Триплекс-АЛГОЛ». Вычисление (на немецком языке). 3 (2). Карлсруэ, Германия: Springer: 99–109. дои : 10.1007/BF02277452 . ISSN   0010-485X . S2CID   36685400 .
  23. ^ Ахо, Альфред В .; Сетхи, Рави ; Уллман, Джеффри Д. (1986). Составители: принципы, методы и инструменты (1-е изд.). Аддисон-Уэсли. ISBN  0-201-10194-7 . , Раздел 7.5 и ссылки в нем
  24. ^ «803 АЛГОЛ». Архивировано 29 мая 2010 г. на Wayback Machine , руководство для Elliott 803 ALGOL.
  25. ^ «Серия ICL 1900: Язык Алгол» . Техническая публикация ICL 3340. 1965 г.
  26. ^ Как ASCII получил обратную косую черту. Архивировано 11 июля 2014 г. в Wayback Machine , Боб Бемер.
  27. ^ железный/рунический крест
  28. ^ Символ десятичной степени
  29. ^ Бауманн, Р. (октябрь 1961 г.). «Руководство АЛГОЛ группы АЛКОР, часть 1» [Руководство АЛГОЛ группы АЛКОР]. Elektronische Rechenanlagen (на немецком языке): 206–212.
  30. ^ Бауманн, Р. (декабрь 1961 г.). «Руководство АЛГОЛ группы АЛКОР, Часть 2» [Руководство АЛГОЛ группы АЛКОР]. Elektronische Rechenanlagen (на немецком языке). 6 : 259–265.
  31. ^ Бауманн, Р. (апрель 1962 г.). «Руководство АЛГОЛ группы АЛКОР, часть 3» [Руководство АЛГОЛ группы АЛКОР]. Elektronische Rechenanlagen (на немецком языке). 2 .
  32. ^ «Стандарт ГОСТ 10859» . Архивировано из оригинала 16 июня 2007 года . Проверено 5 июня 2007 г.
  33. ^ Брухис, Леонид (22 января 2008 г.). «Пересмотренное предложение по кодированию символа десятичной степени» (PDF) . www.unicode.org . ISO/IEC JTC 1/SC 2/WG 2. Архивировано (PDF) из оригинала 31 июля 2015 г. . Проверено 24 января 2016 г. Это означает, что необходимость в перекодировании программного обеспечения и документации на основе ГОСТ все еще может возникнуть: устаревшие числовые алгоритмы (некоторые из которых могут представлять интерес, например, для автоматической посадки шаттла «Буран»…), оптимизированные для операций с плавающей запятой, не соответствующих IEEE представление БЭСМ-6 нельзя просто перекомпилировать и ожидать, что оно будет работать надежно, и может потребоваться некоторое вмешательство человека.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 0DE7358E7353DDBCB02504FEB10FEECB__1717123200
URL1:https://en.wikipedia.org/wiki/ALGOL
Заголовок, (Title) документа по адресу, URL1:
ALGOL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)