- •Лекция № 11 (2 часа)
- •1.3. Основные понятия языков программирования
- •1.3.1. Объекты данных
- •1.3.3. Выражения и операторы
- •1.3.4. Блоки и подпрограммы
- •1.3.5. Абстрактные типы данных
- •1.3.6. Дополнительные возможности
- •2. Средства описания данных
- •2.1. Типизация языка
- •2.1.1. Определение типа
- •2.1.2. Способы контроля типов
- •2.1.3. Виды и уровни типизации
- •2.1.4. Эквивалентность типов
- •2.1.5. Поколения языков
- •2.2. Простые типы данных
- •2.2.1. Числовые типы
- •2.2.2. Перечислимые типы
- •2.2.3. Контроль типов
- •2.3. Структурные типы данных
- •2.4. Динамические структуры данных
- •3. Средства описания действий
- •3.1. Определение семантики средств описания действий
- •3.2. Выражения и операторы действия
- •3.3. Операторы управления
- •3.3.1. Оператор последовательного выполнения
- •3.3.2. Условные операторы
- •3.3.3. Операторы цикла
1.3. Основные понятия языков программирования
Язык программирования -- множество текстов (последовательностей символов) некотором алфавита, удовлетворяющих правилам синтаксиса и задающих порядок вычислений в соответствии с правилами семантики.
Алфавит языка программирования -- набор символов, включающий буквы, цифры и специальные знаки (знаки 'пунктуации, операций и т.д.)
Синтаксис языка программирования -- совокупность правил записи, которым должна удовлетворять любая программа, включает также правила ввода текстов программ в ЭВМ.
Семантика языка программирования -- правила, определяющие, какие операции и в какой последовательности должна выполнить ЭВМ, работая по программе.
Цель последующего изложения -- дать представление об основных принципах и идеях, лежащих в основе семантики современных языков программирования. Изложение не будет опираться ни на какой конкретный язык. Мы не будем касаться синтаксиса и алфавита языков, так как они тесно связаны с конкретными языками программирования.
Семантика языка программирования задается определением средств описания данных и действий (алгоритмов). Такая структура отображает взаимосвязи реальном мира, где основу всем составляет взаимодействие пассивных и активных элементов: информации и способов ее обработки, памяти ЭВМ и центральном процессора и т.д. Более подробно семантика представлена на рис. 1. 2.
┌────────────────────────────────────────┐
│ ┌────────────────────┐ │
│ Средства <- │ Базовые средства │ │
│ описания │ описания данных │ │
│ данных ┌───│──────────────────┐ │ │
│ │ │ Абстрактные типы │ │ │
Язык <-│ │ │ данных │ │ │
программирования │ │ │ Дополнительные │ │ │
│ │ │ возможности │ │ │
│ │ └──────────────────┼─┘ │
│ Средства │ Базовые средства │ │
│ описания <-│ описания действий│ │
│ действий └──────────────────────┘ │
└────────────────────────────────────────┘
┌───────────────────────────────────────────────┐
│ ┌─────────────────────────────────┐│
│ │ ┌───────────────┐ ││
Базовые │ │ Перечислимые<-│ Определяемые │ ││
средства │ Простые │ │ пользователем│ ││
описания │ типы <-│ │ Логический │ ││
данных │ данных │ │ Символьные │ ││
│ │ └───────────────┘ ││
│ │ ┌────────────────────┐││
│ │ Числовые<-│ Целые ┌─────────┐│││
│ │ │ Дей- │ Плаваю- ││││
│ │ │ стви- │ щие ││││
│ │ │ тель- │ Фиксиро-││││
│ │ │ ные │ ванные ││││
│ │ │ └─────────┘│││
│ │ └────────────────────┘││
│ └─────────────────────────────────┘│
│ ┌─────────────────────────┐│
│ Структурные │ Массивы ││
│ типы <-│ Записи ││
│ данных │ Объединения ││
│ └─────────────────────────┘│
└───────────────────────────────────────────────┘
┌───────────────────────────────────────────────┐
│ Выражения ┌────────────────────┐│
│ │ Оператор ││
│ Операторы действия │ последователь- ││
│ │ ном выполнения ││
Базовые │ Операторы управления <-│ Условные операторы ││
средства <-│ │ Операторы цикла ││
описания │ Блоки └────────────────────┘│
действий │ ┌────────────────────┐│
│ Подпрограммы <-│ Процедуры ││
│ │ Функции ││
│ Пакеты └────────────────────┘│
└───────────────────────────────────────────────┘
┌──────────────────────────────────────┐
Дополнителеные │ Обработка файлов │
возможности <-│ Обработка исключений │
│ Параллельная обработка │
│ Макрообработка │
└──────────────────────────────────────┘
Рис. 1. 2