当前位置:网站首页>FORTRAN77从文件中读入若干数据并用heron迭代公式开方
FORTRAN77从文件中读入若干数据并用heron迭代公式开方
2020-11-08 01:33:00 【wangxuwei】
要求做到:
1.不限制数据个数,自动计数并打印序号
2.遇到负数时,跳过开方,直接打印并标记
3.遇到0.0,程序停止
Heron迭代方法。
- 初始化 (X0 = A);(x1 =1/2*{x0+A/ x0});
- 计算 (Delta_k = |x1 - x0|;
- 若(Delta_k < epsilon),返回(x),算法结束;
- (x1 =1/2*{x0+A/ x0});
- 返回第2步;
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
数据要以行来分割,而不是空格,并用0.0结束:
$ 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
运行:
$ 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下gfortran-10编译通过(vax780的f77也测试过)
版权声明
本文为[wangxuwei]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/2245781/blog/4707791
边栏推荐
- 关于晋升全栈工程师,从入门到放弃的神功秘籍,不点进来看一看?
- Data structure and sorting algorithm
- About the promotion of the whole stack of engineers, from the introduction to give up the secret arts, do not click in to have a look?
- Static + code block + polymorphism + exception
- Cpp(二) 创建Cpp工程
- Adobe Prelude /Pl 2020软件安装包(附安装教程)
- Delphi10's rest.json And system.json Step on the pit
- QT hybrid Python development technology: Python introduction, hybrid process and demo
- Golang anonymous structure member, named structure member, inheritance, composition
- Windows subsystem Ubuntu installation
猜你喜欢
爆一个VS2015 Update1更新带来的编译BUG【已有解决方案】
The software in your host has terminated an established connection. resolvent
0.计算机简史
WPF 关于绘图个人总结
Improvement of maintenance mode of laravel8 update
Swiper window width changes, page width height changes lead to automatic sliding solution
Goland 编写含有template的程序
UCGUI简介
LadonGo开源全平台渗透扫描器框架
use Xunit.DependencyInjection Transformation test project
随机推荐
Using subprocess residue in supervisor and python multiprocessing
Web安全(二)---跨域资源共享
Writing method of field and field comparison condition in where condition in thinkphpp6
京淘项目知识点总结
The emergence and significance of micro service
Adobe media encoder /Me 2021软件安装包(附安装教程)
什么你的电脑太渣?这几招包你搞定! (Win10优化教程)
Lay UI left tree Dtree right list table
C++在C的基础上改进了哪些细节
Golang anonymous structure member, named structure member, inheritance, composition
到底选openstack还是vmware?
Mouse small hand
学习Scala IF…ELSE 语句
1. In depth istio: how is sidecar auto injection realized?
2020天翼智能生态博览会中国电信宣布5G SA正式规模商用
C语言I博客作业03
PerconaXtraDBCluster8.0 最详尽用法指南
Improvement of maintenance mode of laravel8 update
Web安全(三)---CSRF攻击
Got timeout reading communication packets解决方法