Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты МП.docx
Скачиваний:
54
Добавлен:
27.03.2015
Размер:
145.11 Кб
Скачать

14. Языковые средства вычислений над данными: выражение, оператор присваивания. Синтаксис и симантика выражения и опретора присваивания.

ВЫРАЖЕНИЕ – множество взаимосвязанных операций над переменными и константами и скобок «()», в котором результат одной операции является операндом другой.

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

может быть первичным выражением, таким как, например, вызов функции или выражением, заключенным в круглые скобки.

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

Оператор присваивания

В простейшем случае общий вид оператора: V = E;

Здесь V – имя переменной, а E – выражение. В операторе присваивания используется операция присваивания = .

Тип вычисленного значения выражения перед присваиванием преобразуется к типу переменной по правилам преобразования типов.

12. Совместимость типов. Преобразование типов.

В выражениях в качестве операндов могут присутствовать переменные и константы разных типов (здесь и далее мы ограничимся пока только известными нам базовыми типами данных). Результат каждой операции также имеет свой определенный тип, который зависит от типов операндов. Если в бинарных операциях типы данных обоих операндов совпадают, то результат будет иметь тот же самый тип. Если нет, то транслятор должен включить в код программы неявные операции, которые преобразуют тип операндов, то есть выполнить ПРИВЕДЕНИЕ ТИПОВ. Преобразование типов может включать в себя следующие действия:

-увеличение или уменьшение разрядности машинного слова, то есть “усечение” или “растягивание” целой переменной;

-преобразование целой переменной в переменную с плавающей точкой и наоборот;

-преобразование знаковой формы представления целого в беззнаковую и наоборот.

В тех случаях, когда программиста не устраивает принятый порядок неявного преобразования типов, он может сам преобразовать результат к такому типу, какой ему необходим. Это можно сделать, в частности, путем присваивания результата дополнительной переменной, во время которого требуемое преобразование будет произведено. Но он может сделать то же самое внутри выражения "на лету" с помощью специальной операции. Она представляет собой имя типа, к которому осуществляется приведение, заключенное в круглые скобки и стоящее перед операндом. В качестве примера рассмотрим получение дробной части числа:

double x,d; // double x,d; int n;

d = x - (int)x; // n = x; d = x - d;

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

1) все операнды типа float преобразуются к типу double;

2) если один операнд имеет тип long double, то второй операнд преобразуется к типу long double;

3) если один операнд имеет тип double, то второй операнд преобразуется к типу double;

4) если один операнд имеет тип unsigned long, то второй операнд преобразуется к типу unsigned long;

5) если один операнд имеет тип long, то второй операнд преобразуется к типу long;

6) если один операнд имеет тип unsigned int, то второй операнд преобразуется к типу unsigned int;

7) все операнды типа char преобразуются к типу int;

8) все операнды типа unsigned char преобразуются к типу unsigned int;

9) иначе оба операнда имеют тип int.

Тип значения выражения имеет тип результата последней выполняемой операции в этом выражении

15. ЯЗЫКОВЫЕ СРЕДСТВА УПРАВЛЕНИЯ ВЫЧИСЛЕНИЯМИ: ВЕТВЛЕНИЯ, ЦИКЛЫ (ПОНЯТИЕ, НАЗНАЧЕНИЕ, СТРУКТУРНАЯ СХЕМА, ВИДЫ).

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

Таким образом, в самом общем виде структурная схема цикла содержит три части:

- действия по подготовке цикла к первому исполнению;

- действия, являющиеся основным содержанием данного вычислительного процесса – тело цикла;

- действия, отслеживающие повторение тела цикла – проверка условия продолжения или условия окончания повторений.

Блок-схема алгоритма вычисления значения полинома n–й степени для заданного значения x:

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