- •1.2.5. Лексика, синтаксис и семантика языков программирования
- •2.1. Алфавит языка
- •2.2. Структура программы
- •2.3. Концепция типа для данных
- •2.4. Стандартные типы данных
- •2.5. Перечисляемые и ограниченные типы
- •2.6. Константы
- •2.7. Переменные
- •2.8. Инициализация переменных
- •3.1. Оператор присваивания
- •3.2. Операторы ввода и вывода
- •3.3. Выражения
- •3.4. Составной оператор
- •3.5. Условный оператор
- •3.6. Оператор варианта
- •3.7. Цикл с предусловием
- •3.8. Цикл с постусловием
- •3.9. Цикл с параметром
- •3.10. Операторы завершения цикла
- •3.11. Метки и операторы перехода
1.2.5. Лексика, синтаксис и семантика языков программирования
Язык программирования используется для записи алгоритма и последующего перевода этой записи на язык машинных команд. Языки программирования похожи на языки естественного общения. И у тех, и у других можно найти много общего. Обычный разговорный язык состоит из четырех основных элементов: символов, слов, словосочетаний и предложений. Любой язык программирования содержит подобные элементы, только слова называют элементарными конструкциями, словосочетания – выражениями, предложения – операторами. Символы, элементарные конструкции, выражения и операторы составляют иерархическую структуру, поскольку элементарные конструкции образуются из последовательности символов, выражения – это последовательность элементарных конструкций и символов, а оператор – последовательность выражений, элементарных конструкций и символов.
Имеется алфавит языка, то есть набор символов, которые можно использовать в программе. Из символов алфавита составляются лексемы, играющие роль слов – минимальных смысловых элементов языка. В число лексем входят специальные слова, имена различных объектов программы (например, имена переменных и т. д.). Специальные слова имеют специальное назначение. Из них составляются, например, операторы, которые описывают некоторое законченное действие.
Специальные слова бывают двух видов:
-
Зарезервированные слова имеют вполне определенный смысл и вполне определенное назначение. Назначение зарезервированных слов обычно определяется спецификацией или стандартом языка. Зарезервированные слова нельзя изменять: любая неточность в их написании является серьезной ошибкой.
-
Ключевые слова, назначение которых зависит от контекста, то есть от места в программе, где эти слова используются. Ключевыми словами являются, например, имена типов переменных.
В отличие от естественных языков человеческого общения, в языках программирования можно вводить свои собственные слова, например имена переменных, и придавать этим словам свой собственный смысл.
Главными элементами любой программы являются переменные, константы и операторы. Переменная – это одна или несколько физических ячеек оперативной памяти компьютера. Такой набор физических ячеек называют абстрактной ячейкой памяти. Переменной сопоставляется целый набор характеристик (атрибутов). Основные атрибуты переменной:
-
Имя. При именовании переменных нужно знать, какие символы можно использовать в именах, различается ли регистр букв, максимальную длину имени.
-
Значение. Содержимое памяти, связанной с переменной, может изменяться в ходе выполнения программы. Вид информации, содержащейся в ячейке, набор преобразований, которые можно выполнять над этой информацией, и множество допустимых значений определяются типом переменной.
-
Адрес. В линейной модели памяти адрес – это порядковый номер первой физической ячейки памяти абстрактной ячейки памяти для переменной. В линейной модели памяти считается, что ячейки памяти расположены в линию. Последовательно расположенные ячейки группируются в сегменты размером 64 Кбайт каждый.
-
Область видимости переменной. Это те операторы программы, в которых ее можно использовать. Обычно говорят о локальных и глобальных переменных. Глобальные переменные видны во всей программе, а локальные – только в отдельных ее частях.
Константа отличается от переменной тем, что ее значение фиксировано и не может быть изменено в ходе выполнения программы. Константы бывают двух видов:
-
Буквальные константы. Буквальные константы представляют собой значения, которые воспринимаются в программе в точности так же, как они изображены (буквально). Значения могут быть числовыми, символьными или другими. Примеры буквальных констант:
-
2003 – целое число;
-
1.9274 – вещественное число в формате с фиксированной точкой;
-
1.2e-3 – вещественное число в формате с плавающей точкой;
-
‘A’ – символьная константа;
-
‘Привет!’ – строковая константа.
-
На именованные константы ссылаются, указывая на их имя. Имя назначается обычно по тем же правилам, что и имена переменных. Пример встроенной именованной константы в языке Pascal – Pi.
Операторы задают действия, которые должна выполнять программа. Можно выделить, например:
-
Декларативные операторы (или предложения описания). Эти операторы позволяют описать свойства переменных и других объектов, используемых в программе.
-
Управляющие операторы позволяют управлять ходом выполнения программы. Эти операторы реализуют основные алгоритмические конструкции, такие как ветвление (условные операторы и операторы выбора) и циклы.
-
Операторы ввода и вывода информации. С их помощью можно организовать общение пользователя с программой во время ее выполнения. Есть и другие операторы.