Fortran 90上级实验报告
Fortran程序总结

1.行的书写(行的长度、分行、续行)一行可以是0~132个字符,空格有意义,语句最长不超过2640个字符一行可以有多个语句,用“;”分隔一个语句可分行写,读行标记为&(放在尾部),但如为关键字,首尾均加&。
最多可有511个续行。
2.说明语句必须出现在可执行语句之前,格式说明语句(FORMAT语句)除外。
3.注释标志符:自由格式:!固定格式:C *语句分隔符:分号;(仅自由格式可以使用)续行符:自由格式:&申明标号:1到5位无符号整数空格:关键字、变量、常量内部不能用空格,但相邻两者之间须用空格4.信息处理的分类:数值处理和信息处理现代计算机工作原理:程序存储和程序控制(冯·诺依曼)1、运算器——算术运算、逻辑运算2、控制器——根据指令控制计算机工作运算器、控制器和寄存器称为中央处理器CPU3、I/O设备——提供数据传输服务4、总线——数据传输的公共通道1.机器语言:二进制代码形式,可以被计算机直接执行,不可移植2.汇编语言:用助记符来代替机器指令,容易记忆,不可移植3.高级语言:接近自然语言(英语)的程序设计语言,又称算法语言,易学、易用、易维护,可移植性好例:FORTRAN、BASIC、PASCAL、C、LISP、PROLOG等5.FORTRAN90程序是一种分块结构,由若干个程序单元块组成:主程序、外部子程序、模块、块数据单元无论是主程序单元,还是子程序单元,都是独立的程序单位,应该独立编写,它们的形式相似。
非语句行:注释语句:!后的所有字符都被编译器忽略。
可独占一行,也可在其它语句之后,空行为注释行(固定格式用C和*)6.常量的定义:常量是程序执行过程中不能变化的量。
基本数据类型有五种:整型、实型、复型、字符型和逻辑型前三种属于数值类型,后两种为非数值类型,主要用于文字处理和控制。
FORTRAN 90通过KIND值确定整数的存储开销、最大位数和取值范围,如表所示。
F90实验报告

实验1 FORTRAN 90的编程环境与简单程序设计一、实验目的1.熟悉FORTRAN90的编程环境——Fortran PowerStation 4.0,并能够在此环境下编写FORTRAN90的程序。
2.掌握FORTRAN90程序中所用到的类型说明语句、赋值语句、读、写语句等语句的语句格式,理解并掌握这些语句的功能。
3.掌握简单程序设计方法,能够用简单的语句编写一些简单的应用程序。
4.掌握FORTRAN90源程序的结构特点与书写规范。
二、实验要求1.根据题目,设计各题算法并画出流程图,按照流程图编写程序。
2.对每个程序认真进行语法检查与逻辑检查。
3.上机调试程序。
按各个程序输入计算机,并且编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.运行程序,记录数据输入和数据输出的情况。
5.写出实验报告。
三、实验内容1.开机;进入Fortran PowerStation4.0集成工作环境,了解工作环境及其菜单的使用,输入如下FORTRAN90源程序,并以A1.F90存盘。
PROGRAM EX1IMPLICIT NONEPRINT *,'2+3=',2+3PRINT *,'This is a program!'END PROGRAM EX1编译、链接、运行后,结果是:2.输入并调试以下程序,查看运行结果。
PROGRAM EX2IMPLICIT NONEINTEGER::A,B,CREAD *,A,BC=A+BPRINT *,'A+B=',CEND PROGRAM EX2运行时,输入2,3↙,则结果是:3.程序设计4π3R)及经过球心的横切面的直径(2R)、周长(2πr)⑴已知一个球的半径,求它的表面积(4π2R)、体积(3和面积(π2R)。
⑵某单位在发放工资时,为每个职工准备一个工资袋。
假定币值为100元、50元、10元、5元、2元、1元、5角、2角和1角9种,设某职工的工资为X,试计算他的工资袋里各币值的张数。
(新)FORTRAN90程序设计实验指导

FORTRAN90程序设计实验指导第一节 FORTRAN PowerStation 4.0快速入门1.1 安装FORTRAN PowerStation 4.01.1.1 系统要求安装Microsoft FORTRAN PowerStation 4.0需要具备以下软硬件条件:●80486或以上处理器,运行Windows 95/Windows NT 3.51或以上操作系统。
●如果安装标准版,需要3.5英寸软盘驱动器或光盘驱动器,如安装专业版,则必须具有光盘驱动器。
●16MB或以上内存。
●足够的硬盘空间。
安装程序根据安装选项提示所需的硬盘空间。
标准版和专业版的典型安装分别需要约45MB和70MB硬盘空间。
●VGA显示器(推荐使用SVGA显示器)。
●鼠标。
1.1.2 安装步骤下面以Windows 95操作系统为例,对于Windows NT操作系统,安装过程与此类似。
首先,将含FORTRAN PowerStation 4.0的光盘插入光盘驱动器,在资源管理器中运行Setup程序,屏幕显示Microsoft FORTRAN PowerStation Setup窗口;安装程序自动搜索已有组件,单击【Continue】(继续)按钮,并按提示输入CD-Key后,安装程序会显示安装选项对话框(图1.1);如果要改变安装FORTRAN PowerStation 4.0的文件夹,单击【Change Folder...】(改变文件夹)按钮,选择或输入所需的文件夹名;如果输入的文件夹不存在,安装程序会自动生成该文件夹,并生成几个下级文件夹以存放相应的各类文件。
图1.1还显示了各安装选项的简短说明和安装时所需的硬盘空间。
选择下列四个安装选项之一继续安装:Typical(典型)Custom/Complete(定制/完全)Compact(紧凑)Run from CD-ROM(从光盘运行)图1.1 Setup程序的安装选项对话框Typical(典型)安装选项将安装最常用的部分,约需70MB 硬盘空间。
FORTRAN实验报告——牛顿插值

IV / 4
s(s+1) 2! s(s −1) 2!
∆2 f0 + ⋯ +
s s −1 …(s −n+1) n!
∆n f0
∇2 fN + ⋯ +
s s+1 …(s+n −1) n!
∇n fN
ERROR 0.0000009 ERROR 0.0000023
中南大学计算机程序设计报告—FORTRAN

中南大学本科生课程设计(实践)任务书、设计报告(计算机程序设计基础—FORTRAN)题目线性病态方程组问题学生姓名***指导教师***学院土木工程学院专业班级土木工程****班学生学号**********计算机基础教学实验中心20**年* 月* 日课程设计实践报告一、任务内容本次实践我的研究课题为“线性病态方程组问题”,题目如下:2.线性病态方程组问题。
下面是一个线性病态方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1)求方程的解。
(2)将方程右边向量元素b 3改为0.53,再求解,并比较b 3的变化和解的相对变化。
(3)计算系数矩阵A 的条件数并分析结论。
提示:矩阵A 的条件数等于A 的范数与A 的逆矩阵的范数的乘积,即1)(-⋅=A A A cond 。
这样定义的条件数总是大于1的。
条件数越接近于1,矩阵的性能越好,反之,矩阵的性能越差。
矩阵A 的条件数1()cond A A A -=⋅,其中11max{}mij j ni A a ≤≤==∑,a ij 系矩阵A 的元素。
要求:(1)方程的系数矩阵、常数向量均从文件中读入。
(2)定义求解线性方程组Ax=b 的子程序,要求该子程序能求解任意线性方程组。
(3)在主程序中调用子程序,并对求解结果进行对比分析。
(4)绘制常数向量修改前后所求得的方程解的数据分布图。
二.系统开发设计思想本题采用的方法主要有高斯消元法和矩阵求逆法,然后按照有关线性方程组的解法,求出方程组的解。
对所求结果进行对比,然后绘制出有关图像。
首先编写主程序,从文件中调用主程序,进行调试,输出方程组的解。
本题编写了三个子程序,第一个子程序GAUSS是用高斯消元法编写而出,第二个子程序INVERSEMATRIX是用逆矩阵法编写而出,第三个子程序FANSHU由范数的定义来编写的。
FORTRAN实验报告(一)

①整型:
PROGRAM ADD6_1
!输出9*9乘法表
INTEGER I,J
DO I=1,9
PRINT 10,(J,I,J*I,J=1,I) !隐性DO循环
输出:87 67.40 465 345.70
⑵输入:0087067.40
0046500345.70
输出:87 67.40
465 345.70
③指数形式:
PROGRAM XI6_2
!输入1234567891011121314151617181920
INTEGER A
REAL B,C
CHARACTER*10 D
1*3= 3 2*3= 6 3*3= 9
1*4= 4 2*4= 8 3*4=12 4*4=16
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
STATEMENT
END SELECT
2、循环结构格式如下:
DO循环:DO I=E1,E2,E3
STATEMENT
[IF(L) EXIT]
[IF(L) CYCLE]
ENDDO
DO WHIEL循环:DO WHILE(LOGICAL)
STATEMENT
ENDDO
隐DO循环:(STATEMENT, I=E1,E2,E3)(可以嵌套使用)
Fortran实验报告样例(1)

n n 1)1(312111+-+⋅⋅⋅-+-实验报告样例南京信息工程大学Fortran 语言程序设计 实验(实习)报告 实验(实习)名称 循环程序设计 实验(实习)日期 得分 指导老师系 专业 班级 姓名 学号一.实验目的:1. 掌握DO 、DO WHILE 语句的语法规则和使用要求。
2. 掌握循环结构概念和循环结构程序设计方法。
3. 掌握强制性终止循环语句EXIT 和CYCLE 的基本功能和使用规则,以及相互区别。
4. 掌握嵌套循环结构概念和应用。
二.实验内容1:1. 问题描述给定5名学生的考试成绩S,评判每个学生的成绩等级,并输出。
编写程序实现之。
成绩按以下标准评定等级:优:90≤S ≤100;良:80≤S<90;中:70≤S<80; 及格:60≤S<70;不及格:S<60。
2.问题分析已知:5个学生成绩:s 1、s 2、s 3、s 4、s 5,从键盘输入,数据类型为整型。
求:5个学生成绩等级,g1、g2、g3、g4、g5,数据类型为字符型。
求解该问题的基本思想是:从键盘依次读取学生成绩数据,每读一个学生成绩,就按照成绩等级评定标准评定等级,并输出该学生等级。
由于有确定的5个学生,所以读取学生成绩和评定成绩等级共5次。
该问题显然是一个重复次数确定的重复处理问题,可通过“计数型”循环结构和DO 循环语句实现。
用整型变量cj 表示学生成绩,用字符型变量grade 表示成绩等级。
用整型变量I 作为循环控制变量。
通过分析,设计算法,绘制框图,如图6-2所示。
3. 实验步骤:1) 算法流程图:2) 编制源程序:(可附在下一页上)3) 运行结果:输入:输出:4. 分析实验中遇到的问题及其解决的办法三、实验内容2:1.问题描述计算其中n 为满足不等式12+22+32+…+n 2>A 的最小项数n。
A 从键盘输入,如:10000。
编写程序实现之。
2.问题分析求解本题,先通过“条件型”循环结构求最小项数n ,整型数,然后再通过“计数型”循环计算级数之和。
fortran实验报告

fortran实验报告FORTRAN实验报告实验⽇期2012年3⽉6⽇⼀、实验⽬的1、了解FORTRAN90软件开发环境2、学会启动Fortran,掌握程序的编辑、编译、构建、运⾏⽅法。
3、了解软件开发环境常⽤菜单、⼯具按钮、环境窗⼝基本功能。
掌握⽂件、⽂件夹的移动、复制、删除等操作⽅法。
⼆、实验内容1、运⾏Microsoft Developer Studio软件开发环境。
2、理解有关⼯作区(Workspaces)、项⽬(Projects)、⽂件(Files)的基本概念。
3、掌握⼯作区(Workspaces)、项⽬(Projects)、⽂件(Files)创建⽅法。
4、掌握程序的编辑(Edit)、编译(Compile)、构建(Build)、运⾏(Run)⽅法三、实验步骤1、建⽴⽂件夹2、启动Microsoft Developer Studio软件开发环境,并创建⼯作区、项⽬3、创建⽂件4、编译项⽬内源程序⽂件5、构建可执⾏程序⽂件。
6、运⾏可执⾏程序⽂件四、实验结果与分析实验结果:FORTRAN实验报告实验⽇期2013年3⽉13⽇⼀、实验⽬的1、掌握源程序的书写格式;2、掌握FORTRAN 90中基本数据类型及其描述、运算;3、掌握基本语句的使⽤⼆、实验内容编写简单程序代码1、整数类型program ex0404 integer aa=3write(*,*) "a=",astopEndprogram ex0406 integer(kind=4) write write=2+2*4-3write(*,*) "2+2*4-3=",write stopEnd2、浮点数类型program ex0410real :: a,b,ca=0.5b=0.5c=sin(a)**2 + cos(b)**2 write(*,*) "c=",cstopEnd3、复数类型program ex0411 complex :: a,ba=(1.0,1.0)b=(1.0,2.0)write(*,*) "a+b=",a+b write(*,*) "a-b=",a-b write(*,*) "a*b=",a*b write(*,*) "a/b=",a/bstopend4、字符类型program ex0413 character(len=20) stringstring = "Good morning."write(*,*) stringstring(6:) = "evening." ! 重设设定从第6个字符之后的字符串write(*,*) string end5、逻辑类型program ex0416logical a,ba=.true.b=.false.write(*,*) a,bend三、实验步骤1、编译、构建、运⾏、调试程序2、编写实验报告四、实验结果与分析1、执⾏结果:2、执⾏结果:3、执⾏结果:45、FORTRAN实验报告实验⽇期2012年3⽉26⽇⼀、实验⽬的1、掌握⾃定义数据类型的使⽤,熟练进⾏程序编写⼆、实验内容⾃定义类型program ex0434implicit none! 开始建⽴person这个类型character(len=30) :: name ! ⼈名integer :: age ! 年龄integer :: height ! ⾝⾼integer :: weight ! 体重character(len=80) :: address ! 地址end type persontype(person) :: a ! 声明⼀个person类型的变量write(*,*) "NAME:"read(*,*) a%namewrite(*,*) "AGE:"read(*,*) a%agewrite(*,*) "HEIGHT:"read(*,*) a%heightwrite(*,*) "WEIGHT:"read(*,*) a%weightwrite(*,*) "ADDRESS:"read(*,"(A80)") a%addresswrite(*,100) a%name,a%age,a%height,a%weight100 format("Name:",A10/,"Age:",I3/,"Height:",I3/,"Weight:",I3,& &"Addres:",A50) stopend三、实验步骤1、编写程序代码、编译、调试2、编写实验报告四、实验结果与分析实验结果:输⼊Chang 23 171 59 hebeidaxue执⾏结果:FORTRAN实验报告实验⽇期2012年4⽉9⽇⼀、实验⽬的掌握输⼊输出的格式及变量声明的应⽤⼆、实验内容1、输⼊输出的格式integer areal bcomplex clogical dcharacter(len=20) ea=10b=12.34c=(1,2)d=.true.e="FORTRAN"write(*,"(1X,I5)") a ! ⽤I来格式化整数write(*,"(1X,F5.2)" ) b ! ⽤F来格式化浮点数write(*,"(1X,F4.1,F4.1)" ) c ! complex也是浮点数write(*,"(1X,L3)") d ! ⽤L来输出logicalwrite(*,"(1X,A10)") e ! ⽤A来输出字符串End⼆、变量声明的应⽤program ex0432implicit noneinteger :: a=1integer :: b=2real :: cc=real(a)/real(b) ! 经由库函数real把整数转换成浮点数write(*,"(F5.2)") c end⼆、实验步骤1、编译、调试2、编写实验报告四、实验结果与分析实验结果:1、2、FORTRAN实验报告实验⽇期2012 年4⽉17⽇⼀、实验⽬的1、熟悉和掌握选择结构程序的编写⽅法2、熟悉和掌握各种选择结构的实现⽅法⼆、实验内容1、编写计算⾝⾼、体重是否正常代码program ex0502implicit nonereal(kind=4) :: height ! 记录⾝⾼real(kind=4) :: weight ! 记录体重write(*,*) "height:"read(*,*) height ! 读⼊⾝⾼write(*,*) "weight:"read(*,*) weight ! 读⼊体重if ( weight > height-100 ) then! 如果体重⼤于⾝⾼减去100, 会执⾏下⾯的程序write(*,*) "Too fat!"else! 如果体重不⼤于⾝⾼减去100, 会执⾏下⾯的程序write(*,*) "Under control." end ifstopEnd2、计算学⽣的成绩program ex0512implicit noneinteger scorecharacter gradewrite(*,*) "Score:"read(*,*) scoreselect case(score)case(90:100) ! 90到100分之间grade='A'case(80:89) ! 80到89分之间grade='B'case(70:79) ! 70到79分之间grade='C'case(60:69) ! 60到69分之间grade='D'case(0:59) ! 0到59分之间grade='E'case default ! 其它情形grade='?'end selectwrite(*,"('Grade:',A1)") gradestopend三、实验步骤1、分析问题,设计算法,编写程序2、编译、构建、运⾏、调试程序3、编写实验报告四、实验结果与分析第⼀个程序执⾏结果:输⼊170 58输⼊170 89第⼆个程序执⾏结果:输⼊89输⼊98FORTRAN实验报告实验⽇期2012 年4⽉24⽇⼀、实验⽬的1、了解⼦程序定义、调⽤、形式参数、实在参数、参数传递的基本内容和使⽤规则2、了解结构化程序设计⽅法3、了解使⽤⼦程序设计和编写程序的⽅法⼆、实验内容1、要求验证书本所讲的Fortran程序的⼦程序编写规则及调⽤⽅法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一
上机日期:2012年2月23日
1.实验目的:
(1)了解FORTRAN90与软件开发环境的关系.
(2)掌握FORTRAN90上机实操作过程.
(3)掌握FORTRAN90软件开发环境启动方法.
(4)理解有关工作区,项目,文件创建方法.
(6)熟悉软件开发环境图形用户界面.
(7)掌握程序输入,编译,运行方法.
(8)了解软件开发环境常用菜单,工具按钮,环境窗口基本功能.
2上机过程记录
(1)主要记录输入程序的原代码:
Program main
Real length,width,radius
Real ::unitprice=0.5,totalprice,area
Print*,’请输入图形长宽值:’
Read*,length,width
Print*”请输入绿地半径:”
Read*,radius
Area=length*width-3.1415926*radius**2
Totalprice=unitprice*area
Print*,’地块总价为:’totalprice’万元’
End
(2)调试过程: D:\shiyan01\xm1\chengxul.f90
D:\shiyan01\xm1\chengxul.f90(6) : Error: Syntax error, found CHARACTER_CONSTANT '请输入绿地半径:' when expecting one of: , <END-OF-STATEMENT> ;
Print*"请输入绿地半径:"
------^
D:\shiyan01\xm1\chengxul.f90(10) : Error: Invalid character_kind_parameter. No underscore Print*,'地块总价为:'totalprice'万元'
------------------------------------^
D:\shiyan01\xm1\chengxul.f90(10) : Error: Syntax error, found IDENTIFIER 'TOTALPRICE' when expecting one of: ( * :: , <END-OF-STATEMENT> ; : ) (/ [ + - . ] /) ** / > // .LT. ...
--------------------^
D:\shiyan01\xm1\chengxul.f90(10) : Error: This Hollerith or character constant is too long and cannot be used in the current numeric context. ['地块总价为:']
Print*,'地块总价为:'totalprice'万元'
-------^
Error executing df.exe.
xm1.exe - 4 error(s), 0 warning(s)
(3)调试成功的程序的原代码
Program main
Real length,width,radius
Real ::unitprice=0.5,totalprice,area
Print*,’请输入图形长宽值:’
Read*,length,width
Print*”请输入绿地半径:”
Read*,radius
Area=length*width-3.1415926*radius**2
Totalprice=unitprice*area
Print*,’地块总价为:’totalprice’万元’
End
3收获:
对FORTRAN90软件有了一个全面清晰的了解,初步熟悉了软件开发环境图形截面,熟悉掌握常用菜单,工具按钮和环境窗口的操作截面.
工作空间,项目和原程序不可使用中文名
输入标点后要转换英文输入状态.
实验二
1.实验目的:
(1)了解FORTRAN90字符集
(2)掌握FORTRAN90实体名称的语法描述规则和具体要求.
(3)了解FORTRAN90关键字意义,以及与名称区别.
(4)掌握FORTRAN90程序组织结构和语句排列次序的基本原则.
(5)掌握FORTRAN90自由书写格式及三个标志符主要作用.
(6)理解数据,数据表是,数据类型概念, 熟悉FORTRAN90数据类型.
2上机过程记录
(1)主要记录输入程序的原代码:
program example
integer(1)::I;J;K
integer S
print*,'请输入三个整数:'
read*,I,J,K
S=I+J+K
print*,'I1+I2+I3=',S
print*'三个整数所有可能的排列次序有:'
print*I,J,K
print*I,K,J
print*J,I,K
print*J,K,I
print*K,I,J
print*K,J,I
end program
(2)调试过程D:\shiyan01\xm1\chengxul.f90
D:\shiyan01\xm1\chengxul.f90(2) : Error: Syntax error, found ';' when expecting one of: ( : % . = =>
integer(1)::I;J;K
---------------^
D:\shiyan01\xm1\chengxul.f90(8) : Error: Syntax error, found CHARACTER_CONSTANT 'sange:' when expecting one of: , <END-OF-STATEMENT> ;
print*'sange:'
------^
D:\shiyan01\xm1\chengxul.f90(9) : Error: Syntax error, found IDENTIFIER 'I' when expecting one of: , <END-OF-STATEMENT> ;
print*I,J,K
------^
D:\shiyan01\xm1\chengxul.f90(10) : Error: Syntax error, found IDENTIFIER 'I' when expecting one of: , <END-OF-STATEMENT> ;
print*I,K,J
------^
D:\shiyan01\xm1\chengxul.f90(11) : Error: Syntax error, found IDENTIFIER 'J' when expecting one of: , <END-OF-STATEMENT> ;
print*J,I,K
------^
D:\shiyan01\xm1\chengxul.f90(12) : Error: Syntax error, found IDENTIFIER 'J' when expecting one of: , <END-OF-STATEMENT> ;
print*J,K,I
------^
D:\shiyan01\xm1\chengxul.f90(13) : Error: Syntax error, found IDENTIFIER 'K' when expecting one of: , <END-OF-STATEMENT> ;
print*K,I,J
------^
D:\shiyan01\xm1\chengxul.f90(14) : Error: Syntax error, found IDENTIFIER 'K' when expecting one of: , <END-OF-STATEMENT> ;
print*K,J,I
------^
D:\shiyan01\xm1\chengxul.f90(3) : Error: A specification statement cannot appear in the executable section.
integer S
^
Error executing df.exe.
xm1.exe - 9 error(s), 0 warning(s)
(3)调试成功的程序的原代码
program example
integer(1)::I;J;K
integer S
print*,'请输入三个整数:'
read*,I,J,K
S=I+J+K
print*,'I1+I2+I3=',S
print*'三个整数所有可能的排列次序有:' print*I,J,K
print*I,K,J
print*J,I,K
print*J,K,I
print*K,I,J
print*K,J,I
end program。