fortran语言程序设计文档格式.docx

上传人:b****7 文档编号:22802382 上传时间:2023-02-05 格式:DOCX 页数:21 大小:569.28KB
下载 相关 举报
fortran语言程序设计文档格式.docx_第1页
第1页 / 共21页
fortran语言程序设计文档格式.docx_第2页
第2页 / 共21页
fortran语言程序设计文档格式.docx_第3页
第3页 / 共21页
fortran语言程序设计文档格式.docx_第4页
第4页 / 共21页
fortran语言程序设计文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

fortran语言程序设计文档格式.docx

《fortran语言程序设计文档格式.docx》由会员分享,可在线阅读,更多相关《fortran语言程序设计文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

fortran语言程序设计文档格式.docx

programmain_2

real:

a,b,x,y

print*,"

输入x,a,b:

"

read*,x,a,b

y=(exp(a*x)+log(x)*log(x))/(5*b)

y="

y

end

五、调试和测试结果

六、教师批语与成绩评定:

年月日

学号1333107.1133310723姓名郑珏辉实验日期12月19日任课教师

实验二选择结构程序设计

(1)掌握逻辑表达式的书写方法和逻辑型数据的使用;

(2)学会正确使用逻辑运算符和逻辑表达式;

(3)掌握块IF结构、块CASE结构、逻辑IF语句和算术IF语句。

(1)编写程序,输入年、月,求该月的天数。

用year、month分别表示年、月,day表示每月的天数。

注意:

①每年的1,3,5,7,8,10,12月,每月31天;

4,6,9,11月每月30天;

2月闰年为29天,平年为28天。

②年份能被4整除,但不能被100整除,或者能被400整除的年均为闰年。

(2)编写程序,输入一个自然数,若为奇数则输出其平方根,否则输出其立方根。

programmain_3

implicitnone

integer:

year,month,day

请输入年,月"

read*,year,month

if(month==1.or.month==3.or.month==5.or.month==7.or.month==8.or.month==10.or.month==12)then

本月有31天"

elseif(month==4.or.month==6.or.month==9.or.month==11)then

本月有30天"

elseif(month==2)then

if(mod(year,4)==0.and.mod(year,100)/=0.or.mod(year,400)==0)then

本月有29天"

else

本月有28天"

endif

elseif(month/=(1,12))then

输入错误"

endif

end

programmain_4

a

b

请输入a"

read*,a

if(mod(a,2)==1)then

b=a**0.5

else

b=a**0.3333333

print*,b

学号13331071133310723姓名郑珏辉实验日期12.26任课教师

实验三循环结构程序设计

操作型

(1)掌握用DO语句和DOWHILE语句实现循环的方法;

(2)掌握循环结构的实现方法;

(3)掌握循环嵌套的执行过程。

(1)编写程序,求100~1000之间的所有素数,要求输出这些素数的个数和平均值。

(2)编写程序,

,其中

当m=10时,Y的值是多少?

Programmain_5

implicitnone

i,j,n=0,s=0

a=0.0

doI=100,1000

doj=2,SQRT(REAL(i))

if(mod(i,j)==0)EXIT

enddo

if(j>

SQRT(REAL(i)))then

n=n+1

s=s+i

endif

a=real(s)/real(n)

素数的个数有"

n,"

个"

"

平均值为"

a

Programmain_6

implicitnone

i,n,s,y,m,t=0

请输入m"

read*,m

don=1,m

t=0

doi=1,n

IF(mod(n,2)==0)then

s=2*n

s=n*n

endif

t=i+t

y=y+s+t

学号13331071133310723姓名郑珏辉实验日期12.30任课教师

实验四字符型数据程序设计

(1)掌握字符型、双精度型常量变量的表示方法及其运算;

(2)掌握字符型数据的输入输出格式及数据类型之间的转换和运算规则。

(1)编写程序:

输入一个字符,若为小写字母,则输出其大写字母;

若为大写字母,则输出其小写字母;

若为数字,则原样输出该数字字符;

否则,输出*。

(2)编写程序,用双精度数据计算:

,直到第n项的绝对值小于

为止。

programmain_9

character:

a,b

请输入字符a"

if(ichar(a)<

48)then

*"

elseif(ichar(a)<

=59)then

print*,a

=90)then

b=char(ichar(a)+32)

b=char(ichar(a)-32)

programmain_10

i,j,k

real(kind=8):

x,a,b

a=0

b=1

print*,'

请输入'

read*,x

doi=1,100

doj=1,2*i

k=1

k=k*j

a=(-1)**i*x**(2*i)/k

if(abs(a)>

=10**(-15))then

b=b+a

学号13331071133310723姓名郑珏辉实验日期12.26任课教师

实验五数组操作

(1)掌握数组的定义及赋值和输入输出的方法;

(2)熟悉数组在内存中的存储顺序(按列存储);

(3)掌握数组赋初值的方法;

(4)掌握与数组有关的算法。

(1)编写程序,利用冒泡排序法把输入的一列无序的数据按由小到大的顺序排列。

计算给定的20个数据与平均值之差的绝对值之和。

DEMENSIONA(20)

DATAA/3.5,1.5,-2.5,4.5,2.5,3.0,5.5,-6.5,3.5,2.5,&

1.5,2.5,4.5,-3.0,2.6,3.4,6.3,-3.8,5.2,-1.6/

programmain_7

i,j,m,n

integer,dimension(:

),allocatable:

A

请输入数组中数的个数"

read*,n

allocate(A(1:

n))

请输入数组"

read*,A

doi=1,n-1

doj=i+1,n

if(A(i)>

A(j))then

m=A(j)

A(j)=A(i)

A(i)=m

print*,A

deallocate(A)

programmain_8

i,j

s=0,b,c

real,dimension(20):

A=(/3.5,1.5,-2.5,4.5,2.5,3.0,5.5,-6.5,3.5,2.5,1.5,2.5,4.5,-3.0,2.6,3.4,6.3,-3.8,5.2,-1.6/)

doi=1,20

s=s+A(i)

b=s/20

doj=1,20

c=c+abs(A(j)-b)

print*,c

实验六子程序程序设计

(1)掌握语句函数的定义及引用方法、函数子程序和子例行子程序的结构和调用方法;

(2)掌握FORTRAN程序单元间的数据传递方法。

(1)若Fibonacci数列的第n项记为fib(a,b,n),则有下列的递归定义:

fib(a,b,1)=a

fib(a,b,2)=b

fib(a,b,n)=fib(b,a+b,n-1)(n>

2)

用递归方法求5000之内最大的一项。

(2)设

,编写程序求sh

(2)-sh(3)。

(3)编写求阶乘及累加和的函数,调用函数求:

当m=10时,S=4038133。

1.recursivefunctionfib(a,b,n)result(fi)

selectcase(n)

case

(1)

fi=a

case

(2)

fi=b

case(3:

fi=fib(b,a+b,n-1)

endselect

programfib_pro

a,b,maxfib=0

integer:

k,num=0

read*,a,b

write(*,*)(fib(a,b,k),k=1,20)

dok=1,20

if(fib(a,b,k)<

=5000.and.fib(a,b,k)>

maxfib)then

maxfib=fib(a,b,k)

num=k

endif

enddo

print*,'

5000之内最大的一项是第'

num,'

其值是:

'

maxfib

2.functionsh(x)result(sh_result)

x,sh_result

sh_result=(exp(x)-exp(-x))/2

programmain_11

realt,sh

t=sh(2.0)-sh(3.0)

print*,t

3.functions(n)result(s_result)

i,n,t,q,s_result

t=1

q=0

t=t*i

q=q+i

enddo

s_result=t+q

programmain_12

m,s,j,l=0

doj=1,m

l=l+s(j)

print*,l

1.

学号姓名实验日期任课教师

实验七派生类型和指针程序设计

(1)掌握结构体的概念、定义、格式及引用和初始化方法;

(2)掌握结构体数组的定义;

(3)掌握指针的概念、定义格式和使用;

(4)理解动态变量的含义。

1、有以下程序:

IMPLICITNONE

TYPEperson

CHARACTERname*8

REALsalary

REALaward

REALcost

ENDTYPE

INTEGERI,J,NUM

PARAMETER(NUM=10)

TYPE(person),DIMENSION(NUM):

clerk

DOi=1,NUM

READ*,clerk(i).name,clerk(i).salary,clerk(i).award,clerk(i).cost

ENDDO

DOJ=1,NUM

IF(clerk(j).salary+clerk(j).award–clerk(j).cost>

=1200)THEN

PRINT*,clerk(j).name,clerk(j).salary,clerk(j).award,clerk(j).cost

ENDIF

END

运行程序,输入以下数据:

“Lister”,876,451,123

“Angel”,746,523,23

“Billy”,912,551,243

“Henry”,926,660,314

“Ervine”,676,481,103

“Ford”,816,351,89

“George”,936,451,145

“Mailer”,766,480,98

“Philip”,880,560,168

“Victor”,660,440,86

输出结果为:

2、以下程序用于在屏幕上输出如下图形:

1

21

321

4321

54321

INTEGER,POINTER:

p(:

INTEGER,TARGET:

X(5,5)

INTEGERi

x=0

DOi=1,5

p=>

x(1:

i,1)

p=p+1

PRINT*,p

请将程序略作修改,用于输出下列图形:

(1)

(2)

111111

222222

333333

444444

555555

四、程序清单及运行结果

第1题写出运行结果,第2题写出程序清单。

五、教师批语与成绩评定:

年月日

实验八文件操作

(1)掌握文件与记录的概念;

(2)掌握文件的打开和关闭;

(3)掌握文件的存取方法。

从键盘输入若干字符串,并把这些字符串存放到文件FILE1.TXT中。

(2)编写程序,读出当前文件夹下文件README.TXT的内容,显示在屏幕上。

实验九综合程序设计

综合型

综合运用所学知识,掌握利用FORTRAN语言解决实际问题的方法。

1、编写程序:

输入30名学生一门课的考试成绩,以0~9分,10~19分,…90~99分,100分为分数段,统计各分数段的人数。

2、用迭代法求一非线性方程x-1+sinx=0在1.0附近的一个实根,精度要求为10-5。

迭代格式为:

xn+1=1-sinxn。

如果迭代10次不收敛,则终止运行。

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

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1