Задание
Составить
программу, которая вычисляет математически
эквивалентные пары числовых формул: y1 ~ y2 и z1 ~ z2, с указанными в варианте
задания значениями переменных, выводит
переменные и результаты вычислений.
В программе нельзя
заменять числа в формулах задания и функции
(кроме sec x) эквивалентными
значениями. Разрешается вводить обозначения.
Отчет
Отчет по
лабораторной работе должен содержать:
a)
название работы;
b)
номер варианта;
c)
фамилию, имя, отчество и номер группы
студента, выполнившего работу;
d) текст задания;
e) формулы в том виде, как они
приведены в варианте задания;
f) ОДЗ данных для формул y1,
y2;
g) распечатку программы и
результатов;
h) вопросы к заданию с
правильными ответами.
Справочная информация
Старшинство
операций:
Операция |
Знак |
Старшинство |
Вычисление
функции |
имя(аргумент) имена
см. ниже |
1 |
Возведение
в степень |
** |
2 |
Умножение,
деление |
*, / |
3 |
Сложение,
вычитание |
+, – |
4 |
В
заданиях используются функции:
в
формуле |
в
Фортране |
в
формуле |
в
Фортране |
в
формуле |
в
Фортране |
|
SQRT(x) |
cos
х |
COS(x) |
tg х |
TAN(x) |
¦х¦ |
ABS(x) |
sin
х |
SIN(x) |
ctg
х |
COTAN(x) |
Функцию sec х
вычислять из соотношения sec х · cos х = 1.0
Обратим
внимание на типичные ошибки.
Формула |
Запись
на Фортране |
cos x2 |
правильно
COS(x**2), не правильно COS (x)**2
возведение в степень в формуле относится к
аргументу, а не к функции |
cos2x |
правильно
COS(x)**2, не правильно COS **2(x)
после
имени функции в Фортране аргументы в скобках, а
не операция |
2x+b |
правильно
2*x + b,
не правильно 2x + b
знак операции умножения в Фортране опускать
нельзя |
|
правильно
a/((b+c)*d), не
правильно а/(b+c)*d
в
а/(b+c)*d нарушен
порядок операций, он соответствует формуле |
X2Y |
правильно
X**(2*Y), не правильно x**2*y
в x**2*y нарушен
порядок операций, он соответствует формуле X2Y |
X -Y |
правильно
x**(-y), не правильно x**-y
два знака операции подряд в Фортране записывать
нельзя |
|
правильно
1.0/3.0, не правильно 1/3
результат
деления целых чисел 1/3 равен
0 |
|
правильно x**(1.0/3.0), не правильно x**1.0/3.0
в x**1.0/3.0 порядок
операций соответствует формуле
так же не правильно x**(1/3), результат деления 1/3
равен 0, а x0 =
1 |
Программируя числовые формулы,
необходимо учитывать следующее:
-
переменные предпочтительно
именовать со смыслом, например, для длины
окружности: circle
=
2*Pi*Radius
! С = 2pR;
-
формулу пишут в строчку, может длинную;
действия выполняются по старшинству; скобки
(только круглые) изменяют их порядок;
-
знак умножения, как в 2pR,
опускать нельзя 2* Pi*Radius
;
-
в ссылке на функцию после имени функции в
круглых скобках пишут аргументы;
-
используется два комплекта
арифметических операций, которые выбираются
компьютером по типу вступающих в операцию
операндов, если операнды целые, ответ целый и
точный, если хотя бы один операнд вещественный –
ответ вещественный и приближенный; особенно
существенно понимание этого механизма для
операции деления;
-
громоздкие формулы надо упрощать, вводя
обозначения и определяя обозначения для
повторяющихся частей формулы;
-
для контроля разумно восстановить
формулу по выражению.
1) исходные значения: x=3.3
Программа
! группа № студент
ФИО вариант №
Program Lab1
Implicit None !
все переменные должны быть объявлены
Real Y1, Y2, S1, YD
Real :: X =
3.3
!
Аналогичные описания для Z1,Z2
!Open(6,file=’1.txt’)!в
начале вывод на экран, затем убрать ! перед Open
Write(6,*) ’x=’, X
S1 = SQRT(X**2-9.0) !
повторяющаяся часть формулы
YD= X**2 - 2.0*X - 3.0 + (X-1.0)*S1 !
знаменатель y1
Y1 = (
X**2 + 2.0*X - 3.0 + (X+1.0)*S1 ) / YD
Write(6,*) ’Y1=’,Y1
Y2 = SQRT (X+3.0) / SQRT
(X-3.0)
Write(6,*) ’Y2=’,Y2
Write(6,*) ’|Y2-Y1|=’, ABS(Y2-Y1)
! Аналогично
вычисления и вывод для Z1,Z2
End Program Lab1
Вопросы к
заданию
1. Что
называется программой на алгоритмическом языке?
а) файл на диске; б) файл внутри которого есть
слово program в)
другой ответ.
2. Что должно обязательно
присутствовать в имени файла с программой на
Фортране 90?
а) хотя бы одна буква; б)
слово fortfan; в) другой ответ.
3. Как записать комментарий в
программе?
а) начать его с красной
строки б) начать его с ! ; в) другой ответ.
4. Какие числовые типы используют в
Фортране?
5. Можно ли вещественныю константу 6420.
записать в программе без точки?
6. Какая из констант является
наименьшей?
а) 24.0 б) 2.4Е+2 в) 0.24Е+3
7. Какое из чисел выведенных
компьютером больше и почему?
а) 3.300000 б) 4.768372E-07
8. Какие имена переменных программы
записаны верно, а какие нет?
а) F1
б) Y(X)
в) X_1 г) Б5 д) Z.8
е) 3J ж) ?4
9. Как правильно записать в программе
ссылку на функцию синус от x?
а) sinX б) sinx
в) sin(x)
10. N
– целая переменная, равная 1, что получим на
компьютере в результате вычисления 1/((2*N+1)*(2*N+2))
?
11. В каком порядке выполняются
операции в числовой формуле?
а) со скобками б) без скобок
12. A
– вещественная переменная, равная 2.0, что получим
на компьютере в результате вычисления –A**2 ?
13. A
– вещественная переменная, равная 2.0, B - вещественная переменная, равная
4.0, что получим на компьютере в результате
вычисления A
+ B/2.0?
14. Запишите на Фортране формулу 3sinx + 4cos2x2
–
15. B - вещественная переменная, равная
4.0, что получим на компьютере в результате
вычисления?
a) 1 /2*b б)1/(2*b)
16. Исправьте
ошибку
а) sqrt(4) б) sqrt(4.,0.)
17. Что получим
на компьютере в результате вычисления
(-27.0)**(1.0/3.0)
Варианты заданий
№ |
Данные |
Формулы |
1 |
a=8.6
b=1.3
c=3.3
a=0.75 |
;
;
; |
2 |
a=3.5
b=-2.1
a=0.1 |
;
;
;
|
3 |
m=0.4
n=2.1
a=0.43 |
;
;
;
|
4 |
a=15.1
a=1.23 |
;
;
; |
5 |
a=12.3
a=0.43 |
; ;
;
|
6 |
a=3.5
b=0.72
a=0.62 |
; ;
;
|
7 |
a=4.3
a=0.43 |
;
;
; |
8 |
x=3.2,
y=0.8
a=0.81 |
;
;
;
|
9 |
a=0.7
x=0.44
y=0.82 |
;
;
; |
10 |
x=1.4
y=2.8
a=0.66
b=0.82 |
;
;
; |
11 |
a=5.1
a=0.1 |
;
;
;
|
12 |
a=5.3
b=2.1
a=0.75 |
;
;
;
|
13 |
a=1.7
b=2.8
a=0.22 |
;
;
;
|
14 |
a=5.3
a=0.3
b=0.1 |
;
;
;
|
15 |
m=1.8
a=0.43
b=0.58 |
;
;
;
|
16 |
x=0.3
a=0.77 |
;
;
;
|
17 |
x=4.8
a=0.75 |
;
;
;
|
18 |
a=2.3
b=1.89
a=0.23 |
;
;
;
|
19 |
b=4.8
a=0.23 |
;
;
;
|
20 |
a=12.3
a=0.24 |
;
;
;
|
21 |
x=2.8
a=0.97 |
;
;
;
|
22 |
x=1.4
y=2.8
a=0.5
b=0.34 |
;
;
;
|
23 |
m=0.65
a=1.43 |
;
|
24 |
a=5.1
a=0.3 |
;;
;
|
25 |
b=3.8
a=0.28 |
;
;
;
|
26 |
x=4.3
a=1.23 |
;
;
;
|
27 |
p=0.7
a=0.54 |
; ;
;
|
28 |
m=2.3
a=0.23
b=1.2 |
;
;
;
|
29 |
a=6.3
a=0.1
b=0.7 |
;
;
;
|
30 |
m=0.47
a=0.1 |
;
;
;
|