Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Присваивание переменным новых значений

Операторы

Смешанные выражения

Логические выражения

Выражения отношения

Эти выражения формируют результат логического типа из двух числовых операндов (арифметических выражений, переменных, констант). Операнды взаимодействуют в одной из операций отношения:

равно; не равно; больше; меньше; больше или равно; меньше или равно.

Например, выражение А > В даст результат ИСТИНА при А = 2.718, В = 2.700 и результат ЛОЖЬ при А = 2.718, В = 2.720 или А = 2.718, В = 2.718.

Каждый язык имеет свои обозначения операций отношения.

Здесь и результат и операнды имеют логический тип. Операндами таких выражений могут быть логические константы и переменные, логические выражения, выражения отношения, указатели логических функций (если они есть в ЯП). Над такими операндами определены логические операции НЕ (отрицание, инверсия), И (логическое умножение, конъюнкция), ИЛИ (логическое сложение, дизъюнкция).

Первая из этих операций унарная, она дает результат, значение которого противоположно значению операнда, две другие — бинарные. Результат операции И получает значение ИСТИНА при истинности обоих операндов и значение ЛОЖЬ в иных случаях. Результат операции ИЛИ получает значение ЛОЖЬ при ложности обоих операндов и значение ИСТИНА в иных случаях. Эти три операции называют базовыми. Их приоритет в порядке убывания таков: НЕ, И, ИЛИ. В сложных выражениях операции одного приоритета выполняются в порядке их размещения, слева направо.

Для изменения порядка используются круглые скобки. Помимо базовых, в ЯП могут иметься составные логические операции, являющиеся комбинациями базовых.

Как сказано выше, операндами логических выражений могут служить выражения отношения, а операндами последних — арифметические выражения. В таких смешанных выражениях действует система общих приоритетов операций отношения, арифметических и логических, своя для каждого ЯП. Если ее правила не учтены, возможны синтаксические ошибки (недопустимые типы или сочетания операндов в промежуточных выражениях) или смысловые (считается не то, что имел в виду автор программы, а диагностическая подсистема может и не выдать сигнала о неблагополучии).

Операторы — это предписания на выполнение законченных действий. Выделяют три основные группы операторов: присваивания переменным новых значений, управления порядком выполнения программы и ввода/вывода данных.

Это действие выполняется, главным образом, с помощью операторов присваивания; первоначальные значения можно присваивать операторами ввода (о них будет сказано ниже), а в некоторых ЯП это возможно и иными способами.

Оператор присваивания состоит из трех структурных элементов: имени переменной, которая получает новое значение, символа самого оператора и выражения для получения значения. Имя переменной-получателя пишется перед символом оператора, а выражение после символа. Пусть V обозначает некоторое выражение. Тогда оператор присваивания переменной с именем X значения, которое вычисляется по выражению V, на Паскале будет иметь вид X: = V, а на Бейсике и Си X = V (в языке Си есть также и иные формы оператора переопределения новых значения через прежние). Подчеркнем, что такая запись означает именно получение переменной X нового значения, но не равенство X и V. Форма X = X + 1 была бы бессмысленной при трактовке как алгебраического равенства, но как оператор присваивания означает: присвоить переменной Х новое значение, превосходящее прежнее ее значение на единицу.

Выражение в правой части может состоять всего из одной константы, указателя функции, имени переменной. Последний случай особо уязвим для ошибки, так как операторы X1 = X2 и X2 = X1 (X2 и X1 — имена переменных) оба формально безошибочны с точки зрения синтаксиса и в принципе могли бы появиться в программе, но в смысловом отношении они различны.

В левой части оператора должен быть скаляр (см. п. 5.4.3), то есть простая переменная либо элемент массива или какой-либо иной упорядоченной структуры. Отдельные исключения из этого правила специально оговариваются в руководствах по конкретным ЯП.

Значение, формируемое выражением V, должно иметь тот же тип, что и переменная-получатель, или же совместимый по присваиванию тип. Например, переменной действительного типа может быть присвоено числовое значение целого типа, и тогда целочисленное значение будет превращено в действительное с нулевой дробной частью; попытку присвоить действительное значение переменной-получателю целого типа система программирования будет квалифицировать как синтаксическую ошибку.

<== предыдущая лекция | следующая лекция ==>
Арифметические выражения | Составные операторы
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 407; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.