- •«Информатика»
- •Содержание
- •1. Константы
- •2. Типы констант
- •3. Переменные
- •4. Типы переменных
- •5. Операторы описания
- •6. Арифметические операции Операции по приоритету:
- •7. Расположение текста программы на экране дисплея
- •Правила набора текста программ:
- •Правило:
- •4 Write(6,*)’ Введите значения сторон треугольника a,b,c’
- •8. Технология прохождения фортран – программ на эвм
- •Технология прохождения фортран – программ на эвм
- •9. Арифметический оператор if
- •If(арифметическое выражение) m1, m2, m3
- •Примечание:
- •Правило:
- •If арифметический не может быть последним оператором в цикле do.
- •4 Write(6,*)’ Введите значения сторон треугольника a,b,c’
- •8 Write(6,*)’ Площадь треугольника равна нулю’
- •9 Write(6,*)’ Такой треугольник не существует’
- •10. If логический
- •If(логическое выражение) выполняемый оператор
- •70% Ошибок у программистов возникает из-за несоответствия типов переменных!.
- •Условные обозначения логических операторов на блок-схемах
- •If арифметический if логический
- •11. Табулирование функции
- •12. Оператор цикла do
- •Внимание:
- •Примечание:
- •3 Write(6,*)’Введите переменные a,b,c’
- •13. Массивы
- •Примечание:
- •Вычисление определенного интеграла
- •1 Write(6,*)’Введите значения a,b,dx’
- •14.Работа содномерными массивами Ввод массивов
- •Первый способ ввода массивов:
- •Второй способ ввода массивов:
- •Третий способ ввода массивов:
- •15. Вывод массивов Первый способ вывода массива
- •Второй способ вывода массива:
- •Третий способ вывода массива:
- •Четвёртый способ вывода массива:
- •Способ вывода массива в два столбца:
- •Фрагменты задач с одномерными массивами
- •If(b.Eq.K) write(6,*)’ Число m является чётным’
- •Сортировка массива
- •Второй способ сортировки массива:
- •16. Конструкция if then–else if then–else – end if
- •If (логическое выражение 1) then
- •Правила:
- •Примечания:
- •17. Оператор data
- •Правило:
- •Правило:
- •18.Работа с двухмерными массивами
- •19. Ввод двухмерного массива
- •Второй способ ввода массивов:
- •Третий способ ввода массивов:
- •Четвертый способ ввода массивов:
- •Фрагменты задач с двухмерными массивами
- •20. Вывод двухмерного массива
10. If логический
Записывается в виде:
If(логическое выражение) выполняемый оператор
Пример:
IF(A.GT.B) Y=SIN(X) Если А больше В то Y присвоить значение sin(x)
В качестве выполняемых операторов могут быть:
1). Операторы присваивания типа Х=3.5;
2). Операторы ввода – вывода информации READ,WRITE;
3). Оператор перехода GOTO;
4). Оператор вызова подпрограммы CALL;
5). Оператор PAUSE.
В логических выражениях происходит сравнение значений двух выражений или переменных. Эти выражения разделяются операцией отношения.
Операции отношения соответствуют математическим обозначениям:
.GT. > .GE. .EQ. = .NE. .LE. .LT.< |
Рассмотрим, что значит выражение:
IF(A.GT.B) Y=SIN(X)
Это означает: если А больше В, то Yприсваивается синус от Х. Затем после этого оператора будет выполнятся следующий за ним. Если А не больше В, то оператор присваиванияY= игнорируется и выполняется оператор, следующий послеIF.
Кроме операций отношения используют, и логические операторы, с помощью которых можно организовать более сложные условия.
Логические операторы:
-
.AND. – логическое ‘И’
.OR. – логическое ‘ИЛИ’
.NOT. – логическое ‘НЕТ’
Пример:
если a+b≥с>2*sinx, то напечататьa,b,x
IF(A+B.GE.C.AND.C.GT.2.*SIN(X)) WRITE(6, *) A,B,X
IFлогический работает следующим образом:
1). Определяется логическое выражение, стоящее в скобках. Это логическое выражение может быть истинно и иметь значение .TRUE. или может быть ложным и иметь логическое значение .FALSE.. Если логическое выражение в скобкахистинно, то выполняется выполняемый оператор, стоящий за скобками оператораIF. Если логическое выражение в скобкахложно, то выполняемый оператор не выполняется. Как в первом, так и во втором случае послеIFлогического выполняется следующий за ним по тексту программы оператор, за исключением случая, когда логическое выражение истинно, а выполняемым оператором являетсяGOTO. (Пример:IF(A.GT.0.)GOTO7).
Задача: Вычислить значение в зависимости от данных условий.
Преобразуем неравенство x > 2bк виду сравнения с нулем
x – 2b > 0
x = 2b -> x - 2b = 0
x < 2b -> x - 2b < 0
С Программа № 3 с IF арифметическим
REAL LAM
В этой строке переменная LAM описывается как переменная вещественного типа.
Если не сделать этого описания, а использовать в программе переменную LAM, то из-за несоответствия типов (LAM – целого типа, а используется как вещественного) будет возникать ошибка. У этой переменной не может быть дробной части.
WRITE(6,*)’Введите значения x,b’
READ(5,*) X,B
IF(X-2.*B) 4,7,8 Сравниваем условие и переходим на одну из меток
8 LAM=SIN(X)
GO TO 10
7 LAM=0.
GO TO 10
4 LAM=COS(X)
10 WRITE(6,*)’Вычисленное значение Лямбда=’,LAM
PAUSE
STOP
END
70% Ошибок у программистов возникает из-за несоответствия типов переменных!.
Ошибки вроде и пустяковые, но из-за них может не заработать даже абсолютно правильно составленная программа. И на устранение ошибки может уйти достаточно много времени. Обратите внимание!
Как и все программы, эта программа может быть составлена большим количеством разных способов. Приведём другой способ решения этой же задачи.
С Программа № 4 с использованием IF логического
REAL LAM Вместо описания имена LAM как вещественного типа можно задать другое имя, которое не будет начинаться на буквы I,J,K,L,M,N, например ALAM
WRITE(6,*)’Введите значения x,b’
READ(5,*) X,B
IF(X.GT.2.*B) LAM=SIN(X)
IF(X.EQ.2.*B) LAM=0.
IF(X.LT.2.*B) LAM=COS(X)
WRITE(6,*)’Вычисленное значение Лямбда=’,LAM
PAUSE
STOP
END
Лучше ещё ввести новую переменную и присвоить ей выражение 2.*В и далее использовать эту переменную:
……….
A=2.*B
IF(X.GT.A) LAM=SIN(X)
Кстати, вместо первого оператора IF(X.GT.2.*B) LAM=SIN(X) можно просто записать LAM=SIN(X) . Проанализируйте программу и убедитесь, что она будет работать правильно. Проанализируйте, что произойдет, если таким же образом заменить последний оператор IF.