FORTRAN95程序的设计实验.docx

上传人:b****5 文档编号:14380624 上传时间:2023-06-22 格式:DOCX 页数:22 大小:256.20KB
下载 相关 举报
FORTRAN95程序的设计实验.docx_第1页
第1页 / 共22页
FORTRAN95程序的设计实验.docx_第2页
第2页 / 共22页
FORTRAN95程序的设计实验.docx_第3页
第3页 / 共22页
FORTRAN95程序的设计实验.docx_第4页
第4页 / 共22页
FORTRAN95程序的设计实验.docx_第5页
第5页 / 共22页
FORTRAN95程序的设计实验.docx_第6页
第6页 / 共22页
FORTRAN95程序的设计实验.docx_第7页
第7页 / 共22页
FORTRAN95程序的设计实验.docx_第8页
第8页 / 共22页
FORTRAN95程序的设计实验.docx_第9页
第9页 / 共22页
FORTRAN95程序的设计实验.docx_第10页
第10页 / 共22页
FORTRAN95程序的设计实验.docx_第11页
第11页 / 共22页
FORTRAN95程序的设计实验.docx_第12页
第12页 / 共22页
FORTRAN95程序的设计实验.docx_第13页
第13页 / 共22页
FORTRAN95程序的设计实验.docx_第14页
第14页 / 共22页
FORTRAN95程序的设计实验.docx_第15页
第15页 / 共22页
FORTRAN95程序的设计实验.docx_第16页
第16页 / 共22页
FORTRAN95程序的设计实验.docx_第17页
第17页 / 共22页
FORTRAN95程序的设计实验.docx_第18页
第18页 / 共22页
FORTRAN95程序的设计实验.docx_第19页
第19页 / 共22页
FORTRAN95程序的设计实验.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

FORTRAN95程序的设计实验.docx

《FORTRAN95程序的设计实验.docx》由会员分享,可在线阅读,更多相关《FORTRAN95程序的设计实验.docx(22页珍藏版)》请在冰点文库上搜索。

FORTRAN95程序的设计实验.docx

FORTRAN95程序的设计实验

Fortran95

程序设计实验

班级:

核工11

薛院院

学号:

2110302026

 

实验一

一.实验容

一个边长为8.5m的边形草地。

计算八边形草地的面积并输出。

二.问题分析(流程图)

 

三.程序

!

核工程11

!

薛院院

!

2013.03.11

!

计算8边形的面积

PROGRAMCOLUMATE

REAL(4)A!

定义边长

REAL(8)B,P

INTEGER

(1)NUMBER!

定义边数

REAL(8)AREAL!

定义面积

PRINT*,'请输入多边形的边数'

READ*,NUMBER

PRINT*,'请输入多边形的边长'

READ*,A

B=A/2/sin(3.14/NUMBER)

P=A/2+B

AREAL=SQRT(P*(P-A)*(P-B)**2)

PRINT*,'该多边形的面积为:

',AREAL

END

!

输入边数8;输入边长8.5

!

输出结果:

43.8

四.实验结果

 

实验二

一.实验容

计算还清贷款的月算

二.问题分析

 

输出M1

 

 

三.程序

!

核工程11

!

薛院院

!

2013.03.11

!

计算还清贷款的月数

!

PROGRAMCALUCATE

REALP,D,R,M

INTEGERM1

PRINT*,'请分别输入贷款月利息贷款数以及每月尝还数'

READ*,P,D,R

A=LOG10(1.0)

PRINT*,A

M=(LOG10(P)-LOG10(P-D*R))/LOG10(1+R)

M1=INT(M+0.5)

PRINT*,M1

END

四.实验结果

 

实验三

一.实验容

用case结构和seclect语句实现税值计算

二.问题分析(流程图)

开始

输入企业产量

用case语句计算缴纳的税值

输出缴纳的总税值

结束

 

三.程序

!

核工11

!

薛院院

!

2110302026

!

计算应该缴纳的税

programcalucate_money

integerincome

real:

:

income_rate

real:

:

rate_1=0.03,rate_2=0.05,rate_3=0.07,rate_4=0.10,rate_5=0.14,rate_6=0.20

print*,'请输入收入(以万为单位):

'

read*,income

selectcase(income)

case(0:

1000)

income_rate=income*rate_1

print*,'缴纳的税为:

',income_rate

case(1001:

2000)

income_rate=income*rate_2

print*,'缴纳的税为:

',income_rate

case(2001:

5000)

income_rate=income*rate_3

print*,'缴纳的税为:

',income_rate

case(5001:

10000)

income_rate=income*rate_4

print*,'缴纳的税为:

',income_rate

case(10001:

50000)

income_rate=income*rate_5

print*,'缴纳的税为:

',income_rate

casedefault

income_rate=income*rate_6

print*,'缴纳的税为:

',income_rate

endselect

end

四.实验结果

实验四

一.实验容

计算

+

-

……+

,其中n满足1+

二.问题分析(流程图)

开始

输入

用case语句计算缴纳的税值

输出缴纳的总税值

结束

 

三.程序

!

班级:

核工11

!

:

薛院院

!

日期:

4.8

!

计算级数之和

programmain

real:

:

sum=1,term,sign=1,s=0

integer:

:

a,i,n=0

print*,'请输入一个较大的数(如10000)'

read*,a

dowhile(s<=a)

n=n+1

s=s+n**2

enddo

doi=1,n

sign=-1*sign

term=sign/i

sum=sum-term

enddo

print*,sum

end

四.实验结果

 

实验五

一.实验容

计算学生的平均成绩,每门课的平均成绩,三门课的平均成绩以及统计高于每门课的成绩和三门平均成绩的学生人数和占总人数的比例

二.问题分析(流程图)

开始

输入学生人数

输入每个人学生的学号,三门成绩

计算每个学生的平均成绩

计算每门课平均成绩

统计高于每门课平均成绩和三门课平均成绩的人数及比例

计算3门课平均成绩

 

结束

输出上述计算值

 

三.程序

!

班级:

核工程11

!

薛院院

!

学号:

2110302026

!

统计人数及比例

programmain

parameter(max=5)

character*5:

:

number(max)

integer,dimension(3):

:

english,math,physics

real:

:

averages(max),english_ave,math_ave,physics_ave,average

real:

:

sum1=0,sum2=0,sum3=0

integer

(1):

:

n,n1=0,n2=0,n3=0,nn=0

real:

:

p1,p2,p3,pp

print*,'请输入学生人数'

read*,n

print*,'请输入',n,'名学生的学号、英语、数学、物理成绩'

print*,'数据之间用空格间隔。

学号为长度为5的字符串,用引号括住'

doi=1,n

read*,number(i),english(i),math(i),physics(i)

averages(i)=(english(i)+math(i)+physics(i))/3.0

sum1=sum1+english(i)

sum2=sum2+math(i)

sum3=sum3+physics(i)

enddo

english_ave=sum1*1.0/n

math_ave=sum2*1.0/n

physics_ave=sum3*1.0/n

average=(english_ave+math_ave+physics_ave)/3.0

doi=1,n

if(english(i)>english_ave)n1=n1+1

if(math(i)>math_ave)n2=n2+1

if(physics(i)>physics_ave)n3=n3+1

if(averages(i)>average)nn=nn+1

enddo

p1=real(n1)/n

p2=real(n2)/n

p3=real(n3)/n

pp=real(nn)/n

write(*,100)'英语',n1,p1*100

write(*,100)'数学',n2,p2*100

write(*,100)'物理',n3,p3*100

write(*,100)'三门课',nn,pp*100

100format(1x,'高于',a,'平均成绩的学生人数有',i2,'人,占总人数比例',f8.2,'%')

end

四.实验结果

 

实验六

一.实验容

输入4个整数放在4个数组中,数组向左循环位移1,2,3,4个位置,第一个元素移动到最后一个元素,结果放在数组中,输出移除前后的4个整数。

二.问题分析(流程图)

开始

输入4个整数

对数组进行处理

结束

输出处理后的数组

 

三.程序

!

班级:

核工程11

!

名字:

薛院院

!

日期:

4.2

programmain

parameter(n=4)

integer:

:

x(n)

print*,'请输入',n,'个整数'

doi=1,n

read*,x(i)

enddo

print100,x

doi=1,n

t=x

(1)

doj=2,n

x(j-1)=x(j)

enddo

x(n)=t

print100,x

enddo

100format(4i2)

end

四.实验结果

 

实验七

一.实验容

用牛顿迭代法求解方程

在x=1.5附近的值

二.问题分析(流程图)

 

结束

输出上述计算值

 

三.程序

!

班级:

核工11

!

薛院院

!

学号:

2110302026

!

日期:

4.8

programmain

parameter(max=1000)

realx(max)

i=1

x

(1)=1.5

doi=1,1000

j=i+1

if(abs(x(j)-x(i))>10e-7)then

x(j)=x(i)-f(x(i))/f1(x(i))

endif

enddo

print*,'计算的该数值为:

x=',x(j)

end

四.实验结果

 

实验八

一.实验容

对一组数字进行处理

二.问题分析(流程图)

 

删除相同的整数

输出奇偶数个数

统计奇数个数

 

结束

统计偶数个数

输出数组及奇偶数

 

三.程序

!

班级:

核工11

!

薛院院

!

学号:

2110302026

!

日期:

2013.4.7

!

主程序

programmain

parameter(max=50)

integera(max),n,n1,n2

callinput(a,n)

callsort(a,n)

n1=odd(a,n)

n2=even(a,n)

print*,'这批整数'

calloutput(a,n)

print*,'这批整数的奇数个数为:

',n1

print*,'这批整数的偶数个数为:

',n2

calldele(a,n)

n1=odd(a,n)

n2=even(a,n)

print*,'剩余整数'

calloutput(a,n)

print*,'剩余整数奇数个数',n1

print*,'剩余整数偶数个数',n2

contains

subroutineinput(a,n)

integera(max),n

print'(a\)','请输入这批整数个数n:

'

read*,n

print'(a,i2,a)','请输入',n,'个整数:

'

read*,(a(i),i=1,n)

endsubroutine

!

数据输出子程序

subroutineoutput(a,n)

integera(n),n

print*,a

endsubroutine

!

整数排序子程序

subroutinesort(a,n)

integera(n),n

integer:

:

i,j,m,t

doi=1,n

m=i

doj=i+1,n

if(a(j)

m=j

endif

enddo

if(i/=m)then

t=a(i)

a(i)=a(m)

a(m)=t

endif

enddo

endsubroutine

subroutinedele(a,n)

integera(n),n,i,j

i=1

dowhile(i

j=i+1

dowhile(j<=n)

if(a(i)==a(j))then

dok=j+1,n

a(k-1)=a(k)

enddo

n=n-1

else

j=j+1

endif

enddo

i=i+1

enddo

endsubroutine

!

统计奇函数

functionodd(a,n)

integera(n),n,odd,oddl

oddl=0

doi=1,n

if(mod(a(i),2)==1)oddl=oddl+1

enddo

odd=oddl

endfunction

!

统计偶函数

functioneven(a,n)

integera(n),n,oddl,even

oddl=0

doi=1,n

if(mod(a(i),2)==0)oddl=oddl+1

enddo

even=oddl

endfunction

end

四.实验结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2