Формальное определение языка программирования: синтаксис, семантика.

Языки для записи алгоритмов. Понятие языка программирования.

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

Набор операций, которые может выполнять исполнитель – это множество операторов, которые входят в состав алгоритмического языка.

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

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

При подборе алгоритмического языка, подходящего для записи алгоритма решения некоторого конкретного класса задач необходимо знать:

1) Состав этого алгоритмического языка, т.е формальное описание синтаксиса и семантики;

2) Перечень тех операций, описание тех данных, с которыми должен будет иметь дело исполнитель, решающий задачи из этого класса задач.

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

Различают языка низкого уровня (машинно-ориентированные языки) и языки высокого уровня (алгоритмические языки)

История развития языков программирования.

1. Начало. Первые программы заключались в установке ключевых переключателей на передней панели вычисл-ого устр-ва. Одну из первых попыток создать полноценный ЯП предпринял ученый Конрад Цузе, который в период с 1943 по 1945 разработал язык Планкалкюль, но из-за военных действий он не получил реализации;

2. Машинный язык. Ассемблер. Продолжалась история с разработки машинного языка (язык логических нулей и единиц). В конце 40-х гг был создан язык Ассемблер (ЯП низкого уровня). Вместо двоичных цифр писались короткие слова или аббревиатура;

3. ЯП высокого уровня. В 1954 году была начата разработка языка Фортран, были реализованы индексная адресация и операции с плавающей точкой. Эти языки имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые матем. символы. Во 2-ой половине 50-ч появился язык ALGOL 58, в него были добавлены новые концепции, формализованы типы данных, разрешено использование идентификаторов любой длины (в Фортране 6 символов). В дальнейшем появились ALGOL 60 (1960), COBOL (1959) и т.д.;

4. Структурное программирование. К концу 1960-х гг из-за роста сложности программ и развитии программных средств возникла необх. увеличить производит-ость труда программистов. Основоположником считается Эдсгер Дейкстра (1968). Общий код становился меньше с помощью процедур и функций, создались модульные программы. Структ-ое програм-ие предполагает точно обозначенные управляющие структуры, программные блоки. Примеры: Паскаль (1970), Си (1972);

5. ООП. Основы ООП были созданы в 70-х гг. Были созданы классы – это структура данных, содержащая в себе не только переменные, но и ф-ии, кот-ые работают с этими переменными. ООП сочетает лучшие принципы структ-го програм-ия с новыми концепциями инкапсуляции, полиморфизма подтипов и наследования. Первым является Симула-67. Затем появляются Smalltalk, Object Pascal, C++, Java и др. ООП позволяет оптимально организ-ть программы, разбивая проблему на составные части, и работая с каждой по отдельности.

Формальное определение языка программирования: синтаксис, семантика.

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

Алфавит— набор основных символов, которые могут быть использованы при записи алгоритма.

Синтаксис— это набор правил, устанавливающих какие комбинации символов являются тексами на этом языке, такой набор правил позволяет для любого текста получить ответ на вопрос «Написан ли этот текст правильно?»

Может задаваться с помощью Нормальных форм Бэкуса или Синтаксических диаграмм (5,6 вопросы)

Семантика— определяет смысловое значение фраз языка.

Основные подходы в определении семантики языка программирования:

1. Операционная семантика. Об операционном подходе к определению семантики языка программирования говорят, если смысл программы задаётся по средствам описания процессов её исполнения.

2. Трансляционная семантика. Семантика языка программирования задаётся по средствам определения правил перевода, каждой синтаксически верной программы в предложение на языке, семантика которого уже известна.

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

4. Определение через расширение. Осуществляется задание определённых примитивных операций и определяется смысл языка в терминах этих операций.

5. Математическая семантика. Определяет математические объекты соответствующей программы. Издаются правила перевода от программ к математическим объектам.

Например: устанавливает какие последовательности действий описаны теми или иными фразами языка.

ОАиП. Лекция 2 \


Похожие статьи.

Понравилась статья? Поделиться с друзьями: