fortran 语言基本句及程序改错 语言基本句及程序改错 语

fortran 语言基本句及程序改错 语言基本句及程序改错 语

ID:9235756

大小:129.13 KB

页数:5页

时间:2018-04-24

fortran 语言基本句及程序改错 语言基本句及程序改错 语_第1页
fortran 语言基本句及程序改错 语言基本句及程序改错 语_第2页
fortran 语言基本句及程序改错 语言基本句及程序改错 语_第3页
fortran 语言基本句及程序改错 语言基本句及程序改错 语_第4页
fortran 语言基本句及程序改错 语言基本句及程序改错 语_第5页
资源描述:

《fortran 语言基本句及程序改错 语言基本句及程序改错 语》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验2Fortran语言基本语句及程序改错实验目的:1,学习把已有程序导入新的project中。2,学习整形、实行和双精度变量的差异。3,熟悉常见的语法错误,学习程序纠错。实验内容:1,建立一个project,输入ch2_110PROGRAMch2_120USEdflib30IMPLICITnone40INTEGER::i,n,p50REALx,y60PARAMETER(n=10)70OPEN(3,file="rec.dat")80READ(*,*)x90y=1.0100DOi=1,100105IF(i.LE.n)THEN110CALLpn(i,p)120y=y+x**i/(p*1.0)121

2、ELSE125ENDIF130ENDDO140WRITE(*,*)x,y,exp(x)150WRITE(3,160)x,y,exp(x)160FORMAT(3F12.6)165CLOSE(3)170ENDPROGRAMch2_1180SUBROUTINEpn(i,p)190IMPLICITnone200INTEGERi,j,p210p=1220DOj=1,i230p=p*j240ENDDO250ENDSUBROUTINEpn2,编译运行。取n为不同数值,观察计算结果与真值的关系。查找大的n值出现误差的原因(写在实验报告上)。弄清整形、实行和双精度变量的差异。3,分别去掉10、30、70、100

3、、130、160、170等语句,看编译出错信息(写在实验报告上)。熟悉常见的语法错误导致的编译问题。4,完成上述操作的同学可以把自己编写的求一元二次方程复根的程序输入,调试、计算。实验报告:1,写出把现有程序导入一个新建的project的步骤。2,说明大n出错的原因及纠错方法。3,记下各种出错信息。实验步骤:1、(1),运行DeveloperStudio图标,得到工作窗口,查看各个下拉菜单的内容,File(包含New,Open,Openworkspace,Save等项)、Edit(包含Copy,Paste,Delete,Find等项)、Build(包含Compile,Build,Execute

4、等项)、Help(Search)等的内容。(2),选择File菜单中的New选项,建立工作空间。在对话框中选Project标签,Project的格式选用Win32ConsoleApplication,将工程命名为shiyan2。(3),工作位置选在D:MYPROJECTSshiyan2.project的名字叫shiyan2。点击File菜单下的New选项,选定File标签下的FortranFreeFormatSourceFile,并在窗口右边File下键入程序名shiyan2。(4),将源程序粘贴复制到工作空间,至此完成导入源程序。2、运行程序我们发现当x较小时,我们计算的结果与库函数的结

5、果一致;当x较大时,会产生较大的误差。从数学上说,计算精度与展开的项数n有关,n越大,结果越精确。实际上就是大的n依然不能减小误差,这个误差的来自p的数据类型,因为p是整型数,所以其最大值受限,当展开的项数多时,计算的数值不准。要想得到正确的结果,需把p在主程序和子程序中均改为双精度实型数。具体修改如下:40INTEGER::i,n!声明i,n为整型变量50REAL(8)x,y,p!声明x,y,p为实型变量200INTEGERi,j!声明i,j为整型变量real(8)p3、分别去掉10、30、70、100、130、160、170等语句后,编译出错的信息如下:1.省去10语句:编译出错D:Pr

6、ogramFilesDevStudioMyProjects45628989.f90(23):Error:Thisnamedoesnotmatchtheunitname.[CH2_1]170ENDPROGRAMch2_12.省去30语句:编译没有出错3.省去70语句:编译没有出错4.省去100语句:编译出错Error:AnENDDOstatementoccurredwithoutacorrespondingDO,DOWHILE,orDOTIMESstatement.130ENDDO5.省去130语句:编译出错Error:Anunterminatedblockexists.100DOi=1

7、,100^Errorexecutingdf.exe.6.省去160语句:编译出错Error:ThislabelhasnotbeendefinedasaFORMATlabel.[160]150WRITE(3,160)x,y,exp(x)-^D:ProgramFilesDevStudioMyProjects45628989.f90(22):Error:Thislabelisundefined

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。