Fortran90几个重要的实验报告_第1页
Fortran90几个重要的实验报告_第2页
Fortran90几个重要的实验报告_第3页
Fortran90几个重要的实验报告_第4页
Fortran90几个重要的实验报告_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Fortran90语言程序设计 上机实验报告河南科技大学规划与建筑工程学院班级: 工力112 姓名: 学号: 111409070210 成绩: 2013年 5月 19 日实验一(1) 熟悉FORTRAN90软件开发环境一 实验目的 1 了解FORTRAN90与软件开发环境的关系。2 掌握FORTRAN90上机实验基本操作过程。3 掌握FORTRAN90软件开发环境启动方法。4 理解有关工作区、项目、文件的基本概念。5 掌握工作区、项目、文件创建方法。6 熟悉Compaq Visual Fortran软件开发环境图形用户界面。7 掌握程序的输入、编辑、编译、构建、运行方法。8 了解软件

2、开发环境常用菜单、工具按钮、环境窗口基本功能。9 掌握文件、文件夹的移动、复制、删除等操作方法。 二 课堂实验内容 1 问题描述 现有长1500米,宽1000米的地块要拍卖建造住宅小区,地块中央有一半径为100米的圆形公共绿地不属于拍卖范围,每平方米地价为5000元。编写程序计算该地块拍卖总价,并输出。要求地块长宽和绿地半径数据从键盘输入。 2 算法设计通过对该问题的分析研究,设计求解算法,并绘制流程图如图1-1所示输入月销售罐数:number输入月销售罐数:number计算油罐容积:cubage计算月销售数量:volumes计算月销售额:sale计算月

3、销售额:sale输出月销售额:sale输出月销售额:sale输出月销售额:sale输出月销售额:sale开始结束图1-1 计算地块总价程序流程图3. 程序编写根据算法和流程图,设计和编写程序如下:Ø Ø  !班级:工力112Ø Ø  !姓名:Ø Ø  !时间:201304Ø Ø  !计算加油站月销售额Ø Ø  PROGRAM mainØ Ø  PARAMETER (pi=3.1415)Ø Ø

4、60; INTEGER : numberØ Ø  REAL : cubage,volumes,saleØ Ø  REAL : radius=5.0,heigh=3.0,unitprice=500.0Ø Ø  PRINT*,请输入月销售油罐数量:Ø Ø  READ*,numberØ Ø  cubage=pi*radius*radius*heighØ Ø  volumes=cubage*numberØ 

5、6;  sale=volumes*unitpriceØ Ø  PRINT*, 加油站月销售额:,sale,元。Ø Ø  END4. 运行结果 请输入月销售油罐数量:4加油站月销售额: 471225.0 元。Press any key to continue 三课外练习1 问题描述. 1有一半径为5,高为20的圆柱型物体,求圆柱体积,并输出。编写程序实现之。 2有一半径为5,高为20的圆锥型物体,求圆锥体积,并输出。编写程序实现之。  2 算法设计输入半径和高:r,h计算圆柱体积:V输出圆柱体积:V开始结束

6、输入半径和高:r,h计算圆锥体积:V输出圆锥体积:V开始结束3. 程序编写程序2:Ø Ø  !班级:工力112Ø Ø  !姓名:Ø Ø  !时间:2101304Ø Ø  !计算圆锥体积Ø Ø  PROGRAM mainØ Ø  PARAMETER (pi=3.1415)Ø Ø  REAL : r,h,VØ Ø  PRINT*,请输入圆锥底半径和高:Ø

7、; Ø  READ*,r,hØ Ø  V=pi*r*r*h/3Ø Ø  PRINT*, 圆锥体积:,VØ Ø  END 根据流程图,分别编写求解上述两问题的程序:程序1、程序2。程序1:Ø Ø  !班级:工力112Ø Ø  !姓名:Ø Ø  !时间:201304Ø Ø  !计算圆柱体积Ø Ø  PROGRAM mainØ

8、; Ø  PARAMETER (pi=3.1415)Ø Ø  REAL : r,h,VØ Ø  PRINT*,请输入圆柱底半径和高:Ø Ø  READ*,r,hØ Ø  V=pi*r*r*hØ Ø  PRINT*, 圆柱体积:,VØ Ø  END4. 运行结果请输入圆柱底半径和高:5,20 圆柱体积: 1570.750Press any key to continue请输入圆锥底半径和高:5,20

9、 圆锥体积: 523.5833Press any key to continue实验一(2) 掌握FORTRAN90基础知识一 实验目的  1 了解FORTRAN90字符集。2 掌握FORTRAN90实体名称的语法描述规则和具体使用要求。3 了解FORTRAN90关键字意义,以及与名称的区别。4 掌握FORTRAN90程序组织结构和语句排列次序的基本原则。5 掌握FORTRAN90自由书写格式及三个标志符的主要作用。6 理解数据、数据表示、数据类型概念,熟悉FORTRAN90数据类型。7 进一步熟 二 课堂实验内容 1 问题描述   

10、有一呈等腰梯形的鱼塘,上底边长为150米,下底边长为210米,高为40米,在鱼塘周围建起了围墙,如图2-1所示。每平方米鱼塘产鱼4公斤,每公斤鱼的价格为10元。编写程序计算该鱼塘的产量和产值,以及围墙的长度。要求梯形的上底边长、下底边长、高从键盘输入。  a:150b:210h:40c       图2-1 鱼塘示意图 2 算法设计开始输入梯形的上底和下底以及高:a,b,h计算梯形面积:area计算产量和产值:yield,sales计算梯形斜高:c计算鱼塘的围墙长度:perimeter结束3. 程序编写Ø

11、 Ø  !班级:工力112Ø Ø  !姓名:Ø Ø  !时间:201304Ø Ø  !计算鱼塘产量和产值Ø Ø  PROGRAM mainØ Ø  INTEGER :p=4,q=10Ø Ø  REAL : a,b,c,hØ Ø  REAL : area,perimeter,yield,salesØ Ø  PRINT*,请输入梯形鱼塘的上底

12、、下底和高值:Ø Ø  READ*,a,b,hØ Ø  area=(a+b)*h/2Ø Ø  yield=area*pØ Ø  sales=yield*qØ Ø  c=SQRT(b-a)/2)*(b-a)/2)+h*h)Ø Ø  perimeter=a+b+2*cØ Ø  PRINT*, 鱼塘产量:,yield,公斤。Ø Ø  PRINT*, 鱼塘产值:,s

13、ales,元。Ø Ø  PRINT*, 围墙长度:,perimeter,米。Ø Ø  ENDØ4. 运行结果请输入梯形鱼塘的上底、下底和高值:150,210,40 鱼塘产量: 28800.00 公斤。 鱼塘产值: 288000.0 元。 围墙长度: 460.0000 米。Press any key to continue三. 课外练习1 问题描述:有一长5米、宽3米的长方形铁皮,在四个角对称挖了四个半径为0.2米的圆洞, 根据需要对这块铁皮镀一层铜,镀铜的价格是每平方米50元。计算镀铜费用。   2 算法

14、设计开始输入矩形边长及圆洞半径:length、width、radius计算铁皮的面积:area计算镀铜费用:rate输出3. 程序编写程序3-1:Ø Ø  !班级:工力112Ø Ø  !姓名:Ø Ø  !时间:201304Ø Ø  !计算镀铜费用Ø Ø  PROGRAM mainØ Ø  INTEGER : p=50Ø Ø  REAL : length,width,radiusØ

15、; Ø  REAL : area,rateØ Ø  PRINT*,请输入铁皮长宽和圆洞半径:Ø Ø  READ*,length,width,radiusØ Ø  area=length*width-4*3.1415*radius*2Ø Ø  rate=p*areaØ Ø  PRINT*, 镀铜费用:,rateØ Ø  END4. 运行结果请输入铁皮长宽和圆洞半径:5,3,0.2 镀铜费用: 724

16、.8680Press any key to continue实验二(1) 内部数据类型与简单顺序程序设计1 实验目的1 了解内部数据类型及其KIND值参数概念。2 掌握常量、变量、表达式、赋值语句的语法规则和基本功能。3 掌握常用标准函数的基本功能和使用要求。4 掌握表控输入输出的基本功能和使用要求。5 掌握顺序结构概念和顺序结构程序设计方法。进一步熟悉软件开发环境和掌握程序的输入、编辑、编译、构建和运行方法。  二 课堂实验内容 1 问题描述已知两复数:3.5+4.8i、7.5-3.2i。计算其和、差、积、商,并输出计算结果。编写程序实现之。要求两复数从键盘输入

17、。  2 算法设计开始输入两个复数:c1,c2计算两数之和并赋值于a计算两复数之差并赋值于b计算复数之积赋值给c计算复数之商赋值给d输出a,b,c,d结束3. 程序编写根据算法和程序流程图,设计和编写程序如下。Ø !班级:工力112Ø !姓名:Ø !时间:201304Ø !计算两复数的和、差、积、商Ø PROGRAM mainØ COMPLEX : c1,c2Ø complex: a,b,c,dØ PRINT*,请输入两个复数:Ø READ*,c1,c2Ø a=c1+c2;b

18、=c1-c2Ø c=c1*c2;d=c1/c2Ø PRINT*, 复数之和:,aØ PRINT*, 复数之差:,bØ PRINT*, 复数之积:,cØ PRINT*, 复数之商:,dØ ENDØ !复数变量占有8字节4. 运行结果 请输入两个复数:3.5004.8007.500-3.2 复数之和: (11.00000,1.600000) 复数之差: (-4.000000,8.000000) 复数之积: (41.61000,24.80000) 复数之商: (0.1637840,0.7098812)Press any key t

19、o continue三. 课外练习1 问题描述某炮兵阵地,某次使用大炮向敌人阵地猛烈发射炮弹。炮弹的运行轨迹满足方程:f(x)=-0.0000125x2+0.07x-50,计算炮弹能打击的最大高度和最远距离。编写程序实现之。问题分析:(提示)YXOx2x1设:y=f(x)=ax2+bx+c,轨迹线为一抛物线,如图3-5所示。ymax图3-5 一元二次方程轨迹曲线一元二次方程求根公式为:假定方程只有两个不同实数根。  2 算法设计开始请输入a,b,c计算两根x1,x2计算射程length和最大高度输出射程和最大高度:length、h结束!班级:工程力学112!姓名:!时间:2

20、0130426晚上!计算计算大炮的最大打击高度和最远距离,并输出PROGRAM mainREAL:a,b,c ,d,x1,x2,xREAL:length ,hPRINT*,'请输入方程参数a,b,c'READ*,a,b,cd=b*b-4*a*cx1=(-b+SQRT(d)/(2*a)x2=(-b-sqrt(d)/(2*a)x=0.5*(x1+x2)h=a*x*x+b*x+clength=x2-x1PRINT*,'最大高度是:','h=',hPRINT*,'最远射程是:','length=',lengthEND3.

21、程序编写4. 运行结果 请输入方程参数a,b,c-0.0000127,0.07,-50 最大高度是:h= 46.45669 最远射程是:length= 3825.183Press any key to continue实验二(2) 数据有格式输入输出一 实验目的1  了解数据有格式输入输出的主要作用、基本方法和使用规则。2 掌握数据有格式输入输出语句(READ、PRINT、WRITE)的基本功能和语法规则。3 掌握格式说明语句(FORMAT)的基本功能和语法规则。4 掌握I、F、E、A、L、X、/、等若干常用格式编辑符的格式要求和基本功能。5 掌握数据有格式输入输出的数据组织和格式说

22、明方法。6 进一步掌握顺序结构程序设计方法。7 进一步熟悉软件开发环境。 二 课堂实验内容 1 问题描述 通常需要计算(a+b)n的展开式系数,展开式系数满足杨辉三角关系。计算并输出n=1,2,3,4,5时的展开式系数及系数之和,即下面的杨辉三角。编写程序实现之。字母“a”、字母“b”、二项式阶数n从键盘输入。 1 1n=1 1 1 2n=2 1 2 1 4n=3 1 3 3 1 8n=4 1 4 6 4 1 16n=5 1 5 10 10 5 1 32要求输入输出数据以规范、整洁、直观形式给出。程序中应采用有格式输入输出。二项式阶数n为2位整数,项符号为长度等于

23、1的字符,系数为3位整数,系数和4位整数。 2 算法设计开始根据提示输入二项式第一、二项字母和阶数:x、y、n计算n=1时二项式系数c11,c12及系数和s1计算n=2时二项式系数c21,c22,c23及系数和s2计算n=3时二项式系数c31,c32,c33,c34及系数和s3计算n=4时二项式系数c41,c42,c43,c44,c45及系数和s4。按输出格式要求输出数据。计算n=5时二项式系数c51,c52,c53,c54,c55,c56及系数和s5。结束3. 程序编写!班级:工力112!姓名:!时间:20105!计算并输出二项式系数(杨辉三角)PROGRAM yanghui_tr

24、iangleINTEGER(1) : nINTEGER: x,yINTEGER : c11=1,c12=1,s1INTEGER : c21=1,c22,c23=1,s2INTEGER : c31=1,c32,c33,c34=1,s3INTEGER: c41=1,c42,c43,c44,c45=1,s4INTEGER : c51=1,c52,c53,c54,c55,c56=1,s5WRITE(*,"(1X,'请输入二项式第一项字母(1个字母):',)")READ(*,"(A)") xWRITE(*,"(1X,'请输入二项式

25、第二项字母(2个字母):',)")READ(*,"(A)") yWRITE(*,"(1X,'请输入二项式阶数(2位整数):',)")READ(*,"(I2)") ns1=c11+c12c22=c11+c12; s2=c21+c22+c23c32=c21+c22; c33=c22+c23; s3=c31+c32+c33+c34c42=c31+c32;c43=c32+c33;c44=c33+c34; s4=c41+c42+c43+c44+c45c52=c41+c42; c53=c42+c43; c54=c

26、43+c44; c55=c44+c45; s5=c51+c52+c53+c54+c55+c56WRITE(*,"(1X,'下面给出(',A1,'+',A1,')1到',I2, '次方的展开式系数及系数之和。')") x,y,nWRITE(*,"(1X,'阶数',9X,'杨辉三角',7X,'系数之和')") WRITE(*,"(1X,15X,I3)") 1WRITE(*,"(1X,'n=',I2,8X

27、,2(1X,I3),9X,I4)") 1,c11,c12,s1WRITE(*,"(1X,'n=',I2,6X,3(1X,I3),7X,I4)") 2,c21,c22,c23,s2WRITE(*,"(1X,'n=',I2,4X,4(1X,I3),5X,I4)") 3,c31,c32,c33,c34,s3WRITE(*,"(1X,'n=',I2,2X,5(1X,I3),3X,I4)") 4,c41,c42,c43,c44,c45,s4WRITE(*,"(1X,'n

28、=',I2, 6(1X,I3),1X,I4)") 5,c51,c52,c53,c54,c55,c56,s5END 请输入二项式第一项字母(1个字母):1 请输入二项式第二项字母(2个字母):1,1 请输入二项式阶数(2位整数):5 下面给出(1+1)1到 5次方的展开式系数及系数之和。 阶数 杨辉三角 系数之和 1 n= 1 1 1 2 n= 2 1 2 1 4 n= 3 1 3 3 1 8 n= 4 1 4 6 4 1 16 n= 5 1 5 10 10 5 1 32Press any key to continue4. 运行结果三. 课外练习1 问题描述使用数据有格式输入

29、输出功能,输出由4个字符abcd组成的图形。编写程序实现之。 a b b c c ddddddddddddd c c b b a问题分析:(提示)a、b、c、d四个字符可以是任意可显示字符,这四个字符从键盘输入得到。若输入的四个字符为*、#、&、$,则输出结果为: * # # & & $ & & # # *由相同字符组成的字符串,可用标准函数REPEAT(str,I)得到。如REPEAT($,3)= $。  2 算法设计开始结束3. 程序编写4. 运行结果实验三(1) 选择结构序程序设计一 实验目的1  熟悉关系表达式和逻辑

30、表达式。2 掌握逻辑IF、块IF、多支块IF、SELECT语句的语法规则和使用要求。3 掌握嵌套选择结构和嵌套选择语句的使用要求和实现方法。4 掌握选择结构概念和选择结构程序设计方法。 二 课堂实验内容 1 问题描述计算下面分段函数的值,编写程序实现之。x<0x=0x>0  2 算法设计图5-2 程序框结束输出y的值用公式三计算y开始x < 0用公式一计算y假真x = 0假真用公式二计算y输入x的值5 程序编写Ø !班级:工力112Ø !姓名:Ø !时间:201305Ø !计算分段函数的值

31、6; PROGRAM exampleØ REAL(4) : x,yØ PRINT*,'请输入x的值:'Ø READ*,xØ IF (x<0) THENØ y=exp(2*abs(x)+sin(x*3.14159/180)Ø ELSEIF ( x=0) THENØ y=2Ø ELSEØ y=x/sqrt(1+x*x)Ø END IFØ PRINT *, 'y=', yØ END 请输入x的值:-5.8 y= 109097.7Press an

32、y key to continue 请输入x的值:0 y= 2.000000Press any key to continue 请输入x的值:5.8 y= 0.9854601Press any key to continue4. 运行结果三. 课外练习1 问题描述  某商店对购货额为1000元以上(含1000元,下同),八折优惠;500元以上1000元以下,九折优惠;200元以上500元以下,九五折优惠;100元以上200元以下,九七折优惠;100元以下,不优惠。输入购货额,计算优惠货款,并输出。2 算法设计开始输入购物额x假真x>1000假真x>500y=0.

33、8*xx>200真y=0.97*x假x>0真y=xy=0.95*x输出y!班级:工程力学112!姓名:!时间:201305!程序用途:计算超市购物优惠金额PROGRAM mainreal(4): x,yPRINT*,'请输入购货金额'read*,xIF (x>=1000) THEN y=0.8*xELSE IF(X>=500) THEN y=0.9*x ELSE IF(X>=200) then y=0.95*x else IF(X>=100) THEN y=0.97*x else y=xEND IFPRINT*,'优惠金额为:'

34、;,yEND结束3. 程序编写请输入购货金额1200 优惠金额为: 960.0000Press any key to continue 请输入购货金额600 优惠金额为: 540.0000Press any key to continue 请输入购货金额250 优惠金额为: 237.5000Press any key to continue 请输入购货金额150 优惠金额为: 145.5000Press any key to continue 请输入购货金额50 优惠金额为: 50.00000Press any key to continue4. 运行结果请输入购货金额1200 优惠金额为:

35、960.0000Press any key to continue 请输入购货金额600 优惠金额为: 540.0000Press any key to continue 请输入购货金额250 优惠金额为: 237.5000Press any key to continue 请输入购货金额150 优惠金额为: 145.5000Press any key to continue 请输入购货金额50 优惠金额为: 50.00000Press any key to continue实验三(2) 循环结构序程序设计一 实验目的 1 掌握关系表达式和逻辑表达式。2 掌握循环控制条件的描述。3

36、掌握三种循环结构的特征及相互之间的等价转换。4 掌握DO、DO WHILE语句的语法规则和使用要求。5 掌握循环结构概念和循环结构程序设计方法。二 课堂实验内容 1 问题描述 验证哥德巴赫猜想。哥德巴赫提出,一个不小于6的偶数必定能表示为两个素数之和。如:8=3+5。求6至20之间的所有偶数的两个素数之和。编写程序实现之。输出格式为:6=3+38=3+510=3+710=5+5  开始2 算法设计请输入偶数n从3开始验证循环得出a,b输出n,a,b结束3. 程序编写 程序6-2:Ø !班级:工力112Ø !姓名:Ø !时间:20130

37、5Ø !验证哥德巴赫猜想Ø PROGRAM mainØ INTEGER : a,b,i,m,nØ out: DO n=6,20,2Ø mid: DO a=3,n/2,2Ø m=INT(SQRT(REAL(a)Ø i=3Ø in1: DO WHILE ( (i<=m) .AND. (MOD(a,i)/=0)Ø i=i+2Ø ENDDO in1Ø IF (i>m) THENØ b=n-aØ m=0 i=3Ø in2: DO WHILE (i<

38、=m).AND.(MOD(b,i)/=0)Ø i=i+2Ø ENDDO in2Ø IF ( b>=0) THEN 6 = 3 + 3 8 = 3 + 5 10 = 3 + 7 10 = 5 + 5 12 = 3 + 9 12 = 5 + 7 14 = 3 + 11 14 = 5 + 9 14 = 7 + 7 16 = 3 + 13 16 = 5 + 11 16 = 7 + 9 18 = 3 + 15 18 = 5 + 13 18 = 7 + 11 20 = 3 + 17 20 = 5 + 15 20 = 7 + 13Press any key to cont

39、inueØ PRINT *,n,'=',a,'+',bØ ENDIFØ ENDIFØ END DO midØ END DO outØ END4. 运行结果三. 课外练习1 问题描述 输入x值,按下列公式计算cos(x)。精度要求7位有效数字,最后一项<10-7。编写程序实现之。2 算法设计请输入x开始n=n+1真T>eps假输出cos x!班级:工力112!姓名:!时间:20130512!求cos xPROGRAM cos_xPARAMETER (PI=3.1415927,EPS=

40、1e-7) INTEGER :n=1,max=10REAL x,T,COSXWRITE(*,"(A)",ADVANCE='NO')'请输入角度值(实数):'READ*,xX=X*PI/180 !角度转换公式T=1;COSX=TDO WHILE(ABS(T)>EPS).AND.(n<max) n=n+1 T=-T*x*2/(2*n-2)*(2*n-3) COSX=COSX+Tend doIF (ABS(T)>EPS)THENPRINT*,'不能用此方法计算出结果'else print*,'本程序计算的余

41、弦结果是:',COSXprint*,'标准函数计算所得公式:',cos(x)end ifend结束3. 程序编写4. 运行结果请输入角度值(实数):30 本程序计算的余弦结果是: 0.8660254 标准函数计算所得公式: 0.8660254Press any key to continue实验四(1) 数组一 实验目的 1. 进一步掌握数组声明、数组元素引用、数组输入输出、数组赋初值、数组构造器、隐含DO循环的使用规则。2. 掌握有关数组运算的常用标准函数。3. 掌握动态数组概念和动态数组的声明、存储分配的使用规则。4. 掌握设计和编写多维数组和动态数组应用

42、程序。 二 课堂实验内容 1 问题描述生成“魔幻方阵。魔幻方阵是指方阵的每一行、每一列、对角线元素之和均相等,其值为n(n2+1)/2,n代表方阵的行数和列数。一个n阶奇数方阵由1到n2个自然数构成,其组成规律是:(1)将1放在第1行的中间一列;(2)由m=1开始依次从左下到右上方向放连续数,如m放在A(i,j),则m+1放在A(i-1,j+1);(3)如果i-1<1,则i-1为n;(4)如果j+1>n,则j+1为1;(5)如果A(i-1,j+1)已放数,则将数放在A(i+1,j)中。以下是五阶魔幻方阵:17 24 1 8 1523 5 7 14 16 4 6

43、13 20 2210 12 19 21 311 18 25 2 9  2 算法设计真假输出:魔幻方阵A结束开始初始化:1Þi,3=jmn2i-1Þi,j+iÞj初始化:1ÞA(1,3), 2Þm真假 i<1nÞi真假 j>n1Þj真假 A(i,j)=0mÞA(i,j),m=m+1i+3Þi,j-2Þj真假 i>ni-nÞi真假 j<1j+nÞj图7-1 程序框图3. 程序编写Ø !班级:工力112Ø !姓名:&#

44、216; !时间:201305Ø !生成魔幻方阵Ø PROGRAM mainØ PARAMETER (n=5)Ø INTEGER : A(:)=0,i=1,j=3,mØ A(i,j)=1Ø m=2Ø DO WHILE (m<=n*n)Ø i=i-1; j=j+1Ø IF (i<1) i=nØ IF (j>n) j=nØ IF (A(i,j)=0) THENØ A(i,j)=mØ m=m+1Ø ELSEØ i=i+3;j=j-2&

45、#216; IF (i>n) i=i-nØ IF (j<1) j=j+nØ End ifØ ENDDOØ DO i=1,nØ PRINT (<n>(I3,1X),(A(i,j),j=1,n)Ø ENDDOØ END4. 运行结果17 24 1 8 1523 5 7 14 16 4 6 13 20 2210 12 19 21 311 18 25 2 9   Press any key to continue三. 课外练习1 问题描述   已知两组有序整数(个数不定

46、),将两组整数合并为一组有序整数。合并后的该组整数没有相同整数。从键盘输入两组整数,输出合并前后整数序列。输入使用静态数组和动态数组两种方式,编写程序实现之。提示:使用三个数组,两个保存合并前两组整数,一个保存合并后整数。2 算法设计3. 程序编写!姓名:!班级:工力112!时间:201305!合并两个有序数组program mainreal a(1:50),b(1:50),c(1:50)read(*,*)m,nread(*,*)(a(i),i=1,m),(b(j),j=1,n)i=1j=1k=1do while((i.le.m).and.(j.le.n))if (a(i).gt.b(j)th

47、enc(k)=b(j)j=j+1else c(k)=a(i)i=i+1endifk=k+enddowrite(*,*)(c(k),k=1,m+n)end1,2,3,4,55,6,7,8,91,2,3,4,5,6,7,8,9Press any key to continue4. 运行结果实验四(2) 语句函数一 实验目的 1. 了解函数的有关基本概念,如:函数名称、函数自变量、函数调用、函数表达式等。2. 掌握语句函数定义、调用、参数的基本内容和使用规则。3. 掌握使用语句函数设计和编写程序的方法。二 课堂实验内容1 问题描述 求解一元二次方程2x2+3x-2=0的两个实数根

48、,并输出。使用语句函数编写程序实现之。 开始2 算法设计输入方程系数A,B,C计算判别式D!姓名:!班级:工力112!时间:201305!语句函数计算方程两根PROGRAM mainDISC(a,b,c)=SQRT(b*b-4*a*c)F(a,b,d)=(-b+d/(2*a)real A,B,C,D,X1,X2print*,'请输入方程系数A,B,C'READ*A,B,CD=DISC(A,B,C)x1=F(A,B,D)x2=F(A,B,-D)print*,'x1=',x1print*,'x2=',x2语句函数计算根x1,x2输出x1,x

49、2结束3. 程序编写4. 运行结果 请输入方程系数A,B,C2,3,-2 x1= 0.5000000 x2= -2.000000Press any key to continue三. 课外练习1 问题描述   求解以下问题:使用语句函数编写程序,求解牛顿迭代法求方程x3-2x2+x-1=0在x=1.5附近的实数根。牛顿迭代公式有: x0=1.5 xi+1=xi-f(xi)/f¢(xi) I=1,2,3,其中:f¢(x)是f(x)的导数,当|xi+1-xi|<10-7时,xi+1为方程的近似实数根。开始!姓名:!班级:工力112!时间:201305PROGRAM main IMPLICIT NONE REAL:ROOT,A,B,C,D,X0,X write( *,* ) "PLEASE INPUT A,B,C,D,X0" READ (*,*) A,B,C,D,X0 X=ROOT(A,B,C,D,X0) write(*,*) X return END PROGRAM MAIN FUNCTION ROOT(A,B,C,D,X0) RESULT(ROOT_RESULT) IMPLICIT NONE REAL,INTENT(IN):A,B,C,D,X0 REAL:ROOT_RESULT real:X1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论