当前位置:网站首页>FORTRAN 77 reads some data from the file and uses the heron iteration formula to solve the problem
FORTRAN 77 reads some data from the file and uses the heron iteration formula to solve the problem
2020-11-08 01:33:00 【wangxuwei】
Required :
1. There is no limit to the number of data , Automatically count and print serial numbers
2. When you encounter a negative number , Skip the recipe , Print directly and mark
3. encounter 0.0, The program to stop
Heron Iterative method .
- initialization (X0 = A);(x1 =1/2*{x0+A/ x0});
- Calculation (Delta_k = |x1 - x0|;
- if (Delta_k < epsilon), return (x), The algorithm ends ;
- (x1 =1/2*{x0+A/ x0});
- Back to page 2 Step ;
C
C heronus1.f
C
C Unlimited number of data, automatic counting and printing serial number
C When negative numbers are encountered,skip square root, print them directly and mark them
C Encountered 0.0, the program stopped
PROGRAM heronus1
EPS=.1 E-4
I=0
OPEN(11,file='fheronus.dat')
10 READ(11,*)A
I=I+1
IF (A) 1,2,30
1 WRITE(6,100) I,A
100 FORMAT(1X, I6,10X,F10.6,' NEGATIVE NUMBER')
GO TO 10
2 STOP 'END OF JOB'
30 X0=A
20 X1=.5*(X0+A/X0)
IF (ABS(X1-X0).LT.EPS) GO TO 40
X0=X1
GO TO 20
40 WRITE(6,110) I,A,X1
110 FORMAT(1X, I6,2F10.6)
3 CONTINUE
GO TO 10
END
Data should be divided into rows , Not spaces , And use 0.0 end :
$ cat fheronus.dat
1
2
3
4
5
6
7
8
9
10
11
12
12
13
13
14
16
21
22
13
25
22
13
21
52
32
-23
121
12
0.0
function :
$ f77 heronus1.f
$ a.out
1 1.000000 1.000000
2 2.000000 1.414214
3 3.000000 1.732051
4 4.000000 2.000000
5 5.000000 2.236068
6 6.000000 2.449490
7 7.000000 2.645751
8 8.000000 2.828427
9 9.000000 3.000000
10 10.000000 3.162278
11 11.000000 3.316625
12 12.000000 3.464102
13 12.000000 3.464102
14 13.000000 3.605551
15 13.000000 3.605551
16 14.000000 3.741657
17 16.000000 4.000000
18 21.000000 4.582576
19 22.000000 4.690416
20 13.000000 3.605551
21 25.000000 5.000000
22 22.000000 4.690416
23 13.000000 3.605551
24 21.000000 4.582576
25 52.000000 7.211102
26 32.000000 5.656854
27 -23.000000 NEGATIVE NUMBER
28121.000000 11.000000
29 12.000000 3.464102
STOP END OF JOB
ubutnu18.04 Next gfortran-10 Compile and pass (vax780 Of f77 Also tested )
版权声明
本文为[wangxuwei]所创,转载请带上原文链接,感谢
边栏推荐
- Static + code block + polymorphism + exception
- Python image recognition OCR
- golang 匿名结构体成员,具名结构体成员,继承,组合
- CPP (4) boost installation and basic use for Mac
- ROS learning: remote start ROS node
- Swiper window width changes, page width height changes lead to automatic sliding solution
- android基础-RadioButton(单选按钮)
- Got timeout reading communication packets解决方法
- 学习Scala IF…ELSE 语句
- Qt混合Python开发技术:Python介绍、混合过程和Demo
猜你喜欢
Animation techniques and details you may not know
The software in your host has terminated an established connection. resolvent
Problems of Android 9.0/p WebView multi process usage
16.文件传输协议、vsftpd服务
Privacy violation and null dereference of fortify vulnerability
Littlest jupyterhub| 02 using nbgitpuller to distribute shared files
QT hybrid Python development technology: Python introduction, hybrid process and demo
VC6 compatibility and open file crash resolution
C语言I博客作业03
面部识别:攻击类型和反欺骗技术
随机推荐
【解决方案】分布式定时任务解决方案
C language I blog assignment 03
Data transmission of asynchronous serial communication controlled by group bus communication
Golang anonymous structure member, named structure member, inheritance, composition
November 07, 2020: given an array of positive integers, the sum of two numbers equals N and must exist. How to find the two numbers with the smallest multiplication?
尾-递
数据库基本操作
What? Your computer is too bad? You can handle these moves! (win10 optimization tutorial)
获取树形菜单列表
Interface
接口
c# 表达式树(一)
Qt混合Python开发技术:Python介绍、混合过程和Demo
Simple use of future in Scala
CPP (3) what is cmake
Cpp(四) Boost安装及基本使用 for Mac
异常+abstract
These core technology of object-oriented, after you master it, you can have a good interview
Web安全(二)---跨域资源共享
Littlest jupyterhub| 02 using nbgitpuller to distribute shared files