Понятие языка подразумевает некоторую синтаксическую конструкцию и определяемые ею свойства программных объектов или процесса обработки данных.
Языки программирования.
Языки программирования — это формальные языки для записи алгоритмов,специально созданные для общения человека с компьютером.
Приведем схему классификации языков программирования:
|
Рисунок 1.
В зависимости от степени детализации предписаний обычно определяется уровень языка программирования— чем меньше детализация, тем выше уровень языка.
Языки программирования, ориентированные на знание особенностей работы ЭВМ и команд процессора, называют языками низкого уровня (машинно-ориентированными).
С помощью этих языков удобнее разрабатывать, например, системные программы, драйверы.
Языки программирования, обладающие набором укрупненных заданных команд, ориентированных на решение содержательных прикладных задач, называются языками высокого уровня (машинно-независимые).
Программы на языках высокого уровня(группы процедурно-, проблемно- и объектно- ориентированных)близки к естественному (английскому) языку.
· Процедурно-ориентированные языкиописывают процесс выполнения программ как совокупность процедур, называемых подпрограммами.
· Проблемно-ориентированные языкипрограммирования предназначались для решения определённого круга задач (обработка данных представленных в виде списков Lispи обработки логических данных Prolog, Simula ).
· Объектно-ориентированные языкипрограммирования объединяют процедуры и данные в одно целое, называемое классом. Каждый класс является моделью реального объекта, содержит данные, описывающие этот объект (свойства объекта), и разрешённые действия над этими данными в виде процедур обработки (методы объекта).
В основе объектно-ориентированного подхода в программировании лежат три фундаментальных принципа, которые называются инкапсуляция, наследование, полиморфизм.
Большинство современных языков и систем программирования развивается в направлении все большего использования объектной методологии в создании программ. Наиболее популярные реализации объектного подхода созданы на основе языков программирования Pascal , Basic , C. Это, Delphi , Visual Basic , C++ .
Каждый язык программирования имеет алфавит, словарный запас, свои грамматику и синтаксис, а также семантику.
Алфавит - фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке. Алфавит языка, как правило, связан с литерами клавиатуры ПК.
Синтаксис - система правил, определяющих допустимые конструкции языка программирования(т.е. какие комбинации символов являются осмысленными предложениями на этом языке).
Семантика - система правил однозначного толкования отдельных языковых конструкций, позволяющих воспроизвести процесс обработки данных(т.е.семантика определяет смысловое значение предложений языка).
Несмотря на различия между языками программирования (ЯП), ряд фундаментальных понятий в большинстве из них схожи.
Понятие языка подразумевает некоторую синтаксическую конструкцию и определяемые ею свойства программных объектов или процесса обработки данных.
1. Оператор – одно из основных понятий практически всех ЯП. Каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных.
В соответствии с теорией алгоритмов выделяют базисные операторы языка: присвоения, условный и безусловный переход, оператор цикла. Кне основным операторам относят составной оператор, операторы выбора, вызова процедур и другие.
2. Величина. Большая часть операторов ведет обработку данных.
Данные – величины, обрабатываемые программой. Величина может быть постоянной (константа) и переменной. Величина характеризуется типом, именемизначением. Наиболее распространенные типы величин – числовые (целые и вещественные), символьные, логические. Ещё одна важная классификация величин – простые и структурированные. Простая величина в каждый момент времени может иметь не более одного значения. Структурированная величина, имея одно имя, может иметь одновременно несколько значений. Эти значения представляют собой элементы (компоненты) величины. Пример структурированной величины – массив или таблица.
3. Переменная – это программный объект, способный принимать некоторое значение с помощью оператора присваивания и меняющий свое значение при выполнении программы. Каждая переменная после ее описания отождествляется с некоторой ячейкой памяти, содержимое которой является ее значением, соответствующего описанию типа.
4. Функция – это программный объект, задающий вычислительную процедуру определенного значения, зависимого от некоторых аргументов.
В языке высокого уровня имеется библиотека стандартных функций: арифметических, логических, символьных, файловых и т.п.
5. Процедура – это программный объект, представляющий некоторый самостоятельный этап обработки данных.
Процедура имеет входные и выходные параметры, называемые формальными. При выполнении процедуры формальные параметры заменяются на фактические.
6. Идентификатор. Идентификатор– последовательность букв и цифр, начинающаяся с буквы, и служащая для задания имен программным объектам.
7. Описания (или объявления) программных объектов.
Описания определяют свойства данных и связаны с правилами обработки данных. Например, для массива необходимо задать его размерность, границы индексов, тип его элементов.
В некоторых ЯП для описания стандартных данных (например, целые величины) используется правило “по умолчанию”, или в них задаются правила описания по имени объекта. Особое значение представляют в ЯП описания нестандартных структур данных, таких как запись, файл, объект, список, дерево и т.п.
8. Выражения предназначаются для выполнения необходимых вычислений; состоят из величин (постоянных и переменных), обращений к функциям, знаков операций и скобок.
Выражения имеют определенный тип, зависящий от типа принимаемых в итоге его вычисления значений. Различают выражения арифметические, логические и строковые.
Арифметические выражения служат для определения одного числового значения.
Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения — "истина" или "ложь".
Значения строковых (литерных) выражений — тексты. В них могут входить литерные константы, литерные переменные и литерные функции, разделенные знаком операции сцепки.
9. Модуль – это специальная программная единица, предназначенная для создания библиотек и разделения больших программ на логически связанные блоки.
Трансляция программ
Программа, подготовленная на ЯП, проходит этап трансляции.