没有合适的资源?快使用搜索试试~ 我知道了~
工程分析程序设计上机作业Fortran部分1.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 107 浏览量
2022-06-17
05:12:55
上传
评论
收藏 785KB DOC 举报
温馨提示
试读
64页
工程分析程序设计上机作业Fortran部分1
资源推荐
资源详情
资源评论
工程分析程序设计 上机作业(二)
模块化编程(1)
上机目的:掌握 内部例程、主程序、外部例程、接口块、模块等功能的使用方法。
1、 有一个六边形,求其面积。为求面积,作了 3 条辅助线。如图所示:(提示,三角形面积 =
,其中 ,a、b、c 为三个边长)。要求用内部函数来实现。
PROGRAM MAIN
IMPLICIT NONE
REAL ::L1=10,L2=20,L3=18,L4=15,L5=21,L6=14,L7=30,L8=36,L9=28
REAL F
F=AREA(L5,L6,L9)+AREA(L1,L8,L9)+AREA(L2,L7,L8)+AREA(L3,L4,L7)
PRINT*,F
CONTAINS
FUNCTION AREA(A,B,C)
REAL S,A,B,C,AREA
S=(A+B+C)/2
AREA=SQRT(S*(S-A)*(S-B)*(S-C))
END FUNCTION
END
2、 使用牛顿法求解以下方程的根:(要求用外部子程序)
PROGRAM MAIN
IMPLICIT NONE
REAL F,DF
EXTERNAL GEN
CALL GEN(F,DF)
END
SUBROUTINE GEN(F,DF)
IMPLICIT NONE
REAL ::X=0
REAL F,DF
INTEGER ::N=0
INTEGER ::MaxN=100
REAL ::Eps=1.0E-6
F=X**2+4*X+1
DF=2*X+4
DO WHILE (ABS(F)>Eps.AND.N<MaxN)
X=X-F/DF
N=N+1
F=X**2+4*X+1
DF=2*X+4
END DO
IF (F<=Eps) THEN
PRINT*,'ANSWER IS ',X
ELSE
PRINT*,'NO ANSWER'
END IF
END SUBROUTINE
PROGRAM MAIN
IMPLICIT NONE
REAL F,DF
EXTERNAL GEN
CALL GEN(F,DF)
END
SUBROUTINE GEN(F,DF)
IMPLICIT NONE
REAL ::X=0
REAL F,DF
INTEGER ::N=0
INTEGER ::MaxN=100
REAL ::Eps=1.0E-6
F=7*X**4+6*X**3-5*X**2+4*X+3
DF=28*X**3+18*X**2-10*X+4
DO WHILE (ABS(F)>Eps.AND.N<MaxN)
X=X-F/DF
N=N+1
F=7*X**4+6*X**3-5*X**2+4*X+3
DF=28*X**3+18*X**2-10*X+4
END DO
IF (F<=Eps) THEN
PRINT*,'ANSWER IS ',X
ELSE
PRINT*,'NO ANSWER'
END IF
END SUBROUTINE
3、 编写一个子例程子程序,SUM(S,T,N1,N2)。把整型数 N1 到 N2 进行求和,并把求和的结果放
置到 S,把整型数 N1 到 N2 进行求积,并把求积的结果放置到 T。并用这个子程序来计算
PROGRAM MAIN
IMPLICIT NONE
INTEGER N1,N2,S,T,A1,A2,A3,A4,Y
PRINT*,'请输入 N1,N2:'
READ*,N1,N2
CALL SUM(S,T,N1,N2)
A1=S
PRINT*,'请输入 N1,N2:'
READ*,N1,N2
CALL SUM(S,T,N1,N2)
A2=S
PRINT*,'请输入 N1,N2:'
READ*,N1,N2
CALL SUM(S,T,N1,N2)
A3=T
PRINT*,'请输入 N1,N2:'
READ*,N1,N2
CALL SUM(S,T,N1,N2)
A4=T
Y=A1+A2+A3-A4
PRINT*,'Y=',Y
END
SUBROUTINE SUM(S,T,N1,N2)
IMPLICIT NONE
INTEGER S,T,N1,N2,I
S=0
T=1
DO I=N1,N2
S=S+I
T=T*I
END DO
END
4、 编写一个模块程序,提供以下服务:定义出常量
、e。定义出子程序,实现求和 、求阶乘 n!。
并在主程序中计算如下结果:从键盘上输入整数 n、实型数 A、R、R
0
,求 (实型)和
(实型)
5、 MODULE CX
6、 IMPLICIT NONE
7、 REAL,PARAMETER::PI=3.1415926,E=2.718
8、 CONTAINS
9、 FUNCTION ADD(N)
10、 IMPLICIT NONE
11、INTEGER I,N,ADD
12、 ADD=1
13、 DO I=2,N
14、 ADD=ADD+I
15、 END DO
16、 END FUNCTION
17、 FUNCTION CJ(N)
18、 IMPLICIT NONE
19、 INTEGER I,N,CJ
20、 CJ=1
21、 DO I=1,N
22、 CJ=CJ*I**2
23、 END DO
24、 END FUNCTION
25、 END MODULE
26、 PROGRAM MAIN
27、 USE CX
28、 IMPLICIT NONE
29、 INTEGER N
30、 REAL A,R,R0,D,F
31、 PRINT*,'请输入 n,A,R,R0'
32、 read*,N,A,R,R0
33、 PRINT*,ADD(N)
34、 PRINT*,CJ(N)
35、 D=CJ(N)/ADD(N)
36、 F=A*N/(2*PI*R**2)*(R/R0)**N*E**(-1*(R/R0)**N)
37、 PRINT*,D,F
38、 END
剩余63页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 81
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python-leetcode面试题解之第157题用Read4读取N个字符-题解.zip
- python-leetcode面试题解之第156题上下翻转二叉树-题解.zip
- python-leetcode面试题解之第155题最小栈-题解.zip
- python-leetcode面试题解之第153题寻找旋转排序数组中的最小值-题解.zip
- python-leetcode面试题解之第152题乘积最大子数组-题解.zip
- python-leetcode面试题解之第151题反转字符串中的单词-题解.zip
- python-leetcode面试题解之第150题逆波兰表达式求值-题解.zip
- python-leetcode面试题解之第149题直线上最多的点数-题解.zip
- python-leetcode面试题解之第148题排序链表-题解.zip
- python-leetcode面试题解之第147题对链表进行插入排序-题解.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功