- •Лекция-1 основы программирования на языке фортран
- •§ 1.1. Алфавит языка Фортран
- •§ 1.2. Структура главной программы. Форматы записи
- •1.2.1. Структура главной программы.
- •1.2.2. Свободный формат записи.
- •1.2.3. Фиксированный формат записи.
- •§ 1.3. Имена
- •§ 1.4. Объекты данных
- •1.4.1. Виды объектов данных.
- •1.4.2. Встроенные типы данных.
- •1.4.3. Буквальные константы.
- •1.4.4. Именованные константы.
- •1.4.5. Переменные.
- •1.4.6. Правила умолчания о типах данных и их изменение.
- •§ 1.5. Арифметические операции и выражения
- •1.5.1. Понятие операции, выражения и операнда.
- •1.5.2. Арифметические операции и арифметические выражения.
- •§ 1.6. Встроенные математические функции
- •§ 1.7. Оператор присваивания
§ 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 – вычисления без потери точности |
