Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
5
Лекции по дисциплине «Информатика и программирование»
Автор Шульга Т.Э.
Языки программирования относятся к искусственным языкам.
Искусственный язык отличается от естественного происхождением и наличием очень ограниченного количества лексем и строгих правил записи выражений.
В тексте на любом естественном языке можно выделить четыре основные структурные компоненты: символы, слова, словосочетания и предложения. Подобные элементы содержит и любой алгоритмический язык: символы, лексемы, выражения и операторы. Лексемы образуются из символов, выражения из лексем, а операторы из выражений и лексем. Объединенная единым алгоритмом совокупность операторов образует программу на алгоритмическом языке.
Алфавит языка (или его символы) это основные неделимые знаки, с помощью которых пишутся все тексты на языке.
В алфавит языка С++ входят
Лексемы (или элементарные конструкции) минимальная конструкция языка, имеющая самостоятельный смысл.
Из символов алфавита формируются следующие лексемы языка:
Границы лексем определяются другими лексемами, такими как разделители, знаки операций и комментариями.
Рассмотрим каждый из видов лексем подробно.
Идентификатор это набор символов, представляющих имя программного объекта. Правила написания идентификаторов в конкретном языке программирования указываются в справочниках по этому языку. Например в С++ идентификатор представляет собой последовательность из букв латинского алфавита, десятичных цифр и символов подчеркивания, начинающуюся не с цифры, причем прописные и строчные буквы различаются. На длину различаемой части идентификатора в С++ различные реализации накладывают свои ограничения (по стандарту длина не ограничена). Задание для самостоятельной работы: в справочной системе MS Visual Studio найти каковы ограничения на длину идентификатора.
Ключевые слова это идентификаторы, зарезервированные в языке для специального использования. Ключевые слова языка также перечисляются в справочнике по языку, но знакомится с ними имеет смысл по мере изучения конструкций языка программирования.
Пример ключевых слов в языке С++:
int ключевое слово для описания переменных целого типа
if ключевое слово для построения условной конструкции
Знаки операций - это один или более символов, определяющих действия над операндами. Знаки операций обеспечивают формирование и последующие вычисление выражений. Выражение задает правило для получения значения. Один и тот же знак операции может употребляться в различных выражениях и по-разному интерпретироваться в зависимости от контекста. (Например, унарный и бинарный минус). Для каждой операции задан тип операндов, над которыми может выполняться данная операция. Операндами могут быть выражения и их частные случаи константы и переменные. Операции делятся на унарные, бинарные и тернарую по количеству операндов (1,2,3 соответственно).
Примеры унарных операций
-7 унарный минус
a++ или ++a операция инкремента (увеличения на единицу)
a-- или --a операция декремента (уменьшения на единицу)
! a операция отрицание
Все бинарные операции делятся на следующие основные группы:
Рассмотрим тернарную условную операцию.
выражение1? выражение2: выражение3;
Если истинно выржение1, то выполняется выражение2, иначе выполняется выражение3
Например, a>0?b=1:b=-1
Все операции разделены на группы по приоритетам. Если в выражении встречаются операции с разными приоритетами, то сначала выполняются те, у которых приоритет выше. Если все операции имеют одинаковый приоритет, то они выполняются в соответствии с правилом ассоциативности либо слева направо, либо справа налево. Например,
a==++b*c+d (++ * + ==)
-!a (-(!a))
Для изменения порядка выполнения операций используются круглые скобки.
Задание для самостоятельной работы: Изучить операции языка С (см. пособие) и их приоритеты.
Константа это лексема, представляющая изображение фиксированного числового (целого или вещественного), строкового или символьного значения.
Например,
целые 10, 012(8), 0хА(16);
вещественная 78.8, 5., .09, 0.2E-3;
символьная один символ, заключенный в кавычки, например a, \n;
строковая - последовательность символов, заключенная в кавычки “Hello, World”.
Последовательность символов, начинающаяся с обратной косой черты называется escape-последовательностями (управляющими последовательностями) и используются для представления
Оператор задает законченное описание некоторого действия. (Существует путаница понятий, например, у Страуструпа оператор и операция синонимы а для таких элементов языка, как if, for используются выражение statement утверждение, предложение, инструкция). Каждый оператор в С заканчивается точкой с запятой.
Для описания сложного действия требуется последовательность операторов. Операторы могут быть объединены в составной оператор или блок с помощью инструктивных (операторных) скобок (например, в С инструктивными являются скобки {}). В этом случае они рассматриваются как один оператор.
Операторы бывают исполняемые и не исполняемые. Исполняемые операторы задают действия над данными. Неисполняемые операторы служат для описания данных, поэтому их называют операторами описания или просто описаниями.
Правила построения элементов языка определяет синтаксис языка, а их смысл и правила использования определяет семантика, и, следовательно, нарушение формы записи элементов языка приводит к синтаксическим ошибкам, а правильно написанный, но не отвечающий алгоритму оператор приводит к семантическим ошибкам (логическим, ошибками времени выполнения).