Алгоритмические языки: эволюция и классификация — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Алгоритмические языки: эволюция и классификация

2019-07-13 362
Алгоритмические языки: эволюция и классификация 0.00 из 5.00 0 оценок
Заказать работу

Алгоритмический язык (Algoritmic language) - это формальный язык программирования, предназначенный для записи алгоритмов, подлежащих выполнению на ЭВМ.

Таблица 2.2.

Поколения языков программирования

Поколения Языки программирования Характеристика
1 Машинные Ориентированы на использование в конкретной ВМ, сложны в освоении, требуют хорошего знания архитектуры машины
2 Ассемблеры, макроассемблеры Более удобны для использования, машинно-зависимы
3 Языки высокого уровня Мобильные, проще в освоении, но ориентированы на профессионалов
4 Непроцедурные, объектно-ориентированные, параллельные, языки запросов Ориентированы на непрофессионального пользователя и на ВМ с параллельной архитектурой
5 Языки искусственного интеллекта, экспертных систем и баз знаний, естественные языки Ориентированы на повышение интеллектуального уровня ВМ

 

Таблица 2.3

Классификация языков программирования (ЯП)

Фактор Характеристика Группы Примеры ЯП

Уровень

Степень близости к архитектуре BM

Низкий Автокод, ассемблер
Высокий Algol, Fortran, Pascal, ADA, Basic, C
Сверхвысокий Сетл

Алгоритмичность (процедурность)

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

Процедурные Ассемблер, Fortran, Pascal, Basic, ADA
Непроцедурные Prolog, Langin

Специализация

Потенциальная или реальная область применения

Общего назначения (универсальные) Algol, PL/1, Basic, Pascal, Simula
Специализированные Fortran (инженерные вычисления), Cobol (коммерческие задачи), Refal, Lisp (символьная обработка), Modula, ADA (программирование в реальном времени)

Машинно-ориентированный язык (МОЯ, Computer-oriented language) - это язык программирования, позволяющий при составлении программ учитывать особенности системы команд и представления информации в объектной вычислительной машине.

Языки высокого уровня - это такие ЯП, которые не учитывают архитектуру ВМ и допускают описание задачи в наглядном, легко воспринимаемом виде.

Язык Сетл, Дж. Шварцем.

Проблемно-ориентированный язык (Problem-oriented languale) - это специализированный язык программирования задач, принадлежащих некоторому четко выделяемому классу.

Характеристики некоторых языков программирования

Алгол               Ада                   АПЛ                 APS            Бейсик                  BETA

Джовиал          Java                  КОБОЛ            КОМАЛ    Корал                           Langin

Limbo               Lingo                     ЛИСП              ЛОГО              Модула-2         Mesa

Оберон                 Облик                   Паскаль           ПЛ/1          ПЕАРЛ            ПЕРЛ

ПИЛОТ                ПРОЛОГ              СЕТЛ               Си (С)              СИМУЛА            СНОБОЛ

Cedar               CIP                        SAIL              ScriptX      SmallTalk           Telescript

ФОРТ               Фортран               ЭЛАН                      Эйфель      ЯСК

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

Алфавит - это фиксированный для данного языка набор основных символов, т.е. «букв алфавита», из которых состоит любой текст на этом языке.

Каждый символ алфавита имеет некоторое графическое изображение и называется литерой (character).

Лексика – это совокупность правил образования минимальной единицы языка, имеющую значение и называемую лексемой (lexical unit, token).

Лексемы, изображающие числа, называются нумералами (numeral). Лексемы, изображающие тексты, называются литералами (literal). Лексемы, обозначающие различные объекты программы, определяемые в ней самой, называются идентификаторами (identifier).

Синтаксис - это система правил, определяющих допустимые конструкции из букв алфавита.

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

Понятие - это логически оформленная о предмете идея чего-нибудь.

Способы описания синтаксиса

Металингвистические формулы Бэкуса-Наура (язык БНФ) и синтаксические диаграммы.

Таблица 2.4

Метасимволы

Символ Значение
::= по определению есть
| либо (или)
< > содержимое (внутри скобок заключается понятие)

Примеры описания некоторых понятий АЯ с помощью языка БНФ.

1. <идентификатор>::= <буква> | <имя> <буква> | <имя> <цифра>

2. <логическая константа>::= <.TRUE.> | <.FALSE.>           (язык Фортран)

3.   <выражение>::= <арифметическое> | <символьное> | <логическое>

<арифметическое>::= <числ.перем.> | <числ.константа> |

<числ.перем.><арифм.операция><числ.константа>

<числ.перем.>::= <идентификатор> | <имя встроенной арифм. функции>

<арифм.операция>::= <+> | <-> | </> | <*>

<имя встроенной арифм. функции>::= <sin> | <cos> | <sqrt>

Синтаксическая диаграмма графически изображает структуру конструкций языка (его предложений).

Примеры синтаксических диаграмм приведены на рис. 2.5.

 


                                                                                      n – количество символов,

                                                                                            распознаваемое

                                                                                            транслятором языка

                                                             n                        программирования

а) идентификатор

 


б) логическая константа (языка Фортран)

 


в) выражение

Рис. 2.5. Описание понятий АЯ с помощью синтаксических диаграмм

Основные понятия алгоязыка

Оператор (statement, operator) - это законченная фраза языка, разделяющая некоторый вполне законченный этап обработки.

Метка - это имя, присваиваемое оператору программы и используемое в ней для обращения к этому оператору.

Идентификатор - это любая конечная последовательность букв и цифр, начинающаяся с буквы.

Ключевое слово (keyword) – зарезервированное слово языка программирования, по которому распознается синтаксическая конструкция.

Описание (declaration, specification) определяет свойства (атрибуты) объектов, действия над которыми определяют выполняемые операторы.

Переменная (variable) - это программный объект, способный принимать значение.

Константа (constant) - это программный объект, который не меняет своего значения в течение всего времени выполнения программы.

Выражение (expression)-это языковая конструкция для вычисления значения, состоящая из операндов и операций.

Операнд (operand) - это часть машинной команды, определяющая объект в выражении, над которым выполняется операция.

Команда (instruction, command) - это значимое выражение, определяющее одну операцию и ее операнды; описание операции, которую должна выполнить ВМ.

Ф ункция (function) - это объект программы, задающий некоторую вычислительную процедуру, выполнение которой и дает значение функции.

Программа (program)- это последовательность операторов языка программирования, описывающая алгоритм решения задачи.

Подпрограмма - это программа, являющаяся частью другой программы и удовлетворяющая требованиям, которые ЯП предъявляет к структуре программы.

Процедура (procedure) представляет собой некоторый вполне законченный этап решения задачи.

Класс (class)- это множество объектов, имеющих общую структуру и поведение, в частности, это абстрактный (производный) тип данных, вводимый пользователем.

Системы программирования

Таблица 2.5

Классификация систем программирования

Признак классификации Типы

Набор исходных языков

Одноязыковые
Многоязыковые

Возможности расширения

Замкнутые
Открытые

Трансляция

Компиляция
Интерпретация

Рисунок 2.6.

Библиотеки подпрограмм

 

 


Рис. 2.7. Компиляция статической и динамической библиотек


Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.023 с.