- •Лабораторная работа № 4
- •Арифметические выражения
- •Символьные (текстовые) выражения
- •Выражения отношения
- •Логические выражения
- •Оператор присваивания
- •Часть 1 Программирование математических выражений
- •Запись формул
- •Изучение программирования математических формул на Visual Basic - е в среде разработки Visual Studio
- •Еще один образец
- •Часть 2 Текстовые переменные, константы, выражения и символьные операторы присваивания
- •Изучение программирования символьных выражении на Visual Basic - е в среде разработки Visual Studio
- •Часть 3 Логические переменные и логический оператор присваивания
- •Изучение программирования логических выражении на Visual Basic - е в среде разработки Visual Studio
Логические выражения
Результатом вычисления логического выражения является данное логического типа. Для составления логических выражении используются операции, приводимые в таблице 3. Значение результата логической операции определяется по таблице 6.
Таблица 6
a и b a и b a и b |
Fortran QuickBasic Turbo Pascal |
a.AND.b a AND b a AND b |
a.OR.b a OR b a OR b |
a.EQV.b a EQV b - |
a.NEQV.b a XOR b a XOR b |
- a IMP b - |
Оба имеют значение "истина" |
истина |
истина |
истина |
Ложь |
истина |
|
Один "истина", другой "ложь" |
ложь |
Истина |
ложь |
Истина |
? |
|
Оба имеют значение "ложь" |
ложь |
Ложь |
истина |
Ложь |
истина |
|
Первый "истина", а второй "ложь" |
ложь |
истина |
ложь |
Истина |
ложь |
|
Все операции, кроме отрицания, являются бинарными и указываются между операндами логического выражения. Операция отрицания является унарной и указывается перед операндом. Например, если значение A есть "истина", тогда результатом отрицания выражения A является "ложь".
Примеры.
Fortran
Значение выражения -2..LT.x.AND.x.LT.2. истинно тогда и только тогда, когда -2 < x < 2 .
QuickBasic, Visual Basic
Значение выражения -2.< x AND x < 2. истинно тогда и только тогда, когда -2 < x < 2 .
Turbo Pascal
Значение выражения (-2.< x) AND (x < 2.) истинно тогда и только тогда, когда -2 < x < 2 .
Оператор присваивания
Учитывая, что выражения чаще всего используются в операторах присваивания, рассмотрим операторы присваивания. Общая форма следующая:
Общая форма операторов присваивания |
||
Fortran |
QuickBasic, Visual Basic |
Turbo Pascal |
A=B |
A=B |
A:=B; |
Здесь A - переменная или элемент массива, B – выражение, которое вычисляется и полученное значение присваивается A. Тип A должен быть совместим по присвоению с типом B, иначе оператор недопустим. Необходимое условие допустимости оператора присваивания для Turbo Pascal, чтобы множество возможных значений В было подмножеством возможных значении А.
Для вычислительных задач можно выделить следующие случаи.
1. Если A имеет числовой тип, тогда B тоже должно иметь числовой тип; оператор при этом традиционно называется "арифметическим оператором присваивания".
2. Если A имеет логический тип, то B тоже должен иметь логический тип. Оператор в этом случае называется "логическим оператором присваивания". Логические выражения любого размера могут присваиваться логическим переменным любого размера.
3. Если выражение B имеет тип символьный (строковой), то A должен иметь тип символьный (строковой). В этом случае оператор называется "символьным оператором присваивания".
Особенности
Fortran
Все арифметические, логические и символьные операторы присваивания допустимы.
При арифметическом операторе присваивания значение выражения B преобразуется к типу A по таблице 7.
Таблица 7
Тип A |
тип B |
||
INTEGER |
REAL |
COMPLEX |
|
INTEGER |
+ |
присваивается целая часть |
присваивается целая часть действительной части |
REAL |
преобразуется |
+ |
действительная часть |
COMPLEX |
преобразуется и присваивается действительной части |
присваивается действительной части |
+ |
Логические выражения любого размера могут присваиваться логическим переменным любого размера.
Для символьных операторов присваивания, если длина B не соответствует размеру A, то B выравнивается следующим образом:
А) если переменная A длиннее B, тогда B дополняется пробелами справа;
Б) если переменная A короче B, то крайние символы справа в B игнорируются.
Задание начальных значении можно осуществить и оператором DATA. Он предназначен для определения значений переменных, массивов и элементов массивов. Может располагаться в любом месте программы после операторов описания типа.
Общая форма.
DATA k1/d1/,k2/d2/,...,kn/dn/
где ki - список имен переменных, элементов массивов (в этом случае индексные величины задаются в виде целых беззнаковых констант) или массивов; имена разделяются запятыми; список не должен содержать имена формальных параметров, а также имена данных из неименованной области COMMON; di - список констант (целых, действительных, комплексных, логических, текстовых), разделенных запятыми; каждой константе может предшествовать i* , указывающее, что константа должна быть повторена i раз (i - целая беззнаковая константа). Типы констант и типы переменных должны согласовываться.
Пример.
DATA a,b/1.,-3./,c/4.5/
QuickBasic
Отсутствует логический оператор присваивания. Все арифметические и символьные операторы присваивания допустимы.
Visual Basic
Основные правила присваивания совпадают с QuickBasic. Существуют все традиционные виды операторов присваивания. Более того, существуют другие виды операторов присваивания.
Turbo Pascal
В арифметическом операторе присваивания если типы данных A и B не совпадают, то возможны следующие случаи:
1) A и B имеют целый тип и значение B входит в диапазон значений типа A, то оператор допустим;
2) A и B имеют вещественный тип и значение B входит в диапазон значений типа A, то оператор допустим;
3) A имеет вещественный тип, а B - целый тип, тогда оператор допустим. Значение B автоматически преобразуется к типу A;
4) A имеет целый тип, а B вещественный. Такой присваивание недопустимо. Однако, если это нужно сделать, то нужно использовать функцию Round к выражению B, которая округляет до ближайшего целого, например, A:=Round(B), или функцию Trunc, которая отсекает дробную часть, например, A:=Trunc(B). Обе функции возвращяют значение типа Longint.
Контрольные вопросы
Что такое выражение?
Что из себя представляет операции и операнды?
Как используется функция в выражении?
Перечислите традиционные виды выражений.
Каков порядок выполнения операций в выражений?
Перечислите арифметические операции.
Перечислите операции отношения (сравнения).
Перечислите логические операции.
Перечислите строковая операция (конкатенция).
Что и как получается при вычислении арифметического выражения?
Что и как получается при вычислении символьного (текстового) выражения?
Что и как получается при вычислении выражения отношения?
Что и как получается при вычислении логического выражения?
Как записывается и выполняется оператор присваивания?
