Алгоритмы линейной структуры

Содержание

Слайд 2

Общая структура основной (головной) Фортран–программы (MAIN PROGRAM): СТРУКТУРА ПРОГРАММЫ на ФОРТРАНЕ

Общая структура основной (головной) Фортран–программы (MAIN PROGRAM):

СТРУКТУРА ПРОГРАММЫ на ФОРТРАНЕ

[ PROGRAM

имя программы ]

[ ! КОММЕНТАРИИ ]

[ неисполняемые операторы - объявления ]

[ исполняемые операторы ]

END [ PROGRAM [имя программы ] ]

[ ] – НЕОБЯЗАТЕЛЬНАЯ ЧАСТЬ КОНСТРУКЦИИ
ТЕКСТ, ИЗОБРАЖЕННЫЙ ЗДЕСЬ КРАСНЫМ КУРСИВОМ ИМЕЕТ ВПОЛНЕ ОПРЕДЕЛЕННЫЙ СМЫСЛ И ЗАПИСЫВАЕТСЯ В СООТВЕТСТВИИ С ТРЕБОВАНИЯМИ ЯЗЫКА
END ОПЕРАТОР ОБЯЗАТЕЛЬНО ЗАВЕРШАЕТ ПРОГРАММУ

Слайд 3

Делятся на исполняемые операторы и неисполняемые : ОПЕРАТОРЫ Исполняемые операторы задают

Делятся на исполняемые операторы и неисполняемые :

ОПЕРАТОРЫ

Исполняемые операторы задают действия над

данными:

1. Операторы обработки информации

Операторы присваивания
Операторы чтения (ввода)
Операторы записи (вывода)

2. Операторы, управляющие работой программы во времени.

Неисполняемые операторы служат для описания типа данных или некоторых элементов программы (операторы описания или просто описания и объявления).

Комментарии предназначены человеку для документирования программы и для улучшения понимания алгоритма и операторов.

Слайд 4

Алгоритм является линейным, если все шаги алгоритма выполняются последовательно в их

Алгоритм является линейным, если все шаги алгоритма выполняются последовательно в их

естественном порядке для любых исходных данных, возможных в данной задаче.

Программирование линейных алгоритмов

Рассмотрим возможные в таких алгоритмах действия (операторы Фортрана).

НАЧАЛО ПРОГРАММЫ

ВВОД ДАННЫХ

ВЫЧИСЛЕНИЯ ПО ФОРМУЛАМ. ПРИСВАИВАНИЕ ЗНАЧЕНИЙ

ВЫВОД РЕЗУЛЬТАТОВ

КОНЕЦ ПРОГРАММЫ

Слайд 5

PROGRAM {имя программы} Операторы начала и конца программы Например, PROGRAM PRIMER_1

PROGRAM {имя программы}

Операторы начала и конца программы

Например,

PROGRAM PRIMER_1 ! имя программы

PRIMER_1

PROGRAM POISK ! имя программы указывает на ее ! содержание

END ! Конец программы

Слайд 6

Для задания начальных значений величин очень часто используется ввод этих значений

Для задания начальных значений величин очень часто используется ввод этих значений

с клавиатуры.

Оператор ввода данных

Например, требуется ввести значения четырех переменных t, y, k и f:

READ*, t, y, k, f ! В списке ввода имена отделяются запятыми

* означает, что ввод значений идет по умолчанию с клавиатуры, порядок определяется списком

На этапе выполнении программы значения вводятся с клавиатуры, отделяясь друг от друга либо запятыми, либо пробелами либо
нажатием клавиши ENTER.

Слайд 7

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

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

блокировано.

Оператор ввода данных

Пример ввода значений:

0.56 -2.756 100 0.003
!Числа отделяются пробелом или

0.56, -2.756, 100, 0.003
!Числа отделяются запятой или

0.56 ! Числа отделяются клавишей ENTER
-2.756
100
0.003

Таким образом, переменная t станет равной 0.56, y=-2.756, k = 100 и f = 0.003

Слайд 8

В программе необходимо предусмотреть необходимо предусмотреть вывод результатов выполнения программы. Для

В программе необходимо предусмотреть необходимо предусмотреть вывод результатов выполнения программы.

Для этого служит оператор вывода:

ОПЕРАТОР ВЫВОДА ДАННЫХ И ПОЯСНЯЮЩИХ ТЕКСТОВ

PRINT*, {список вывода }

* означает, что вывод значений идет по умолчанию на экран в соответствии со списком

Например, необходимо вывести значения двух переменных q и m:

PRINT*, q, m

Список вывода также может содержать поясняющий текст, например,

PRINT*, “ q=“,q, “ m=“,m

Слайд 9

Список вывода оператора PRINT может содержать ОПЕРАТОР ВЫВОДА ДАННЫХ имена переменных,

Список вывода оператора PRINT может содержать

ОПЕРАТОР ВЫВОДА ДАННЫХ

имена переменных,

строковые

константы (записываются в одиночных или двойных кавычках) для пояснения результатов и вывода текста

арифметические выражения. В этом случае сначала вычисляется значение арифметического выражения, а затем
вычисленное значение выводится на экран

Слайд 10

PRINT*, ″VVOD M,N ″ ! вывод на экран подсказки для ввода

PRINT*, ″VVOD M,N ″
! вывод на экран подсказки для ввода

ПРИМЕРЫ

1.

PRINT*,

z, y
! Вывод только значений переменных z и y

2.

PRINT*, ″ Z= ″, z, ″ Y= ″, y
! Вывод значений переменных z и y с пояснением

3.

PRINT*, " SQRT( 2.0 ) =", SQRT( 2.0 )
! Вывод значения корня квадратного из числа 2 с пояснением

4.

Слайд 11

Общий вид этого оператора: x = АВ АРИФМЕТИЧЕСКИЙ ОПЕРАТОР ПРИСВАИВАНИЯ где

Общий вид этого оператора:
x = АВ

АРИФМЕТИЧЕСКИЙ ОПЕРАТОР ПРИСВАИВАНИЯ

где x – имя

переменной (простой или с индексами),
АВ - арифметическое выражение (правая часть формулы),
= знак присваивания.
Слайд 12

Для компьютера этот оператор - указание о выполнении следующих действий: АРИФМЕТИЧЕСКИЙ

Для компьютера этот оператор - указание о выполнении следующих действий:

АРИФМЕТИЧЕСКИЙ ОПЕРАТОР

ПРИСВАИВАНИЯ

1) вычислить значение арифметического выражения (АВ) в правой части оператора при текущих значениях входящих в него переменных;

2) привести значение полученного результата к типу переменной, находящейся в правой части оператора;

3) присвоить переменой, находящейся в правой части оператора, вычисленное и приведенное к типу переменной значение.

Слайд 13

PROGRAM PR_1 Примеры INTEGER:: J=2 REAL :: A=3.4, F=5.25, B=9.7 A=F

PROGRAM PR_1

Примеры

INTEGER:: J=2
REAL :: A=3.4, F=5.25, B=9.7

A=F ! значение переменной F


! присваивается переменной A

J=B ! значение переменной B
! присваивается переменной J

PRINT*, “A=”,A,” F=”,F,” J=”,J
! вывод результатов на экран
END

В результате выполнения программы, на экране увидим следующий результат:
A=5.25 F=5.25 J=9

Слайд 14

PROGRAM PR_2 Примеры INTEGER:: J=2, I REAL :: A=3.3, F=5.25, B

PROGRAM PR_2

Примеры

INTEGER:: J=2, I
REAL :: A=3.3, F=5.25, B

B=J*A+F ! переменной B

присваивается результат
! вычисления выражения J*A+F , преобразован-
! ного к вещественному типу

I=J*A+F ! переменной I присваивается результат !вычисления выражения J*A+F, преобразованного
!к целому типу

PRINT*, “B=”,B,” I=”,I
! вывод результатов на экран
END

На экране увидим следующий результат:
B=11.85 I=11

Слайд 15

Пример

Пример