
- •Лабораторная работа № 4
- •Арифметические выражения
- •Символьные (текстовые) выражения
- •Выражения отношения
- •Логические выражения
- •Оператор присваивания
- •Часть 1 Программирование математических выражений
- •Запись формул
- •Изучение программирования математических формул на Visual Basic - е в среде разработки Visual Studio
- •Еще один образец
- •Часть 2 Текстовые переменные, константы, выражения и символьные операторы присваивания
- •Изучение программирования символьных выражении на Visual Basic - е в среде разработки Visual Studio
- •Часть 3 Логические переменные и логический оператор присваивания
- •Изучение программирования логических выражении на Visual Basic - е в среде разработки Visual Studio
Лабораторная работа № 4
ВЫРАЖЕНИЯ И ОПЕРАТОРЫ ПРИСВАИВАНИЯ
Цель работы. Изучение разновидностей выражений и операторов присваивания.
Задание
1. По предложению преподавателя в 1-ой части выбрать шесть задач из списка приведенной ниже, в 2-ой и 3-ей частях решить все задачи.
2. Написать программы для решения задач. Язык программирования указан в тексте задачи.
3. Программы для каждой задачи набрать в отдельный файл, скомпилировать, скомпоновать и получить исполняемый файл (на языке Visual Basic используется понятие проект, поэтому для Visual Basic указана отдельная инструкция).
4. Если обнаружены ошибки, то исправить их и повторить.
5. Выполнить каждый полученный исполняемый файл.
6. Если во время исполнения возникли ошибки, исправить неполадки и повторить.
7. Показать преподавателю.
После выполнения всех пунктов задания и ответов на контрольные вопросы лабораторная работа считается выполненной .
Общие сведения
Выражения представляют собой формулы для вычисления значения, т.е. они задают правила вычисления нового значения на основе ранее уже известных значений. Выражения состоят из операндов и операции.
Операции указывают действия, которые должны быть выполнены над данными. Данные, используемые в операциях, называются операндами. Операндами могут быть вызовы функций, переменные, элементы массива, константы или другие выражения, заключенные в скобки.
Понятие функция и правила их использования в выражениях в большинстве языков программирования соответствуют понятию функции и правилам использования их в математических формулах, т.е. на нужном месте пишется название функции и параметры, заключенные в скобки. Например, SIN(x). Исключением является то, что перед обращением к функции параметры должны иметь конкретные значения, а сама функция должна быть реализована в виде программы. При ссылке к функции его значение вычисляется.
В зависимости от типа вычисляемого значения различают четыре традиционных вида выражений:
1) арифметические;
2) символьные или текстовые;
3) выражения отношения;
4) логические.
Кроме традиционных выражений могут быть и другие виды выражении.
Каждый вид выражения работает с определенными типами операндов и использует определенный набор операций. При вычислении выражения получается значение определенного типа.
Любая переменная, элемент массива, на которую ссылаются в выражении, к моменту ссылки на нее должны иметь конкретные значения. Иначе будет получен неопределенный результат.
Операции бывают бинарные и унарные. В бинарных операциях участвуют два операнда, а в унарных - один операнд. Бинарные операции изображаются в традиционной алгебраической записи, например, арифметическое сложение двух величин, A и B, имеет вид A + B. Обозначение унарной операции всегда предшествует операнду, например, смена знака величины C должна записываться как -C.
Выражение, состоящее из бинарных операции, можно представить в следующем виде
Д1 б1 Д2 б2 Д3 б3 ... ,
где Дi - операнд, бi - бинарная операция. Обычно, если унарная операция стоит рядом с бинарной, то она со своим операндом заключается в скобки. А выражение, заключенное в скобки, считается отдельным операндом и вычисляется в первую очередь. Поэтому данная последовательность отражает все случаи, возникающие в выражениях. Порядок выполнения операции в выражениях подчиняется правилам старшинства (приоритетам) операции. Раньше выполняется операция, имеющая более высокий приоритет
Операции с равным приоритетом обычно выполняются слева на право, хотя иногда компилятор при генерации оптимального кода может переупорядочить операнды.
Определение принадлежности операндов к операциям производится по следующим правилам:
1. Операнд, находящийся между двумя операциями с различными приоритетами, связывается с операцией, имеющей более высокий приоритет.
2. Операнд, находящийся между двумя операциями с равными приоритетами, связывается с той операцией, которая находится слева от него.
Когда последовательность операции имеют равный приоритет, то в первую очередь выполняется самая левая операция. Для управления последовательностью выполнения операций в выражении следует использовать скобки. В таблицах 1 и 3 с правой стороны в колонках указаны приоритеты приведенных операций.
По функциональному признаку все множества операций можно разделить на следующие группы:
1. Арифметические операции.
Таблица 1
Арифметические операции и их приоритеты |
||||||
Операции |
Fortran |
QuickBasic Visual Basic |
Turbo Pascal |
|||
Возведение в степень |
** |
1 |
^ |
1 |
|
|
Присвоение знака (унарное) |
-,+ |
3 |
-,+ |
2 |
-,+ |
1 |
Деление |
/ |
2 |
/ |
3 |
/ |
2 |
Умножение |
* |
2 |
* |
3 |
* |
2 |
Целочисленное деление |
|
|
\ |
4 |
div |
2 |
Остаток |
|
|
MOD |
5 |
mod |
2 |
Вычитание |
- |
3 |
- |
6 |
- |
3 |
Сложение |
+ |
3 |
+ |
6 |
+ |
3 |
2. Операции отношения (сравнения).
Таблица 2
Операций отношений. Имеют одинаковый приоритет |
|||
Названия |
Fortran |
QuickBasic Visual Basic |
Turbo Pascal |
Больше больше или равно меньше меньше или равно равно не равно |
.GT. .GE. .LT. .LE. .EQ. .NE. |
> >= < <= = <> |
> >= < <= = <> |
3. Логические операции.
Таблица 3
Логические операции и их приоритеты |
||||||
Названия |
Fortran |
QuickBasic Visual Basic |
Turbo Pascal |
|||
отрицание (НЕ) (унарный) конъюнкция (И) дизъюнкция (ИЛИ) неравенство равенство импликация |
. NOT. .AND. .OR. .NEQV. .EQV. - |
1 2 3 4 4
|
NOT AND OR XOR EQV IMP |
1 2 3 4 5* 6* |
NOT AND OR XOR - - |
1 2 3 3 |
В Visual Basic операции «равенство» и «импликация» отсутствуют.
4. Поразрядные логические и сдвиговые операции.
Fortran: нет. QuickBasic: нет.
Turbo Pascal:
- унарные: not
- бинарные: and, or, xor, shl, shr
5. Строковая операция (конкатенция).
Таблица 4
Названия |
Fortran |
QuickBasic Visual Basic |
Turbo Pascal |
конкатенция |
// |
+ |
+ |
6. Операции над множествами.
Fortran: нет. QuickBasic: нет. Turbo Pascal: +, -, *, in, <=, >=.
7. Адресная операция.
Fortran: нет. QuickBasic: нет. Turbo Pascal: унарная @.
Приоритеты операции (последовательность выполнения)
Fortran: арифметические операций (наивысший приоритет), символьные операции, операции отношения, логические операции (низший приоритет).
QuickBasic, Visual Basic: арифметические операций (наивысший приоритет), символьные операции, операции отношения, логические операции (низший приоритет).
Turbo Pascal: определяется по таблице 5.
Таблица 5
Операция |
Приоритет |
Вид операции |
@, not |
первый (высший) |
унарная операция |
*, /, div, mod, and, shl, shr |
Второй |
операция умножения, деления, сдвига |
+, -, or, xor |
Третий |
операция сложения |
=, <>, <, >, <=, >=, in |
четвертый (низший) |
операция отношения |