Реферат на тему: ALGOL. Завантажити безкоштовно
Зміст:
Сучасні обчислювальні машини є одним із найбільш значних досягнень людської думки, вплив якого на розвиток науково-технічного прогресу важко переоцінити. Області застосування ЕОМ безперервно розширюються. Комп'ютери почали застосовувати всюди, вони починають торкатися життя кожної людини.
На початковому етапі використання сучасного комп'ютера ми маємо справу не з самим комп'ютером, а з сукупністю правил, званих мовами програмування, цими мовами записуються дії, які повинен виконувати комп'ютер. Важливе значення мови програмування підкреслюється тим фактом, що сама обчислювальна машина може розглядатися як апаратний інтерпретатор якоїсь конкретної мови, яка називається машинною мовою. Для забезпечення ефективної роботи машини розроблено машинні мови, використання яких становить відомі труднощі для людини.
Алгол (англ. algol від англ. algorithmic - алгоритмічний і англ. language - мова) - назва низки мов програмування, що застосовуються при складанні програм для вирішення науково-технічних завдань на ЕОМ. Розроблено у 1958—1960 pp. (Алгол-58, Алгол-60); удосконалено у 1964—1968 pp. (Алгол 68). Алгол відноситься до мов високого рівня і дозволяє легко переводити формули алгебри в програмні команди. Алгол був популярний у Європі, в тому числі в СРСР, однак він помітно вплинув на всі розроблені пізніше мови програмування — зокрема, на мову Pascal.
1. Історична довідка
Алгол був розроблений комітетом, до якого входили європейські та американські вчені.
Перша версія цієї мови, Алгол-58, була розроблена під час напруженої восьмиденної наради наприкінці весни 1958 року,переважно на вирішення чисельних завдань. Програмісти неоднозначно прийняли нову мову, і широкого схвалення вона так і не отримала.
Джон Бекус розробив нормальну форму Бекуса як формальний спосіб опису алгоритмічних мов, за допомогою якої було складено специфікацію для мови Алгол-58. Після вдосконалень, які запропонував Пітер Наур, з'явилася форма Бекуса-Наура, яка використовувалася для специфікації мови Алгол-60. Крім Бекуса та Наура до комітету з мови Алгол увійшов також Уоллі Фойрцойг, який пізніше створив мову Лого. ALGOL-60 (1960) був простий і широко використовувався в Європі.
Мова Алгол була прийнята фірмою Burroughs Corporation в їх моделях, починаючи з B5000 - ця мова отримала назву Elliott ALGOL. На комп'ютерах LGP-30 використовувалася мова Dartmouth ALGOL 30.
Зберігаючи стилістичну зв'язок зі своїм попередником, Алгол-68 відрізняється більш широкими можливостями та спільністю конструкцій. Його особливостями є розвинена система типів, автоматичне приведення типів, засоби опису паралельних процесів та синхронізації, формальний опис мови на основі дворівневих граматик. Прагнення до формальної суворості та послідовності зробило Алгол-68 надто громіздким та складним. Він використовувався в обмежених масштабах лише американськими програмістами.
2. Основи Алгол
Algol – мова програмування високого рівня. Існують три версії мови, що послідовно змінювали одна одну: Алгол-58, Алгол-60, Алгол-68. Мова призначена для запису алгоритмів, які будуються у вигляді послідовності процедур, що застосовуються для вирішення поставленого завдання.
Алгол поділяється на три рівні:
- мова описів, що визначає основні поняття;
- мова публікацій, що дозволяєписати та обговорювати програми;
- мова апаратного рівня, що реалізується на комп'ютері.
Одним із недоліків мови було відсутність процедур введення та виведення даних, тому кожна реалізація вирішувала введення-виведення зовсім по-різному. Широкого визнання ні Алгол-58, ні його наступник Алгол-60 не отримали, але в них було реалізовано безліч ідей, які отримали застосування та розвиток в інших мовах. Це блокова структура, що дозволяє ділити програми на замкнуті, незалежні одиниці; рекурсія – здатність програм повторно звертатися до себе; формалізоване визначення синтаксису - способу розміщення слів у мові; вкладені контексти; описи змінних; визначення способу передачі параметрів В Алголі було запропоновано два способи передачі параметрів у підпрограму - на ім'я та за значенням.
Для Алгола було розроблено три різні синтаксиси:
Різниця в синтаксисах полягала в дозволі використовувати національні ключові слова та символ десяткової точки (крапка або кома, залежно від національних стандартів).
Приклад 1 (програми Hello, Word! для реалізації Dartmouth ALGOL 30):
FILE F (KIND = REMOTE);
EBCDIC ARRAY E [0:11];
REPLACE E BY "HELLO WORLD!";
Приклад 2 (Альтернативна реалізація для Elliott Algol):