Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лек-1.doc
Скачиваний:
36
Добавлен:
03.03.2015
Размер:
342.53 Кб
Скачать

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

Как уже отмечалось, оператор присваивания обозначается знаком равенства (=) и записывается в виде:

varname = выражение

В результате присваивания переменная varname получает новое значение, которое определяется в результате вычисления выражения.

Заметим, что знак оператора присваивания трактуется иначе, чем знак равенства в математике. Так, например, в математике запись типа k=2*k+2 фактически означает запись уравнения, решением которого является k=-2, а уравнение k=k+1 и вовсе не имеет решения. Приведем пример фрагмента программы:

integer(4) :: k=7

k=k+1 ! После присваивания k равно 8, т.е. k увеличивается на 1

k=2*k+2 ! После присваивания k равно 16, т.е. значение k

! увеличивается в 2 раза, а затем еще увеличивается на 2

Оператор присваивания определен для числовых, логического и символьного типов данных. Использовать varname для переменной производного типа можно, если выражение имеет тот же тип, что и varname.

Если тип переменной varname отличается от типа выражения, то результат выражения преобразовывается к типу varname. В результате таких преобразований возможна потеря точности, и необходимо следить, чтобы эта потеря не привела к искажению результата, например:

integer n

real x,y

n=7./2; x=7./2 ! После присваивания n равно 3, а x равно 3.5

y=n*5 ! Возвращает 15 – потеря точности

y=x*5 ! Возвращает 17.5 – вычисления без потери точности

19

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]