- 9. Языки программирования
- 9.1. Основные понятия и элементы языков программирования
- Состав языков программирования: алфавит, синтаксис, семантика (. )
- Типы и структуры данных. Конструктор селектор (. )
- 15Состав языков программирования: алфавит,синтаксис, семантика
- 17Простейшие типы данных: номинальный, перечислимый, ограниченный (. )(нужен номинальный)
- 18Векторы и алгебра векторов
- 19Конструктор-селектор вектора в различных языках программирования
- 20Матрицы и матричное исчисление
- 21Конструктор-селектор матриц в различных языках программирования
- 22Множества и алгебра множеств
9. Языки программирования
9.1. Основные понятия и элементы языков программирования
Язык программирования – это набор букв, слов, чисел и мнемонических сокращений, используемых при записи компьютерной программы, а также правила записи программы из элементов языка (его синтаксис).
Обычный разговорный (естественный) язык состоит из четырех основных элементов: символов, слов, словосочетаний и предложений. Компьютерный (формальный) язык программирования содержит подобные же элементы, только слова называют элементарными конструкциями, словосочетания – выражениями, предложения – операторами. Язык программирования (как и любой другой язык), образуют три его составляющие: алфавит, синтаксис и семантика.
Алфавит – фиксированный для данного языка набор символов (букв, цифр, специальных знаков и т. д.), которые могут быть использованы при написании программы.
Синтаксис – правила построения из символов алфавита специальных конструкций, с помощью которых составляется команда. Множество правил порождения элементов языка программирования, выражений и предложений называют грамматикой формального языка или формальной грамматикой.
Семантика – система правил толкования конструкций языка. Таким образом, программа составляется с помощью соединения символов алфавита в соответствии с синтаксическими правилами и с учетом правил семантики.
У формального языка много общего с естественным языком, предложения которого также строятся в соответствии с грамматическими правилами. Однако грамматика естественного языка, подобно наукам о природе с известной степенью достоверности описывает и обобщает результаты наблюдений за естественным языком как за явлением окружающего мира. Характерные для грамматики естественных языков исключения из правил свидетельствуют о том, что зафиксированная в грамматике языка система правил не может в точности описать все закономерности развития языка.
Формальные языки проще естественных языков. Они создаются одновременно с системой правил построения слов и предложений. Исключения из правил в формальном языке могут свидетельствовать лишь о противоречивости и некорректности системы грамматических правил.
Иными словами, язык программирования имеет жёсткую структуру. По русски (на естественном языке) мы можем одну и ту же мысль выразить по-разному: «завтра идти на работу», «на работу идти завтра» или «завтра на работу идти». Эмоциональные оттенки этих фраз будут немного отличаться благодаря смысловому ударению. Однако, в программах такие вольности не допускаются. Если в любой конструкции языка программирования изменить порядок следования элементов, конструкция станет ошибочной.
Грамматические правила можно записывать различными способами. Грамматика естественного языка традиционно описывается в виде грамматических правил на естественном языке. Грамматика формального языка также может быть описана в виде множества правил на естественном языке. Но обычно для этого используют специальные средства записи: формулы и схемы.
Для многих широко распространённых языков программирования созданы международные стандарты. Специальные организации проводят регулярное обновление и публикацию спецификаций и формальных определений соответствующего языка. В рамках таких комитетов продолжается разработка и модернизация языков программирования и решаются вопросы о расширении или поддержке уже существующих и новых языковых конструкций.
Основными элементами (понятиями) языков программирования являются следующие.
Имена (идентификаторы) – последовательность символов для обозначения объектов программы (переменных, массивов, функций и дp.).
Операции. Существуют следующие типы операций:
- арифметические операции: сложение, обозначается символом “+”; вычитание, обозначается символом “–”; умножение, обозначается символом “*”; деление, обозначается символом “/” и дp.;
- логические операции: операции “логическое и”, “логическое или”, “логическое не” и др.;
- операции отношения: меньше, обозначается символом “”; меньше или равно, обозначается символами “=”; равно, обозначается символом “=”; не равно, обозначается символами “<>”.
- операция конкатенации символьных значений дpуг с другом, изображается знаком «+».
- числовые: (7.5, 12;)
- логические: (true(истина), false(ложь));
- символьные: («А», «+»; и т.п.)
- строковые: (например «abcde», «информатика»).
- целые,
- вещественные,
- логические,
- символьные
- строковые.
- арифметические;
- логические;
- строковые.
Состав языков программирования: алфавит, синтаксис, семантика (. )
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Алфавит – фиксированный для данного языка набор символов (букв, цифр, специальных знаков и т.д.), которые могут быть использованы при написании программы.
Синтаксис — правила построения из символов алфавита специальных конструкций, с помощью которых составляется алгоритм.
Семантика — система правил толкования конструкций языка.
Типы и структуры данных. Конструктор селектор (. )
Простые переменные – описывают структуры, состоящие из одного элемента, потому они характеризуется одним (скалярным) значением. Имя простой переменной характеризует номер ячейки (одной или нескольких), где хранится ее значение. Простая переменная м.б. целой, вещественной, логической, символьной и т.д.
Массивы – переменные с индексами описывают структуры, состоящие из ограниченного множества компонент, упорядоченных в соответствии со значениями индексов. Число индексов определяет размерность (одномерные, двумерные и т.д.).Индекс обеспечивает прямой доступ к любому элементу массива. Элементами массива м.б. как простые так и структурированные данные. Например, м.б. массив массивов.
Строки – упорядоченные, ограниченные последовательности символов некоторого алфавита.
Записи – структура данных, состоящая из фиксированного числа компонент, называемых полями, каждая из которых может иметь свой тип. Записи позволяют в удобной форме представлять ведомости, таблицы, картотеки, каталоги и лр. данные.
Списки – цепочки записей. Основные операции со списками: просмотр записей, включить новую запись и исключить запись из списка. Списки позволяют создавать объекты со сложной меняющейся структурой.
Таблицы – набор записей, с каждой из которых связано имя, называемое ключом. Поиск нужной записи в таблице производится по ее ключу. Основные операции с таблицами: найти запись, включить новую запись и исключить запись из таблицы.
Очереди – структуры данных организованные по принципу «первым пришел – первым ушел». Это динамические структуры, число элементов которых может меняться в процессе обработки. Обработка элементов очереди ведется последовательно один за другим. Добавление новых элементов производится в конец очереди. Основные операции с элементами очереди: чтение, обработка, запись в очередь, удаление из очереди
Стеки – структуры данных организованные по принципу «последним пришел – первым ушел». Примеры: стопка книг, пистолетная обойма, очередь в магазине. Поэтому эта память называется магазинной. Ссылки – адреса поля памяти, содержимым которого являются другого поля памяти.
Графы – математические модели системы связей между объектами. Граф состоит из вершин (узлов) и ребер (ветвей) соединяющих узлы расположенные на различных уровнях.
Деревья – связной граф, в котором нет циклов. При решении многих прикладных задач бывает удобно представлять наборы объектов в виде деревьев. Например, представление двоичных кодов.
а) Перечисляемый тип — в программировании тип данных, чьё множество значений представляет собой ограниченный список идентификаторов. (например type Cardsuit = (clubs, diamonds, hearts, spades) )
б) Ограниченный тип данных — интервал значений порядкового типа, называемого базовым типом. Описание типа задаёт наименьшее и наибольшее значения, входящие в этот интервал. (Например Var a: 1..25; ch: ‘a’ ..’z’
Здесь переменные а и ch могут принимать значения только из указанного интервала; базовым типом для переменой а является целый тип, а для переменной ch — символьный.) Переменная ограниченного типа сохраняет все свойства переменных базового типа.
- Векторы и алгебра векторов
- Конструктор-селектор вектора в различных языках программирования
- Матрицы и матричное исчисление
- Конструктор-селектор матриц в различных языках программирования
- Множества и алгебра множеств
- Операции над множествами и их свойства
15Состав языков программирования: алфавит,синтаксис, семантика
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Алфавит – фиксированный для данного языка набор символов (букв, цифр, специальных знаков и т.д.), которые могут быть использованы при написании программы.
Синтаксис — правила построения из символов алфавита специальных конструкций, с помощью которых составляется алгоритм.
Семантика — система правил толкования конструкций языка.
17Простейшие типы данных: номинальный, перечислимый, ограниченный (. )(нужен номинальный)
а) Перечисляемый тип— в программировании тип данных, чьё множество значений представляет собой ограниченный список идентификаторов. (например typeCardsuit = (clubs, diamonds, hearts, spades) )
б) Ограниченный тип данных — интервал значений порядкового типа, называемого базовым типом. Описание типа задаёт наименьшее и наибольшее значения, входящие в этот интервал. (НапримерVara: 1..25; ch: ‘a’ ..’z’
Здесь переменные а и ch могут принимать значения только из указанного интервала; базовым типом для переменой а является целый тип, а для переменной ch — символьный.) Переменная ограниченного типа сохраняет все свойства переменных базового типа.
18Векторы и алгебра векторов
Вектор – элемент векторного пространства, одномерный массив данных. С точки зрения математики, после выбора базиса пространства, вектор представляет собой набор величин (координат вектора), которые меняются строго определённым образом при изменении базиса и системы координат, причём изменившиеся величины полагаются координатами того же самого вектора
в новом базисе и новой системе координат.
Задается в var как array[1..n] of (тип)
19Конструктор-селектор вектора в различных языках программирования
20Матрицы и матричное исчисление
Матрица – двумерный массив данных
Матрица размеров m x n — система mn чисел (элементов матрицы), расположенных в прямоугольной таблице из m строк и n столбцов. Если m = n, матрицу называют квадратной матрицей порядка n.
Действия над матрицами: сложение, умножение на число, умножение матриц, транспонирование.
двумерный массив это массив, элементами которого выступают другие массивы с данными (массив в массиве). Вложенность массивов может быть не только двумерной.
21Конструктор-селектор матриц в различных языках программирования
22Множества и алгебра множеств
Множество-совокупность некоторых обьектов, объединённых по одному признаку. Множество не содержащее ни одного элемента называют пустым множеством. Объекты, из которых состоит множество, называются его элементами. Множества принято обозначать заглавными буквами латинского алфавита, а их элементы-малыми буквами. Элементы множества записывают в фигурных скобках, внутри которых они перечислены, либо указано общее свойство, которым обладают все элементы данного множества.