- •«Информатика»
- •Содержание
- •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. Вывод двухмерного массива
Условные обозначения логических операторов на блок-схемах
If арифметический if логический
11. Табулирование функции
Табулирование функции– это вычисление какой-либо функции с аргументом, изменяющейся в каких-то пределах.
Задача:
Вычислить и напечатать все значения функции:
f=sinx2-excos2x,
если xизменяется в пределах отадоbс шагомdx.
С Программа № 5. Циклы с оператором IF.
WRITE(6,*)’Введите Xнач, Xкон, шагцикла’
READ(5,*) XN,XK,DX
С Блок корректировки шага
N=(XK-XN)/DX+1 определяем количество вычислений на отрезке a ÷ b
DX=(XK-XN)/(N-1) уточняем значение шага
C Переменной цикла присваиваем начальное значение
X=XN
C Вычисляем значение функции
11 F=SIN(X*X)–EXP(X)*COS(X)**2
У показателя степени 2 точку ставить нельзя, т.к. нельзя возвести отрицательное число в вещественную степень.
С Выводим результат вычисления на экран
WRITE(6,*)’При Х=’,X,’ значение функции равно’,F Выводим на экран значение аргумента Х и соответствующее ему значение функции F.
C Задаём приращение аргумента
X=X+DX
С Проверяем условие повторения цикла
IF(X.LE.XK) GO TO 11
PAUSE
STOP
END
Для организации цикла с помощью оператораIFмы сделали:
1). Х присвоили XN:
X=XN
2). Сделали вычисление значения Fв области цикла:
F=SIN(X*X)–EXP(X)*COS(X)**2
3). Увеличили значение аргумента на величину шага цикла:
X=X+DX
4). С помощью IFлогического проверили условие повторения цикла:
IF(X.LE.XK) GO TO 11
При вычислении значений этой функции, например, при Х, изменяющемся от 1 до 10 с шагом 2, текущее значение Х будет равно 1,3,5,7,9. Т.е. не будет получено последнее значение функции на заданном отрезке. Поэтому в программе и применяется блок корректировки шага. Количество вычислений на отрезке будет N=(10-1)/2+1=5 (целое число). Новое, уточненное значениеDXбудет равно (10-1)/(5-1)=2.25
12. Оператор цикла do
Оператор DOпредназначен для создания циклов, обеспечивающих многократное выполнение группы операторов в программе.
Оператор DOпо сравнениюcIFявляется более мощным инструментом для организации циклов. Форма записи следующая:
DO m i=i1 , i2 , i3
где m – метка оператора, являющегося последним в области циклаDO;
i– переменная цикла, изменяющаяся от начального значенияi1 до конечного значенияi2 с шагомi3.
Пример:
DO 8 I=1,13,2
M=I*I область цикла
8 WRITE(6,*) I,M
. . .
Оператор цикла DOработает следующим образом:
1). Переменной цикла iприсваивается начальное значениеi1, затем выполняются все операторы в области цикла, включая и последний с меткойm. Затем к величине переменнойiприбавляется величина шагаi3и полученное новое значение переменной цикла сравнивается с конечным значениемi2. Если новое значение переменной цикла больше чем значениеi2, то осуществляется выход из цикла и выполнение передаётся оператору, следующему после меткиm.Если значение переменной циклаi меньше, чемi2, то повторяется вычисление в области цикла, начиная с оператора, следующего послеDO.
Внимание:
После окончания цикла переменная цикла сохраняет всегда значение большее, чем конечное значение цикла i2. В случае выхода из цикла до его завершения переменная сохранит свое текущее значение.
В качестве оператора, являющегося последним в цикле DO, предпочтительнее ставить операторCONTINUE, который не выполняет никаких действий, а просто показывает, что на нём закончился цикл.
Оператор CONTINUEчаще всего является последним оператором циклаDOв тех случаях, когда последним оператором циклаDOможет оказаться один из операторов:
IF(арифметический), PAUSE, STOP или другой управляющий оператор.
Пример:
. . .
DO 4 I=1,8,2
X=X+2.
. . .
IF(X) 4,2,3
Так как последним оператором тела DO не может быть арифметический оператор IF
4 CONTINUE
. . .
Если шаг цикла сделать отрицательным, а начальное и конечное значение положительным, то произойдёт зацикливание программы до переполнения разрядной сетки ЭВМ (-32767).
Начиная с версии ФОРТРАН–77 в качестве переменной цикла можно использовать переменные вещественного типа. Например :
DO 7 X=XN , XK , DX
...
7 WRITE(*,*) X , Y