Часть 2. Лабораторный практикум по курсу «оСновы информационных технологий и программирование»
(язык программирования фортран)
Лабораторная работа №1
Тема: Арифметические и логические выражения. Разработка и реализация программ с линейной структурой
Цель работы:
-
получить навыки составления арифметических и логических выражений на языке Фортран;
-
получить навыки работы по созданию проекта в среде FPS;
-
научиться составлять программу с линейной структурой, используя средства языка Фортран.
Задания к лабораторной работе
Задание 1.1 Математическую запись представить на языке Фортран
№ вар. |
Математическое выражение |
№ вар. |
Математическое выражение |
1,2 |
а) б) |
3,4 |
а) б) |
5,6 |
а) б) |
7,8 |
а) б) |
9,10 |
а) б) |
11,12 |
а) б) |
13,14 |
а) б) |
15,16 |
а) б) |
17,18 |
а) б) |
19,20 |
а) 10 б) |
Задание 1.2 Представить запись на языке Фортран в виде математического выражения. Указать порядок выполнения действий.
№ вар |
Арифметическое выражение на языке Фортран |
1,20 |
A/B/D+SIN(2*X)-ABS(B*X)-1.E-02+3*H**(1/3.) |
2,19 |
2*SQRT(SIN(3*X*X)+4)-0.2#P**3/D |
3,18 |
LOG10(2*X-1)+COS(X)**2-ABS(SIN(X))/2.*C |
4,17 |
3.17*X**5/(2.7E-3*A+SQRT(X**5+EXP(-X))) |
5,16 |
SIN(5*X**3)**2-A/3.**SQRT(X+Y)*4.8 |
6,15 |
ATAN(ABS(X**3))+COSH(X)**2/2.*(1-Y) |
7,14 |
(X/A**2)**3-TAN(R/2/C)+(2/X-A**5)**(1/3.) |
8,13 |
(A+B)/(C+D/(X+Y))-ABS(X-0,5*Y)*2*SINH(X) |
9,12 |
2*SQRT(SIN(3*X*X)+4.)-0.2/P**3/D |
10,11 |
A+B/C*D-LOG(ABS(B*X))-1.E-02+3*H**(1./3) |
Задание 1.3.
Составить программу с линейной структурой (представить блок-схему). Выполнить программу в среде Compaq Visual Fortran и записать результаты ее выполнения
Номер варианта |
Вычисляемые значения |
Формулы для вычислений
|
Исходные данные |
1,2 |
T,l
|
; ; t=2i-1 |
a)i=3,x=2,7 y=2 б)I=5,x=0,5 y=0,01 |
3,4 |
P,r
|
; |
а)к=2, б)к=3, |
5,6 |
|
; u=2k+1 |
а)к=3,у=34,7,t=60 б)к=1,у=0,74,t=2,5
|
7,8 |
|
; ; |
a)k=2,x=2,4,t=1,52 б)k=3,x=5,12,t=15,8 |
9,10 |
T,r
|
a)k=5,x=1,24,y=3,24 б)k=3,x=2,38,y=13,44 |
|
11,12 |
P,r
|
a)n=2, б)n=3, |
|
13,14 |
K,n
|
a)I=1,x=1,35,y=2 б)I=2,x=1,8,y=2,3 |
|
15, 16 |
x, y |
; |
a, b |
17,18 |
x, y, z |
; |
a, b |
19,20 |
z, x |
; ; |
a, b |
Образец выполнения работы
Задание 1.1. Математическую запись представить на язык Фортран
Дано выражение
Рассмотрим элементы числителя:
10-7 → 1.0e-7
z**3
abs(3*z**3)
log(abs(3*z**3))
z**5
sin(2*z**5)
Таким образом числитель можно записать:
1.0e-7*log(abs(3*z**3))+sin(2*z**5).
Рассмотрим элементы знаменателя:
sqrt(z+1)
106 → 1.0e+6
Знаменатель имеет вид:
sqrt(z+1)+1.0e+6
Все выражение имеет вид:
(1.0e-7*log(abs(3*z**3))+sin(2*z**5))/(sqrt(z+1)+1.0e+6)
Задание 1.2 Представить запись на языке Фортран в виде математического выражения
Дано выражение :
X+4/3/(X+Abs(ATan(X)))/2*X+1.0E-5*X**(5/3)
Разобьём выражение на слагаемые
X+ 1 |
4/3/(X+Abs(ATan(X)))/2*X+ 2 |
1.0E-5* X**(5/3) 3 |
Рассмотрим слагаемые по отдельности:
1) X → x
2) Примем условные обозначения:
С = X+Abs(ATan(X)), тогда
4/3/С/2*x →
X+Abs(ATan(X)) →
Подставим вместо С выражение X+Abs(ArcTan(X))
4/3/(X+Abs(ATan(X)))/2*X →
3) 1.0E-5 → 10-5
X**(5/3) →
Все выражение имеет вид
X+4/3/(X+Abs(ATan(X)))/2*X+1.0E-5* X**(5/3))→
+
Задание 1.3. Составить программу с линейной структурой (представить блок-схему). Выполнить программу в среде Compaq Visual Fortran и записать результаты выполнении.
Решение:
-
Принимает с клавиатуры значения x и z
-
вычисляет выражения , ,
-
выводит на экран значения a и b.
Составим алгоритм программы в графическом виде с использованием блок-схемы (рис.Л1.1).
Рис. Л1.1 Схема алгоритма программы с линейной структурой
Текст программы
Program Lr1 !заголовок программы
real x, z, a, r, b !блок описания переменных
print ’(a,$)’,’Vvedite x ’
read(*,*),x ! ввод исходных данных (значения переменной х)
print ’(a,$)’,’Vvedite z ’
read(*,*),z ! ввод исходных данных (значения переменной z)
r=tan(34/23.)+x ! блок вычислений
a=log(abs(z-(1.0e5+x)/(exp(2+r)+4)))/log(10.)
b= z**3 + a**2
print’(a,f8.3,a,f8.3)’,‘a=’,a,’b=’,b!вывод результатов
end program Lr1 !оператор окончания программы
Результаты работы программы:
Vvedite x 2
Vvedite z 2
a= 0.293 b= 8.086.