Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная 4 ВЫРАЖЕНИЯ И ОПЕРАТОРЫ ПРИСВАИВАН...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
269.31 Кб
Скачать

Лабораторная работа № 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

четвертый (низший)

операция отношения