Fortran95程序设计实验报告50c5jWord下载.docx
- 文档编号:22495095
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:29
- 大小:568.58KB
Fortran95程序设计实验报告50c5jWord下载.docx
《Fortran95程序设计实验报告50c5jWord下载.docx》由会员分享,可在线阅读,更多相关《Fortran95程序设计实验报告50c5jWord下载.docx(29页珍藏版)》请在冰豆网上搜索。
WRITE(1,"
(1X,'
Integer='
I4)"
)I
PRINT*,N,S
WRITE(1,"
Numberofintergers='
I4,3X,'
Sum='
I6)"
)N,S
end
实验结果考屏
测试题目2
任意输入12个实数,请编写程序用于统计每个正数(Positive)和负数(Negative)的个数,分别将请将这些实数保存到一维动态数组中。
并将这些实数输出到文件中(TestReals02.txt)。
programTest02
implicitnone
integer:
num(12),i,Num_P,Num_N,n
numPositive,numNegative
Num_P=0
Num_N=0
n=12
inputandoutput
print*,'
pleaseinput'
n,'
integers'
open(1,file='
TestReals02.txt'
status='
doi=1,n
read*,num(i)
enddo
write(1,'
(1x,12I4)'
)(num(i),i=1,12)
close
(1)
loopforallintegers
if(num(i)>
0)then
Num_P=Num_P+1
elseif(num(i)<
Num_N=Num_N+1
endif
enddo
Positivesarethenumberof:
'
Num_P
Negativesarethenumberof:
Num_N
usingallocatabledata
allocate(numPositive(Num_P))
allocate(numNegative(Num_N))
Num_P=Num_P+1
numPositive(Num_P)=num(i)
Num_N=Num_N+1
numNegative(Num_N)=num(i)
print*,(numPositive(i),i=1,Num_P)
print*,(numNegative(i),i=1,Num_N)
测试题目3
已知,
,请编写程序,推求
和
,并将它们分别写入一维动态数组中,并将它们分别输出到文件中(TestSinA03.txt和TestCosB03.txt)。
programTest03
parameter(pi=3.1415926)
integeri,num_sc
real:
x,sinx,cosx,a,b
real,dimension(:
sin22,cos22
TextSinA03.txt'
open(2,file='
TextCosB03.txt'
num_sc=0
doi=0,360,20
x=i/180.0*pi
a=(sin(x))**2
b=(cos(x))**2
write(1,"
('
Degreeis'
i5,2X,'
(sin(x))**2valueisgivenas:
'
F5.3)"
)i,a
write(2,"
(cos(x))**2valueisgivenas:
)i,b
num_sc=num_sc+1
close
(2)
definetheallocatabledataandsettheirvalues
allocate(sin22(num_sc))
allocate(cos22(num_sc))
sin22(num_sc)=(sin(x))**2
cos22(num_sc)=(cos(x))**2
print*,i,x,sin22(num_sc),cos22(num_sc)
测试题目4
输入
值(
),按
,精度要求五位有效数字,最后一项小于
,请编写程序并将这些项(
)写入一维动态数组中,最终输出到文件中(TestTerms04.txt),并在屏幕上打印输出,
的值。
programmain
n
xx,QQ,Term,eps=1E-5
Termss
n=1
print'
(A/)'
'
Inputasmallvalueofx(absolutevalueislessthan1)=='
read*,xx
Term=xx
QQ=Term
dowhile(abs(Term)>
=eps)
n=n+1
Term=xx**n/n
QQ=QQ+Term
print*,'
Qis'
QQ,'
numberoftermsis'
n
writethesetermsintoanallocatabledataarray
allocate(Termss(n))
n=0!
zero
Termss(n)=Term
print*,n,Term,Termss(n)
测试题目5
对两个同阶矩阵(
行
列,使用动态数组)进行相加,编写程序,并将这些
的两个测试矩阵(ARR1和ARR2)之和输出到文件中(TestArrays05.txt)。
测试矩阵ARR1=
测试矩阵ARR2=
PROGRAMTest05
real,DIMENSION(:
:
),ALLOCATABLE:
Arr1,Brr2,Crr3
INTEGER:
S=2,T=3
ALLOCATE(Arr1(S,T),Brr2(S,T),Crr3(S,T))
PRINT*,'
InputdataofArr1andBrr2!
!
DOi=1,S
READ*,(Arr1(i,j),j=1,T)
Arr1(1,1)=1.5;
Arr1(1,2)=2.8;
Arr1(1,3)=3.6
Arr1(2,1)=12.7;
Arr1(2,2)=1.2;
Arr1(2,3)=8.4
DOi=1,S
READ*,(Brr2(i,j),j=1,T)
ENDDO
Brr2(1,1)=2.5;
Brr2(1,2)=2.2;
Brr2(1,3)=3.4
Brr2(2,1)=12.3;
Brr2(2,2)=1.8;
Brr2(2,3)=8.6
DOj=1,T
Crr3(i,j)=Arr1(i,j)+Brr2(i,j)
ENDDO
OutputsummationofArr1andBrr2!
OPEN(2,FILE='
TestArrays05.txt'
write(2,*)(Crr3(i,j),j=1,T)
print*,(Crr3(i,j),j=1,T)
END
测试题目6
下面程序的功能是从键盘上输入一个角度X,按下述关系,计算表达式Y的值:
当X小于10度时,Y=
当10大于等于小于30度时,Y=
当30大于等于X小于45度时,Y=
请给出测试结果并拷屏输出。
programTest06
parameter(pi=3.1415926)
realx,y
pleaseinputxvalue(indegree):
read*,x
if(x<
10)then
y=sin(abs(x*pi/180.0))
elseif(x>
=10.and.x<
30)then
y=cos(x*pi/180.0)/2
=30.and.x<
45)then
y=5*tan(sqrt(x*pi/180.0))
endif
print*,'
y='
y
print*
测试题目7
下面程序的功能是从键盘上输入一个数据X,按下述关系,计算表达式Y的值:
当X>
10时,Y=1
当2<
X<
=10时,Y=X/2
当-1<
=2时,Y=X-1
当X<
=-1时,Y=2X
PROGRAMTest07
IMPLICITNONE
INTEGER:
X,Y
print*,'
PleaseinputvalueofX!
READ*,X
IF(X>
=10)THEN!
Y=1
ELSEIF(X>
2)THEN
Y=X/2
=-1)THEN!
Y=X-1
ELSE
Y=2*X!
PRINT*,X,Y
ENDPROGRAM
测试题目8
判定学生成绩的等级:
给定3名学生的考试成绩(Score),评判每个学生的成绩等级(Grade),并输出。
编写程序实现之。
成绩按以下标准评定等级:
A:
85≤S≤100;
B:
60≤S<
85;
C:
S<
60。
programTest08
integerscore
charactergrade
write(*,*)"
Pleaseinputascore"
read(*,*)score
if(score>
=85.and.score<
=100)then
grade='
A'
elseif(score>
=60.and.score<
85)then
B'
=0.and.score<
60)then
E'
else
?
write(*,"
Grade:
A1)"
)grade
stop
测试题目9
超额累进税率,是指将应税所得额按照税法规定分解为若干段,每一段按其对应的税率计算出该段应交的税额,然后再将计算出来的各段税额相加,即为应税所得额应交纳的个人所得税。
我国最新个人所得税计算方法规定按5%至45%的九级超额累进税率计算缴纳个人所得税。
三级超额累进税率为:
1)不超过500元的部分,税率5%;
2)超过500元至2000元的部分,税率10%;
3)超过2000元的部分,税率45%。
如某人月应纳税所得额为1500元,则应纳税额为:
500*5%+1000*10%=125(元)
试编写一个个人所得税计算器。
realX_shou,Y_shui
PleaseinputincomeSHOURU!
"
read(*,*)X_shou
if(X_shou<
=500)then
Y_shui=X_shou*5/100
elseif(X_shou>
500.and.X_shou<
=2000)then
Y_shui=(X_shou-500)*10/100+25
Y_shui=(X_shou-2000)*45/100
endif
revenuetobesubmitted"
write(*,*)Y_shui
测试题目10
当X小于45度时,Y=
当X大于等于45且小于90度时,Y=
当X大于等于90且小于180度时,Y=
当其它度数时,Y=0。
PROGRAMTest10
REAL:
X,Y,Xarc
parameter(pi=3.1415928)
PleaseinputanangleindegreeforX:
IF(X<
45)THEN
Xarc=X*pi/180
Y=ABS(tan(Xarc))
ELSEIF(45<
=X.AND.X<
90)THEN
Y=LOG(0.8)*cos(Xarc)/2!
Y=cos(Xarc)/2
ELSEIF(90<
=X.AND.X<
=180)THEN
Y=5*TAN(SQRT(Xarc))
ELSE
Y=0
ENDIF
Thevalueoffunction(X)is'
Y
PRINT*
END
测试题目11
编写程序实现以下要求:
(1)写一个函数或子程序FunMod,求出1到m(含m,比如m=210)中能被7整除的所有整数。
(2)主程序调用FunMod函数或子程序,并读入和显示这些整数。
最终在屏幕上输出它们。
PROGRAMTest11
INTEGER:
i
Character*1,indexX
indexX='
DOi=1,210
callFunMod(i,indexX)!
callexternalsubroutine
IF(indexX=='
T'
)THEN
WRITE(*,*)i!
theintergerwhichcanbemodedwith7
subroutineFunMod(IntTmp,indexX)
integerIntTmp
Character*1,indexX
IF(MOD(IntTmp,7)==0)THEN
indexX='
else
F'
endsubroutine
测试题目12
编写一个内部函数子程序求m个实数的平方和。
并在屏幕上输出测试结果。
PROGRAMTest12
M!
RESforresult
realArr(5)
RealS1
M=5
Arr
(1)=1.5
Arr
(2)=2.5
Arr(3)=3.5
Arr(4)=4.5
Arr(5)=5.5
S1=SumSquare(M,Arr)!
internalfunction
Print*,'
Summationofx^2is'
S1
CONTAINS
RealFunctionSumSquare(N,Arr)
INTEGER:
N,I
Real:
Arr(5)
SumSquare=0.0
DOI=1,N
SumSquare=SumSquare+Arr(I)**2
ENDDO
endfunction
END
测试题目13
编写一个外部子程序求一个一维数组(实数)的各元素的平方之和,并在主程序中打印输出,最终在屏幕上打印输出结果。
PROGRAMTest13
N!
RealRES
N=5
callSquare(N,Arr,RES)!
externalsubroutine
S='
RES
SubroutineSquare(N,Arr,RES)
N
Real:
RES,Arr(5)
RES=0.0
DOI=1,N
RES=RES+Arr(I)**2
ENDDO
ENDsubroutine
测试题目14
编写外部函数子程序MUL,其功能是求所有N(=5)个正整数之积。
PROGRAMTest14
N,S,MUL!
Sforresult
integerArr(5)
Arr
(1)=18
Arr
(2)=28
Arr(3)=48
Arr(4)=78
Arr(5)=21
S=MUL(N,Arr)!
externalfunction
S='
S
FUNCTIONMU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Fortran95 程序设计 实验 报告 50 c5j
![提示](https://static.bdocx.com/images/bang_tan.gif)