Логическое выражение на ФОРТРАНЕ


X.GE.0.AND.X.LE.1.5

Вопрос 3.

Представить математическую запись арифметического выражения и указать порядок действий. Дано:

 

Ответ:

 

Вопрос 4. (часть 2.)

Дано: Записать выводимые строки с помощью операторов форматного вывода(PRINT, FORMAT) при следующих значениях переменных: М=20, А= 30.5, С = 10 5

 

PRINT 2, М, А, С

2 FORMAT( 2X,'ЧИСЛО МОЛЕЙ M =',І 3, / 3X,' A=', F 5.1, / 4X,' C = ', E 10.1 )

 

 

Ответ: Форматные выводимые строки значений переменных будут иметь вид:

 

_ _ЧИСЛО_МОЛЕЙ_М=_20 _

_ _ _ А=_30.5 ._

_ _ _ _C =_ _100000.0(или =_ _0.1Е+0.6)

 

 

Задания к лабораторной работе № 1

 

Записать на Фортране следующие арифметические выражения. Составить блок-схему и текст программы с линейной структурой для вычисления величин Р,Q,R,S,Т и организации их форматного вывода (подобно выполненному заданию контрольной работы - части 2). Выбрать только необходимые, для каждого варианта, значенияисходных данных:

A=1.2 B=3.0 C=1.6 D=2.0 E=- 2.0 X=1.0 Y = - 1.0

 

 

В а р и а н т № 1

 

В а р и а н т № 2

 

 

 

В а р и а н т № 3

В а р и а н т № 4

 

 

В а р и а н т № 5

 

В а р и а н т № 6

В а р и а н т № 7

В а р и а н т № 8

 

 

В а р и а н т № 9

 

 

В а р и а н т № 10

В а р и а н т № 11

В а р и а н т № 12

Пример выполнения лабораторной работы № 1

Тема: Составление блок-схемы и программы с линейной структурой алгоритма.

Цель работы: Выполнение простейших программ на ФОРТРАНе, с использованием операторов ввода, присваивания и форматного вывода.

Теория: Краткие сведения из теории об используемых в работе операторах

Представить блок схему:…..............................................................................................

Выводы: ...........................................................................................................................

 

Задание: Составить блок-схему и программу для вычисления величин Р,Q,R,S,Т и последующего их форматного вывода, при таких исходных данных:

 

A=1.2 B=3.0 C=1.6 D=2.0 E=- 2.0 X=1.0 Y = - 1.0

 

Программа:

 

PROGRAM EX21

* Петров И.И гр.1008

PRINT*,‘ Введите значения исходные данных для переменных A,B,C,D,E,X ’

READ (5,*) A, B, C, D, E, X

PRINT *

P = ( X+A / X-B)** B - 1

Q = A-B / A* (A** 2- 2.1 *B) * SIN (X)

R = ALOG10 ( 1 + TAN (X) **2 )

S = A + B * X + C * X ** 2 + D * X ** 2 + E * X ** 4

Т = - 4.3 – Х ** А * ( 6.2 – А )

PRINT * ,’ Результаты расчетов’

PRINT *

PRINT *, P=’ , P, ’Q=’ ,Q, ’R=’ ,R, ’ S=’ ,S, ’ T=’ ,T

END

 

Вводим значения исходных данных(числа через пробел),для переменных, указанных в строке оператора READ(5,*) «список переменных», с обязательным соответствием типа и колличества вводимых чисел, типу и колличеству переменных соответственно занимаемым позициям в «списке переменных» оператора READ:

 

1.2 3.0 1.6 2.0 - 2.0 1.0 Затем нажать клавишу "Enter"

 

 

В результате работы программы на экран будет выдано следующее:

 

Результаты расчетов:

Р= 2.2775610Q= 0.964265R= 0.8817250S= 6.7056000Т= -9.8296000

 

 

Записать в отчет исходные данные (числа при вводе) и результаты расчетов !

 

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

использован бесформатный вывод. При выполнении же всех лабораторных работ и оформлении отчетов к ним, необходимо использовать форматный вывод, подобно выполненному заданию контрольной работы - части 2, с использованием оператора

FORMAT. Образец на стр. 29 вопрос 3.

 

Пример выполнения лабораторной работы №1.2

Вычислить значение z и к , заданных формулами

при исходных данных:

a) i=3; j=0,7; х=2;

b) i=4; j=0,8; х=4,5.

Так как в выражение для z входят β, в выражение для β входит k , то нужно вычислить последовательно k , β, z.

 

24 Таблица имен для переменных Блок-схема вычислений

Переменная Имя в программе Тип
I I Целый
k K Целый
a ALFA Вещественный
β BETA Вещественный
x X Вещественный
z Z Вещественный

k = i2-12

 

z=|sin3βx|
Программа:

PROGRAM LAB1.2

READ (5,*) I, ALFA, X

K= I**2-12

BETA=(1.25E6+ALFA**K)/((X**2+2.73)**(1./3.)

* -EXP(-X**2))

Z=ABS(SIN(BETA*X)**3)

WRITE(7, 1) K, Z

1 FORMAT (‘ K=’,I4,10X,’Z=’,E10.3)

END

 

Результат работы программы:

 

a) I=3 ALFA=0.7 X=2

K= -3 Z=0.997E+00

 

b) I=4 ALFA=0.8 X=4.5

K=4 Z=0.992E+00

 

Варианты заданий к л а б о р а т о р н о й работе №1.2в таблице 3.

Составить программу для вычисления значения переменных (гра­фа 2), заданных формулами (графа 3) при исходных данных (графа 4). Номер варианта (графа 1). Таблица 3.

Номер варианта Вычисляемые переменные Формулы для вычислений Исходные данные
t, L 3 t – sin22x L= ; z = e – ty ; t = 2i - 1 z3/2 + 1 a) i = 3; x = 2,7; y = 2*10-3 б) i = 5; x = 0,5 ; y = 0,01
p, r P = | tg22rx | ; r = 2k+1 + 1;
 
 


3 αy

x = 2,34 * 10-5 eay

α2 + 1

а) k = 2; α = 3,7; y = 1,4 б) k = 3; α = 0,8; y = 1
λ, u 125 * 106 sin2 x2 λ = ; 5 e4 - t-y   y x = arcsin ; u = 2k + 1 y2 + 1   а) k = 3; y = 34,7; t = 60 б) k = 1; y = 0,74; t = 2,5
γ, z arcsin z – w * 0,75 γ = ; x2 3 0,34 * 10-5 e + x + sin t   z = ; w = 2k + 1   1 + x2 w а) k = 2; x = 2,4; t = 1,52 б) k = 3; x = 5,12; t = 15,8
t, r 1+tg y t = ln |sin x2| + ; s = 3k – 2 k+1 (r + 1) y   5 r = 0,284*105 e-s+2 + (y2+1)2 ;   а) k = 5; x = 1,24; y = 3,24 б) k = 3; x = 2,38; y = 13,44
p, r 3 cos2 λ u + 2r + 1 p = ; 2,74 * 10-8 u λ n t = esinr arcsin λ u ; r = 2n2 – n – 2   а) n = 2 ; λ = 1,5; u = 0,2 б) n = 3; λ = 10; u = 28,4
k, n k = | cos2 2yx | ; n = 2i+1 + 2 ; n x = 1,84 * 10-8ey*y ey / (e2 + 1)   а) i = 1; y = 2 б) i = 2; y = 2,5    
a, b   | u * b |3 + 5 b2+1 a = 1,84 * 10-5 b u b = e sin s + ; s = 2n2 - 1 3 y + 1   а) n = 1; u = 14,2; y = 0,44 б) n = 2; u = 1,84; y = 12,3
k, n 24,7 * 10-8 + x2 + λ y k = sin2 nx * | x2 + y2 – 3,44 * 102 | 3 n = 3i – 2; y = (1 – x2)2 а) i = 1; λ = 14,2; x = 0,4 б) i = 2; λ = 8,2; x = 1,2    
z, n ky z = arcsin ; 3 1 + y2 (k2 + 1)   kx n = e-sin2y + ; k = 3i + 2 lnx-x2 а) i = 1; y = 11,2; x = 0,5 б) i = 2; y = 3,1; x = 1,2
c, d   c = |cos3(2dt)|; d = 3k-1 + 2;
 
 


4 αx

t = 1,72*102 eαx

α2 + x2

 

а) k = 2; α = 1,2; x = 5,2 б) k = 3; α = 1,8; x = 3,17
a, b 5 z – cos22x a = ; b = 2k2 – 1; λ = e-bx*x λ3/2 + 5,1   а) k = 2; x = 13,8; z = 27,34 б) k = 1; x = 1,1; z = 7,8
u, v arccos v – t * 34,2 u = ; 18,78 * 10-7 1+x2 + 3 x+sin t * v v = e-tx*x + ; t = 3i – 2i+1 tx   а) i = 2; x = 3,41 б) i = 3; x = 14,1
x, t 5 t2 + y2 + sin2 λ y t x = 3,4 * 10-6 yt λ 2 t = |sin y2| esin y ; λ = 3i+1 + 1   а) i = 1; y = 3,4 б) i = 2; y = 18,2
a, b   a = |tg3 2kb|; b = 2k – 1; 5 λz k = 2,34 * 10-6 e λz z2 + 1 а) n = 3; λ = 3,4; z = 1,3 б) n = 4; λ = 7,8; z = 9,8
p, r 1 + sin y p = + sin ln x; (2 + 1) y
 
 


r = 3 (y3+1)2 -0,185 * 10-5 es ;

 

s = 4k – 3k+1

а) k = 2; x = 0,34; y = 17,2 б) k = 3; x = 1,2; y = 24,3
m, α   m = |tg22αx|; α = 3k-1 + 1;   α y x = e-y ; y2 + α   а) k = 2; y = 2,34 б) k = 3; y = 4,24
r, t   r = |sin32λt |; t = 2k-1 + 1;   3 zt λ = ezt; z2 + y4   а) k = 2; z = 0,74; y = 5,3 б) k = 3; z = 1,34; y = 7,7
x, y 5 sin32z x = ; y = 3i + 1; α = e-yz α3/2 + z а) i = 1; z = 0,75 б) i = 2; z = 13,4
 
             

Метки операторов

Обычно операторы программы выполняются последовательно друг за другом, т.е. после выполнения первого оператора выполняется второй, следующий за первым, после выполнения второго – выполняется третий и т.д. Такой порядок выполнения операторов называется естественным. Во многих случаях возникает необходимость нарушения естественного порядка вычислений. В таком случае следует указать оператор, который следует выполнить, пропустив ряд операторов, или, наоборот, вернувшись ближе к началу программы. Чтобы такое действие стало возможным оператор необходимо пометить.

Метка – это номер строки с оператором. Она состоит не более чем из четырех цифр, расположенных в строго отведенных позициях любой строки: со 2-й по 5-ю включительно. Метки выбираются программистом произвольно. Операторы, имеющие метку, называются помеченными. Правила присвоения меток:

 

1. Оператору можно присвоить только одну метку.

2. Две метки, отличающиеся ведущими нулями, считаются одинаковыми. Например,

метки 01, 0001, 1 – одинаковы.

3. Два оператора в одном программном модуле не должны иметь одинаковые метки.

4. Не обязательно расположение меток в порядке возрастания их номеров. Пример:

 

A = 25.7

7 B = 11.2

15 C = A ** 2 + SQRT (A * B)

7 D = C * (A + B)

2 D1 = D ** 2 / (A * B * C)

 

Этот пример иллюстрирует ошибку присвоения меток: два оператора в одном программном модуле имеют одинаковые метки (07и7).

 

 

Форматный ввод

Когда данные для программы обеспечивает сам программист, лучше использовать ввод под управлением списка (см. оператор READ(5,*)). Но может оказаться, что данные поступают из другого источника, или данных очень много и их следует как-то упорядочить. В подобных случаях используется форматный ввод. Рассмотрим пример форматного ввода: READ (5,100) I, J, K, (L(М), М=1,4)

5 FОRМАТ (I2, 2I3, 2(I1, I2))

По этому оператору вводится семь целых чисел, из них три простые переменные и четыре переменных с индексами, т.е. четыре элемента массива. В операторе FОRМАТ указано количество позиций в строке исходных данных, отводимых под каждое число. На число Iотведено две позиции, на число L и К – по 3 позиции, на первый и третий элементы массива – по одной позиции, на второй и четвертый – по две позиции, Если строка записи исходных данных имеет вид: 12 33 45 67

то в результате выполнения оператора READ получим

I J К L(1) L(2) L(3) L(4)

I 2 34 5 6 0 7

Общая форма F спецификации имеет такой же вид, как и при выводе, а именно

rFwd,где:

w- определяет ширину поля вывода, г – повторитель спецификации, а d ко­личество десятичных цифр в дробной части числа. Если число в записи данных содержит десятичную точку, то F – спецификацию записывают в виде rFw.0

Рассмотрим пример форматного ввода:

RЕАD (5, 50) А, В, С, D

FОRМАТ (F10.0, F10.4, F10.2, F10.6)

Пусть запись данных содержит следующие символы:

1.0 3.4 7 12345 67

В результате выполнения этих операторов переменная А получит значение 1.0, а переменная В – значение 3.47, так как символы пробела внутри поля ввода игнорируются. Значениеd, равное 0 и 4 в спецификациях F10.0 и F10.4. игнорируется, так как в каждом из указанных полей ввода имеется десятичная точка. По спецификации F10.2 содержимое позиций 21-30 (12345 ) считывается в ячейку С как число 123.45; так как в этом поле ввода нет десятичной точки, то цифра 2 в спецификации F10.2 определяет, что два последние, отличные от пробела символы, должны восприниматься как цифры дробной части числа. И, наконец, по спецификации F10.6 содержимое позиций 31-40 (67 ) считывается в переменную D как число 0.000067. В этом поле ввода нет десятичной точки, поэтому цифра 6 в спецификации F10.6 определяет, что последние шесть символов поля, отличных от пробела, воспринимаются как цифры дробной части числа. В поле ввода только два символа отличные от пробела, поэтому они и стали самыми младшими цифрами дробной части числа, а остальные цифры полагаются равными 0.

 

 

РАЗДЕЛ II.Лабораторная работа № 2

Алгоритмы

 

Совокупности правил, позволяющие решить какую-либо задачу, называют алгоритмами. Таким образом, все мы живем в мире алгоритмов. Они экономят силы и время человека, так как однажды усвоенным алгоритмом он может пользоваться всю жизнь.

Разработка алгоритмов для решения задач на компьютере требует специальных навыков. Чтобы облегчить построение и проверку алгоритма, запись его должна быть понятной, наглядной, допускать возможность некоторых изменений алгоритма.

Алгоритмам присущ ряд свойств, которые и объясняют, почему исполнитель может получить решение какой–либо задачи без особого труда.

1. Дискретность. Алгоритм состоит из последовательности законченных действий - шагов. Переход к следующему шагу возможен лишь после завершения предыдущего. Это свойство алгоритма всегда состоять из отдельных завершенных шагов называется дискретностью.

2. Определенность.Чтобы исполнитель мог решать задачу по заданному алгоритму, необходимо, чтобы каждая команда алгоритма всегда однозначно понималась и точно исполнялась. Это значит, что любая команда, выполненная много раз или различными исполнителями при одних и тех же исходных данных всегда должна давать один и то же результат. Эти требования и составляют свойство определенности алгоритма. Чтобы исключить возможность неоднозначного понимания команд алго-ритма, для описания алгоритмов разработаны специальные языки, в которых каждое предложение имеет абсолютно точный смысл.

3. Массовость.С помощью алгоритма можно решать не одну конкурентную задачу, а множество однотипных задач. Эти требования можно выполнять, если, разрабатывая алгоритм, придерживаться так называемого структурного подхода – применять вспомогательные алгоритмы, описывать алгоритм с помощью трех основных структур: следования, ветвления, повторения. Эти структуры на рисунке. 2:

 

           
     
 
 

 


 

следования

 

ветвления

повторения

Рис. 2

 

2.2 Рассмотрим пример составления схем алгоритмов.

Составить схему поиска наибольшего значения из трех величин X1,X2,X3.

Положим U равным X1. Сравним теперь U с X2. Если U > X2, то остается его прежнее значение. Если же окажется, что U < X2, то принимается U = X2. Затем сравним U с X3. Если U< X3 , то U следует положить равным X3. Таким образом, величине U будет присвоено значение наибольшего из трех заданных чисел.

Теперь алгоритм решения задачи можно представить более четко:

 

1. U положить равным X1

2. Если U ≥ X2 , перейти к п. 4

3. U положить равным X2

4. Если U ≥ X3 , перейти к п. 6

5. U положить равным X3

6. Стоп.

Несколько усовершенствуем форму записи алгоритма – вместо слов «положить равным» будем писать оператор присваивания = . Тогда предложенный алгоритм будет выглядеть следующим образом и иметь разветвляющуюся структуру (рис 3):

1. U = X1

2. Если U ≥ X2 , перейти к п. 4

3. U = X2

U = x1
4. Если U ≥ X3 , перейти к п. 6

5. U = X3

6.Стоп.

нет

да

U = x2

 
 


нет

U = x3

да

Рис. 3









Последнее изменение этой страницы: 2016-04-07; Нарушение авторского права страницы

infopedia.su не принадлежат авторские права, размещенных материалов. Все права принадлежать их авторам. Обратная связь