Язык программирования алгол реферат

Обновлено: 30.06.2024

Алго́л (англ. Algol от англ. algorithmic — алгоритмический и англ. language — язык) — название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ. Разработан комитетом по языку высокого уровня IFIP в 1958—1960 гг. (Алгол-58, Алгол-60); усовершенствован в 1964—1968 гг. (Алгол 68). Алгол относится к языкам высокого уровня и позволяет легко переводить алгебраические формулы в программные команды. Алгол был популярен в Европе, в том числе в СССР, в то время как сравнимый с ним язык Фортран был распространён в США и Канаде. Оказал заметное влияние на все разработанные позднее императивные языки программирования — в частности, на язык Pascal.

Обычно названием Алгол (без уточнения версии языка) именуют Алгол-60, в то время как Алгол 68 рассматривается как самостоятельный язык.

Содержание

История

У нового языка нашлись как приверженцы, так и критики. В США Алгол приняли холодно, он был популярен только в академической среде, и то не повсеместно. Те, кто попытался реализовать Алгол, столкнулись с целым рядом сложностей. Так, например, обнаружилось, что ни один из существовавших тогда компьютеров не поддерживал ввод-вывод всех 116 литер, из которых состоял алфавит Алгола.

SHARE — американская ассоциация пользователей компьютеров IBM, — потребовала от фирмы реализовать Алгол для своих машин, но появившийся в конце концов компилятор Алгола для IBM OS/360 был крайне неудобен в использовании — вполне естественно, что IBM, вложившая в Фортран огромные суммы, не имела стимула для создания нового продукта, который лишь конкурировал бы со старым. В то же время, недостатки Фортрана вынудили IBM искать ему замену и привели к разработке PL/I — языка-наследника Фортрана, в котором влияние Алгола было весьма заметным.

А вот в Европе Алгол приняли с энтузиазмом. Он быстро завоевал популярность в академической среде, повсеместно шла разработка компиляторов, многие из которых, несмотря на сложности реализации, оказались весьма успешными. Алгол распространился от Великобритании до Дальнего востока СССР, став как универсальным языком описания алгоритмов в научных публикациях, так и средством реального программирования.

Язык Алгол был принят фирмой Burroughs Corporation в их моделях, начиная с B5000 — этот язык получил название Elliott ALGOL На компьютерах LGP-30 использовался язык Dartmouth ALGOL 30.

Даже когда язык Алгол почти перестал использоваться для программирования, он ещё долго оставался официальным языком для публикации алгоритмов.

Свойства языка

Особенности языка Алгол стали типичными для большинства императивных языков, созданных позднее него. Именно в Алголе появилось представление о программе не как о свободной последовательности команд, а как о блочной структуре, состоящей из чётко описанных и отделённых друг от друга частей. Основной блок программы на Алголе — это сама главная программа. Она содержит свою исполняемую часть, заключённую в блок, ограниченный парой ключевых слов begin и end , а также описания подпрограмм. Каждая подпрограмма — это программа в миниатюре, имеющая собственные, описанные внутри неё данные, однозначно определённый интерфейс в виде имени и списка формальных параметров, и блок кода. При этом в блоке могут выделяться подблоки.

Были выделены структурные управляющие конструкции: ветвления, циклы, последовательные участки, исполняющие условно или многократно вложенные наборы операторов, также ограниченные теми же ключевыми словами begin и end , что дало возможность описывать логику программы без использования безусловных переходов — печально известного оператора goto, провоцирующего на создание запутанных и плохо структурированных программ.

Современным программистам подобная структура программы кажется чем-то самоочевидной, кое в чём устаревшей и не всегда удобной (так, часто критикуются бесконечные begin — end в программах на Паскале, который унаследовал эту особенность именно от Алгола), но на момент появления Алгола всё это было заметным шагом вперёд. Программы становились регулярными, это давало возможность наращивать их по объёму, сохраняя обозримыми, понятными, доступными анализу и исправлению. Именно на базе Алгола и его языков-потомков были выполнены успешные работы по аналитическому доказательству правильности программ.

Крайне важным свойством Алгола стала возможность организации рекурсивных процедур, до этого у промышленных языков отсутствовавшая (у лидеров рынка — Фортрана и Кобола, — рекурсия прямо запрещена), но широко использовавшаяся в Лиспе. Использование рекурсивных вычислений в ряде случаев способно значительно упростить структуру программы и сделать её более понятной за счёт близости к математическому описанию алгоритма решения задачи.

Разумеется, не все особенности Алгола сейчас можно назвать удачными и до конца продуманными. Например, стандарт языка полностью проигнорировал средства ввода-вывода, разработчики решили, что каждая реализация языка может решать этот вопрос самостоятельно, исходя из особенностей целевой машины и потребностей пользователей. С другой стороны, концепции модульного программирования с использованием стандартных библиотек подпрограмм тогда ещё просто не было, и операторы ввода-вывода должны были включаться прямо в язык. Это привело к тому, что каждая реализация организовывала ввод-вывод по-своему, и в этой части Алгол-программы для разных компиляторов оказывались почти гарантированно несовместимыми.

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

Пример кода на языке Алгол-60

Это пример выдачи на печать таблицы в реализации Алгола Elliott 803 ALGOL.

PUNCH(3) посылает текст не на перфоратор, а на удалённый принтер. SAMELINE подавляет возврат каретки. ALIGNED(1,6) указывает формат — 1 знак до и 6 после десятичной точки.

Hello, World

Это пример программы Hello, World для реализации Dartmouth ALGOL 30 см. ссылку.

Это альтернативная реализация для Elliott Algol.

Реализация для IBM OS/360 ALGOL F.

Трюк Йенсена

Рассмотрим следующую программу на Алголе:

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.



Министерство Образования и Науки Российской Федерации

Казанский Государственный Энергетический Университет

Институт экономики и информационных технологий

Реферат на тему:

Выполнил: Канзафаров Айдар

Проверила: Петрова Н. К.

Алгол был разработан комитетом, в который входили европейские и американские учёные.

Первая версия этого языка, Алгол-58, была разработана в ходе напряженного восьмидневного совещания в конце весны 1958 года, преимущественно для решения численных задач. Программисты неоднозначно приняли новый язык, и широкого одобрения он так и не получил.

Джон Бэкус разработал нормальную форму Бэкуса как формальный способ описания алгоритмических языков, с помощью которой была составлена спецификация для языка Алгол-58. После усовершенствований, которые предложил Питер Наур, возникла форма Бэкуса-Наура, которая использовалась для спецификации языка Алгол-60. Кроме Бэкуса и Наура в комитет по языку Алгол вошёл также Уолли Фойрцойг, который позже создал язык Лого. ALGOL - 60 (1960) был прост и широко использовался в Европе.

Язык Алгол был принят фирмой Burroughs Corporation в их моделях, начиная с B5000 — этот язык получил название Elliott ALGOL. На компьютерах LGP-30 использовался язык Dartmouth ALGOL 30.

В 1965 году К. Хоар и Никлаус Вирт модифицировали Алгол-60. Эта версия, получившая название Алгол-W в честь Вирта (Wirth), была опубликована и приобрела большую популярность в университетских городках. Но комитет по Алголу ее отверг и сам занялся модификацией языка. В декабре 1968 года Международным комитетом специалистов по информатике был создан Алгол-68, работая с которым, программисты могли писать ключевые слова на родном языке. Ключевые слова содержатся в таблице трансляции, хранящейся в памяти компьютера и используемой компилятором Алгола-68 для преобразования программ в машинный код.

Сохраняя стилистическую связь со своим предшественником, Алгол-68 отличается более широкими возможностями и общностью конструкций. Его особенностями являются развитая система типов, автоматическое приведение типов, средства описания параллельных процессов и синхронизации, формальное описание языка на основе двухуровневых грамматик. Стремление к формальной строгости и последовательности сделало Алгол-68 слишком громоздким и сложным. Он использовался в ограниченных масштабах только американскими программистами.

Algol — язык программирования высокого уровня. Существуют три последовательно сменявших друг друга версии языка: Алгол-58, Алгол-60, Алгол-68. Язык предназначен для записи алгоритмов, которые строятся в виде последовательности процедур, применяемых для решения поставленной задачи.

Алгол подразделяется на три уровня:

  1. язык описаний, определяющий основные понятия;
  2. язык публикаций, позволяющий писать и обсуждать программы;
  3. язык аппаратного уровня, реализуемый на компьютере.

Одним из недостатков языка было отсутствие процедур ввода и вывода данных, поэтому каждая реализация решала ввод-вывод совершенно по-разному. Широкого признания ни Алгол-58, ни его преемник Алгол-60 не получили, но в них были реализованы множество идей, получивших применение и развитие в других языках. Это — блочная структура, позволяющая делить программы на замкнутые, независимые единицы; рекурсия — способность программ повторно обращаться к себе; формализованное определение синтаксиса — способа размещения слов в языке; вложенные контексты; описания переменных; определения способа передачи параметров. В Алголе было предложено два способа передачи параметров в подпрограмму — по имени и по значению.

Для Алгола было разработано три разных синтаксиса:

  1. для ссылок;
  2. публикаций;
  3. приложений.

Разница в синтаксисах состояла в разрешении использовать национальные ключевые слова и символ десятичной точки (точка или запятая, в зависимости от национальных стандартов).

Этот язык воплотил в себе все передовое, что было наработано теоретиками и практиками к моменту своего появления (конец 50-х годов), однако был встречен промышленностью и военными довольно прохладно и так и не получил должного признания.

Несмотря на это, роль Algol 60 (в дальнейшем - Algol) в истории языков программирования огромна, потому что идеи, заложенные в этом языке, получили дальнейшее развитие и породили целую плеяду так называемых "алголоподобных языков", среди которых в первую очередь можно выделить Algol 68 и Pascal. Эти языки получили значительно большее распространение. Кроме того, они в процессе своего развития в свою очередь стали основой для еще более развитых и мощных языков. Своеобразие роли Algol в информатике заключается еще и в том, что этот язык стал алгоритмическим, в отличие от подавляющего большинства других языков, являющихся языками программирования. Алгоритм можно реализовать практически на любом языке программирования, но особенность Algol заключается в том, что этот язык обладал непревзойденными (на время своего появления) выразительными средствами для строгого и изящного представления алгоритма. В результате, не получив признания в промышленности как язык программирования, Algol стал стандартом де-факто для публикации алгоритмов в научной среде. Так, например, на страницах Communications of the ACM долгие годы ему отдавалось предпочтение перед другими языками.

Algol разрабатывался комитетом, специально созданным для разработки языка высокого уровня общего назначения, пригодного для научных вычислений.

Интересно, что впервые в истории язык был определен формально. Algol, которому было предназначено противопоставить четкость и элегантность конструкций хаотичности и сумбурности FORTRAN, был описан посредством модификации Нормальной Формы Бэкуса (создателя FORTRAN). Нормальная Форма Бэкуса была доработана одним из членов комитета, Питером Науром, и в дальнейшем стала известна как Расширенная Форма Бэкуса-Наура (РБНФ). РБНФ оказалась настолько удобной формой описания синтаксиса формальных языков,что в дальнейшем практически все языки программирования стали описываться в этой нотации (еще один, косвенный вклад Algolа в развитие информатики).

Очень немногие короткие документы оказали глубокое влияние на компьютерное сообщество. Легкость, с которой в последующие годы слова "ALGOL" и "ALGOL-подобный" использовались как незащищенные торговые марки, чтобы придать часть своей славы незрелым проектам, порой имеющим весьма слабое отношение к предмету, - комплимент его основам.

Одной из слабостей языка был переработанный и не слишком систематический синтаксис.

Как и в большинстве других языков программирования, программа на Algol состоит из главной программы и набора подпрограмм. При их построении используются блоки - наборы описаний и последовательности операторов, ограниченные "скобками" begin и end. Структуры данных, созданные внутри блока, локальны в его пределах и при выходе из блока уничтожаются. Таким образом, можно управлять временем жизни данных и областью видимости их идентификаторов. Идентификатором называется любая конечная последовательность букв и цифр, начинающаяся с буквы.

Программа записывается в виде конечной последовательности основных символов (букв, цифр, знаков препинания, знаков операций и некоторых служебных слов в английском написании). Запись программы производится в одну строчку; подстрочные индексы, всякого рода надстрочные показатели не допускаются. Между любыми соседними символами можно оставить пробел.

Определение подпрограммы состоит из заголовка, в котором указываются имя подпрограммы и перечисляются имена и типы ее формальных параметров, и тела, которое представляет собой просто блок. Динамическое выделение памяти для переменных в блоке позволяет эффективно использовать рекурсию.

К особенностям языка можно отнести механизмы передачи параметров подпрограммам. Их два: хорошо известная передача по значению и передача по имени. В большинстве случаев она эквивалентна передаче по ссылке, однако между этими механизмами имеются довольно различия.

Очень важно, что блоки могут образовывать вложенные структуры, т.е. внутри блока может быть вложен блок, в него - другой блок и т.д. Важной особенностью языка является также то, что блок является разновидностью оператора - составным оператором и может быть употреблен везде, где допустим обычный оператор. В сочетании с развитым набором структурных управляющих конструкций (условный оператор, цикл со счетчиком, циклы с пред- и постусловием) это позволяет строить хорошо структурированные программы, обходясь без оператора go to.

К сожалению, типы и структуры данных в языке гораздо менее разнообразны, чем управляющие конструкции. Во многом это определило дальнейшую судьбу языка, применявшегося в первую очередь для научных вычислений. Из типов имеются логический, целочисленный и вещественный, а из структур данных - лишь однородный массив. Правда, массивы являлись динамическими, что позволяло эффективно управлять распределением памяти.

Способ изображения десятичного числа в Алголе отличается от традиционного способа изображения употреблением точки вместо запятой. Арифметическое выражение строится из чисел и простых переменных с использованием знаков арифметических операций, круглых скобок и стандартных функций.

Для ввода данных и вывода результатов используются операторы ввода и вывода:

Основной символ := называется знаком присваивания. Допускается присваивание значения какого-нибудь арифметического выражения сразу нескольким простым переменным.

Оператор может быть как простым, так и составным. Структура составного оператора: Begin P1; P2; …; Pk end

Каждый оператор может быть помечен меткой. В качестве меток употребляются идентификаторы. Метка располагается перед оператором и отделяется от него двоеточием.

В Алголе помимо простых переменных используются переменные с индексами.

Для многократного повторения каких-либо действий применяется оператор цикла. Структура оператора цикла: for p:=A step B until C do S. Буквой р обозначена некоторая простая переменная (параметр цикла), буквами А, В, С – арифметические выражения, буквой S – оператор.

В процессе использования Algol-60 выявлялись недочеты, допущенные при проектировании языка. В 1962 году под эгидой Международной федерации по обработке информации (International Federation for Information Processing, IFIP) был создан новый комитет, задачей которого являлись исправление и совершенствование Algol. В составе нового комитета оказалось немало ученых с мировым именем, в частности, Эдсгер Дейкстра, Никлаус Вирт и Тони Хоар.Одной из очевидных слабостей предшествующей версии был признан слабо развитый ввод/вывод. Пренебрежение к этому моменту объяснялось академической направленностью языка: для ученых главный интерес представляет сам алгоритм, а в каком виде будут представлены выходные данные - дело второстепенное. Для промышленных применений такой подход не годился, поэтому одной из приоритетных задач была объявлена разработка механизма ввода/вывода.

Вторым важным моментом была сильная позиция FORTRAN. Язык, проигрывающий FORTRAN по эффективности на этапе выполнения программы, не мог претендовать на успех.

Главенствующую роль в разработке играл А. Ван Вейнгаарден, директор Математического центра Амстердама. Будучи по образованию и роду деятельности чистым математиком, порой он, пользуясь своим авторитетом, принимал решения, с которыми не соглашались программисты-практики, что отложило свой отпечаток на получившийся в результате язык.

К сожалению, авторитарный стиль руководства ван Вейнгаардена нередко приводил к размолвкам в коллективе.

Хотя, безусловно, язык Algol 68 содержал немало рациональных зерен (например, механизмы расширения языка, а также средства для параллельных вычислений), он получил ограниченное применение. Причиной неудач являлась не столько сложность конструкций, сколько провокация разработчика к свободному неструктурному программированию с активным использованием собственных абстрактных категорий и обозначений. От этого код программы становился неудобочитаемым, что затрудняло разработки группы и сопровождения. Кроме того, обилие возможностей языка делало затруднительным полноценную реализацию компилятора. Европе и, в частности, в России были коллективы энтузиастов языка, активно использовавших его в работе, и язык на основе Algolа 68 стал некогда базовым для программирования отечественного компьютера "Эльбрус", но мировой известности язык так никогда и не получил.

Заключение

Алго́л (англ. algol от англ. algorithmic — алгоритмический и англ. language — язык) — название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ. Разработан в 1958—1960 гг. (Алгол-58, Алгол-60); усовершенствован в 1964—1968 гг. (Алгол 68). Алгол относится к языкам высокого уровня и позволяет легко переводить алгебраические формулы в программные команды. Алгол был популярен в Европе, в том числе в СССР, однако он оказал заметное влияние на все разработанные позднее языки программирования — в частности, на язык Pascal.

Обычно под понятием Алгол подразумевается Алгол-60, в то время как Алгол 68 рассматривается как самостоятельный язык. Даже когда язык Алгол почти перестал использоваться для программирования, он ещё оставался официальным языком для публикации алгоритмов.

Алгол предназначался для записи алгоритмов, которые строятся в виде последовательности процедур, применяемых для решения поставленных задач. Специалисты-практики восприняли этот язык далеко неоднозначно, но, тем не менее, его влияние на развитие других языков и теорию программирования оказалось весьма значительным.

Многие языки, возникшие позднее базировались на ALGOL, и его вклад в их развитие связан с важными идеями в области программирования (блочной структурой, рекурсией, формализованным определением синтаксиса). Эти и другие фундаментальные идеи достались в наследство разработчикам других языков, хотя сам язык ALGOL не получил широкого распространения.

Диплом на заказ

Узнать стоимость написания работы -->

Название языка Algol (ALGOrithmic Language), первая версия которого появилась в 1958 году, подчеркивает то обстоятельство, что он предназначен для записи алгоритмов. Благодаря четкой логической структуре Algol стал стандартным средством записи алгоритмов в научной и технической литературе. Однако он так и не смог полноценно конкурировать с языком Fortran, а с COBOL его и вовсе было трудно сравнивать в силу отсутствия некоторых важных возможностей у Algol – той же обработки текстов например или форматирования ввода/вывода.

Предыстория

В середине 50-х годов роль программирования в машинных кодах стала уменьшаться. Появились языки более высокого уровня – Fortran, Algol, COBOL и так далее.

Первым из них и одним из наиболее распространенных был Fortran (FORmula TRANslator – переводчик формул), разработанный группой программистов фирмы IBM в 1954 году (первая версия). Этот язык был ориентирован на научно-технические расчеты математического характера.

image


Грейс Хоппер — американская учёная и контр-адмирал флота США. Программист гарвардского компьютера Марк I.

В 1954 году группа под руководством Грейс Хоппер разработала систему, включающую язык программирования и компилятор, которая в дальнейшем получила название Math-Matic. После удачного завершения работ по созданию Math-Matic Хоппер и ее группа принялись за разработку нового языка и компилятора, который позволил бы пользователями программировать на языке, близком к обычному английскому. В 1958 году появился компилятор Flow-Matic. Компилятор Flow-Matic был первым языком для обработки коммерческих данных.

Разработки в этом направлении привели к созданию языка COBOL (Common Business Oriented Language). Он был создан в 1960 году. В этом языке были слабее развиты математические средства, но зато хорошо развиты средства обработки текстов, организация вывода данных в форме требуемого документа. Он задумывался как основной язык для массовой обработки данных в сферах управления и бизнеса.

Лучшее – враг хорошего

В 1958 году в Цюрихе, на базе Федерального технического университета был создан специальный комитет. 27 мая прошло первое заседание, на котором собрались восемь наиболее уважаемых авторитетов в области компьютеров: четверо из Европы и четверо из США. На встрече присутствовали создатель Fortran Джон Бэкус и Джозеф Уэгстен, который в последующем стал председателем кратковременного комитета по COBOL.

image


Федеральный технический университет. г. Цюрих

Окончательное решение проблемы, предложенное Уэгстеном, обеспечило новому языку одно из его наиболее замечательных свойств. Он предложил трехуровневую модель языка: уровень описаний, публикаций и реализации.

Мелкие вопросы, типа выбора между точкой и запятой или используемого алфавита, были вынесены на второй-третий уровень, что позволило относительно быстро решить принципиальные вопросы. На уровне публикаций, согласованном позже, допускалось использование национальных ключевых слов и стандартов представления данных (в том числе и десятичной точки), уровень реализации определял язык совершенно строго — согласно ему должны были строиться трансляторы.

Дальнейшие обсуждения пошли исключительно на первом уровне, что позволило двигаться дальше и не застревать на второстепенных деталях.

Полуфабрикат

Язык, созданный на конференции в Цюрихе, многое унаследовал от Fortran, но в Algol основные понятия были собраны в более логичную, можно даже сказать, изящную структуру. Но из-за недостатка времени и необходимости компромиссов было допущено немало оплошностей. Одна из них заключалась в отсутствии процедур ввода и вывода данных. Участники совещания намеренно не касались этой области, где многое зависит от типа компьютера, полагая, что процедуры ввода и вывода должен написать разработчик компилятора языка.

image

Одним из таких оптимистов был Джон Бэкус. В феврале 1959 года он убедил влиятельную организацию SHARE (куда входили пользователи компьютеров фирмы IBM) сделать ставку на новый язык программирования. После этого организация настоятельно порекомендовала IBM реализовать Algol.

На словах компания пошла навстречу своим клиентам, а на деле работа в этом направлении почти не велась. В то время IBM была мировым лидером на рынке компьютеров и активно внедряла Fortran, что вполне ожидаемо. У членов SHARE, на самом деле, тоже не было ясной позиции. Когда их энтузиазм угас, они как ни в чем не бывало продолжали поддерживать Fortran.

А Бэкус, несмотря на неудачу, продолжал активно продвигать Algol.

Между тем, успешным Algol-58 так и не стал: требовалась серьезная доработка.

Algol-60


Синтаксические диаграммы и дерево разбора

После восьми дней трудных переговоров участники конференции покинули Париж в приподнятом настроении, считая, что согласие достигнуто и даже самые ярые критики Алгола должны отныне умолкнуть.

В Америке Algol-60 встретили холодно. Более того, оказалось, что для него очень сложно написать компилятор: даже самые продвинутые компьютеры того времени не могли воспринимать набор из 116 литер, которые встречались в языке описаний.

В Европе рассуждали по-другому: новый язык давал возможность обмениваться интересными и сложными идеями, невзирая на границы и языковые барьеры. Что еще важнее, он позволил европейской компьютерной индустрии обрести независимость от американских технологий.

Algol 68

В 1962 году под эгидой Международной федерации по обработке информации (International Federation for Information Processing, IFIP) был создан новый комитет, задачей которого являлись дальнейшее совершенствование Algol. В составе нового комитета оказалось немало ученых с мировым именем, в частности, Эдсгер Дейкстра, Никлаус Вирт и Тони Хоар.

Одним из недостатков предшествующей версии все-таки было признано отсутствие ввода/вывода. Пренебрежение к этому моменту объяснялось академической направленностью языка: для ученых главный интерес представляет сам алгоритм, а в каком виде будут представлены выходные данные — дело второстепенное. Для промышленных нужд такой подход не годился.

Вторым серьезным недостатком было низкое быстродействие. Поэтому важной задачей стало повышение эффективности работы на этапе выполнения программы.

Руководителем группы разработки языка по каким-то причинам был А. Ван Вейнгаарден, директор Математического центра Амстердама. Будучи чистым математиком, он, пользуясь своим авторитетом, принимал решения, с которыми не соглашались программисты-практики, что негативно повлияло на получившийся в результате язык.

К сожалению, авторитарный стиль руководства ван Вейнгаардена нередко приводил к размолвкам в коллективе и даже стал причиной выхода Хоара и Вирта из команды. О том, как тяжела была эта потеря для команды, можно судить по такому факту: предложения Вирта, не принятые комитетом, легли в основу языка Pascal.

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

image

Особенности языка

Как и в большинстве других языков программирования, программа на Algol состоит из главной программы и набора подпрограмм.

Структуры данных, созданные внутри блока, локальны в его пределах и при выходе из блока уничтожаются. Таким образом можно управлять временем жизни данных и областью видимости их идентификаторов. Динамическое выделение памяти для переменных в блоке позволяет эффективно использовать рекурсию.

Блоки могут образовывать вложенные структуры, то есть внутрь блока может быть вложен блок, в него — другой блок и так далее. Важной особенностью языка является также то, что блок является разновидностью оператора — составным оператором и может быть употреблен везде, где допустим обычный оператор.

В Algol реализованы логический, целочисленный и вещественный типы, а из структур данных — лишь однородный массив. Правда, массивы являются динамическими, что позволяло эффективно управлять распределением памяти. К сожалению, типы и структуры данных в языке не слишком разнообразны. Пожалуй, это и определило дальнейшую судьбу языка, применявшегося в первую очередь для научных вычислений.

К особенностям языка можно также отнести механизмы передачи параметров подпрограммам. Их два: хорошо известная передача по значению и довольно экзотическая передача по имени.
Переданное в процедуру выражение вычисляется каждый раз – как если бы вместо формальных параметров были подставлены их значения, вычисленные в контексте вызывающей программы. По сути это нечто среднее между макроподстановкой и вызовом подпрограммы.

При выполнении процедуры p на каждом шаге цикла вместо a подставляется i, а вместо b подставляется s[i], и эта процедура просто обнуляет массив s. Проблем с таким способом передачи параметров очень много, поэтому передача параметров по имени так и осталась прерогативой Algol. Но этот способ передачи параметров оказал влияние на дальнейшее развитие языков программирования.

Роль в истории

Так же, как министерство обороны США в свое время активно поддержало язык COBOL, независимый исследовательский совет Германии и другие правительственные организации западноевропейских стран поддержали Algol.

Благодаря этому язык распространился от Великобритании до Советского Союза. Большинство компиляторов оказались удачными, и вскоре Algol был признан международным языком европейских программистов.

Algol не стал всеобщим международным стандартом, как надеялись некоторые, поскольку такой его статус всерьез задел бы американские интересы. Он набрал небольшую популярность в США, но так навсегда и остался в тени Fortran.

Тем не менее, многие языки, возникшие позднее, базировались (по крайней мере, частично) на Algol, и его вклад в их развитие связан с несколькими основными идеями.

Одна из наиболее важных — блочная структура, позволяющая делить программы на замкнутые единицы, разрабатываемые независимо. Другая идея — рекурсия. Третья идея — БНФ, формализованное определение синтаксиса.

Эти и другие фундаментальные идеи достались в наследство разработчикам других языков.

Вас беспокоит автор статьи Айжамал из Кыргызстана, моя статья опубликована, и в этом ваша заслуга. Огромная благодарность Вам за оказанные услуги.

Спасибо Вам за сотрудничество! Я ВКР защитила на 5 (пять). Огромное спасибо Вам и Вашей команде Курсовой проект.

Добрый день,хочу выразить слова благодарности Вашей и организации и тайному исполнителю моей работы.Я сегодня защитилась на 4. Отзыв на сайт обязательно прикреплю,друзьям и знакомым буду Вас рекомендовать. Успехов Вам.

Курсовая на "5"! Спасибо огромное.
После новогодних праздников буду снова Вам писать, заказывать дипломную работу.

Светлана, добрый день! Хочу сказать Вам и Вашим сотрудникам огромное спасибо за курсовую работу. оценили на \5\!))
Буду еще к Вам обращаться!!
СПАСИБО.




Современные вычислительные машины представляют одно из самых значительных достижений человеческой мысли, влияние которого на развитие научно-технического прогресса трудно переоценить. Области применения ЭВМ непрерывно расширяются. Компьютеры стали применяться повсюду, они начинают затрагивать жизнь каждого человека.
На начальном этапе использования современного компьютера мы имеем дело не с самим компьютером, а с совокупностью правил, называемых языками программирования, на этих языках записываются действия, которые должен выполнять компьютер. Важное значение языка программирования подчёркивается тем фактом, что сама вычислительная машина может рассматриваться как аппаратный интерпретатор какого-нибудь конкретного языка, который называется машинным языком. Для обеспечения эффективной работы машины разработаны машинные языки, использование которых представляет известные трудности для человека.
Алго́л (англ. algol от англ. algorithmic — алгоритмический и англ. language — язык) — название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ. Разработан в 1958—1960 гг. (Алгол-58, Алгол-60); усовершенствован в 1964—1968 гг. (Алгол 68). Алгол относится к языкам высокого уровня и позволяет легко переводить алгебраические формулы в программные команды. Алгол был популярен в Европе, в том числе в СССР, однако он оказал заметное влияние на все разработанные позднее языки программирования — в частности, на язык Pascal.
Обычно под понятием Алгол подразумевается Алгол-60, в то время как Алгол 68 рассматривается как самостоятельный язык. Даже когда язык Алгол почти перестал использоваться для программирования, он ещё оставался официальным языком для публикации алгоритмов.

Введение 2
1. Историческая справка 3
2. Основы Алгол 5
3. Алгол 60 7
4. Алгол 68 12
Заключение 14
Список использованной литературы 15

Алгол предназначался для записи алгоритмов, которые строятся в виде последовательности процедур, применяемых для решения поставленных задач. Специалисты-практики восприняли этот язык далеко неоднозначно, но, тем не менее, его влияние на развитие других языков и теорию программирования оказалось весьма значительным.
Многие языки, возникшие позднее базировались на ALGOL, и его вклад в их развитие связан с важными идеями в области программирования (блочной структурой, рекурсией, формализованным определением синтаксиса). Эти и другие фундаментальные идеи достались в наследство разработчикам других языков, хотя сам язык ALGOL не получил широкого распространения.

Читайте также: