Fortran 90上级实验报告
- 格式:doc
- 大小:43.00 KB
- 文档页数:4
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值确定整数的存储开销、最大位数和取值范围,如表所示。
实验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程序设计实验指导第一节 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)题目线性病态方程组问题学生姓名***指导教师***学院土木工程学院专业班级土木工程****班学生学号**********计算机基础教学实验中心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由范数的定义来编写的。
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实验报告实验⽇期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程序的⼦程序编写规则及调⽤⽅法。
大气科学学院FORTRAN程序设计实验报告(2015)有格式文件:有格式文件包括数据本身和记录间的分隔信息,文件中的数据以字符形式(ASCII码)存放记录由一个个的字符组成,每个字符对应一个字节。
有格式文件由格式记录组成,记录的长度与指定的格式有关。
有格式文件的每一记录后用回车符和换行符作为结束标志,可以用文本编辑器直接打开查看内容,所有内部文件都是有格式文件。
FORM= FORMATTED无格式文件:无格式文件包括数据本身和记录间的分隔信息,文件中以二进制式存放数据。
输入输出无需转化,直接高效。
无格式文件的记录间用回车符和换行符作为分隔标志。
FORM= UNFORMATTED二进制文件:二进制文件仅包含数据本身,记录间无分隔信息,结构最紧凑,适合于保存大容量数据的文件。
FORM= BINARY占用空间:有格式〉无格式〉二进制无格式与二进制便于输入输出,但不便供人阅读。
对二进制文件和无格式文件输入输出无需格式控制。
顺序存取:文件中所有记录按存取的先后顺序排列,执行读写操作时,只能从头到尾顺序依次进行。
不能用一个读写语句随意指定要读取的某条记录。
ACCESS=SEQUENTIAL直接存取:文件中所有记录都以自然数进行编号(记录号)且每条记录都有相同长度,读写时可以根据程序需要直接对某条指定的记录进行操作。
ACCESS=DIRECT题目一PROGRAM llREAL,DIMENSION(100):: NUM,QINTEGER M,NREAL IOPEN(10,FILE="RND.TXT")OPEN(12,FILE="RAA.TXT")READ(10,'(F7.2)') NUM!READ(10,*)NUMPRINT '(5F7.2)',NUM !输出读入数据DO M=1,99DO N=M+1,100IF(NUM(M).GT.NUM(N))THEN !比较大小I=NUM(M)NUM(M)=NUM(N)NUM(N)=IEND IFEND DOEND DOWRITE(12,'(5F7.2)') NUM !写入文件12CLOSE(10)CLOSE(12)END题目二PROGRAM KKINTEGER :: I,N=0 REAL :: SUM=0,WATER INTEGER NAMECHARACTER(21) NUMOPEN(10,FILE="05070408.000")OPEN(11,FILE="R05070408.txt")OPEN(12,FILE="HR.txt")PRINT *,'站号:降水量'DO I=1,14READ(10,*) !去除文件头END DODO WHILE(.NOT.EOF(10))READ(10,'(I5,A22,F6.2)') NAME,NUM,WATERWRITE(11,'(I5,A22,F6.2)') NAME,NUM,WATER !写入文件11 IF(WATER.GT.50)THEN !比较〉50降水量WRITE(12,'(I5,3X,F6.2)') NAME,WATER !写入文件12WRITE(*,'(I5,3X,F6.2)')NAME,WATER !屏幕输出符合条件的站N=N+1SUM=SUM+WATEREND IFEND DOPRINT *,'平均降水量'PRINT *,SUM/NCLOSE(10)CLOSE(11)CLOSE(12)END。
年级2010级学号2010483036姓名王丽丽成绩专业土木工程实验地点B3-216 指导教师袁满实验项目输入输出和声明语句实验日期2012-3-2一、实验目的:练习fortran语言中的输入输出和声明语句的使用二、实验要求:阅读书上例题并调试运行三、实验结果及分析program e41implicit noneinteger areal bcomplex clogical dcharacter*(20) ea=10b=12.34c=(1,2)d=.true.e="fortran"write(*,100) a 运行结果:100 format(1x,i5)write(*,200) b200 format(1x,f5.2)write(*,300) c300 format(1x,f4.1,f4.1)write(*,400) d400 format(1x,l3)write(*,500) e500 format(1x,a10)End年级2010级学号2010483036 姓名王丽丽成绩专业土木工程实验地点B3-216 指导教师袁满实验项目输入输出和声明语句实验日期2012-3-9一、实验目的:练习fortran语言中的输入输出和声明语句的使用二、实验要求:练习使用输入输出和声明语句三、实验结果及分析(1)program t0402 运行结果:real r,mj,zcwrite(*,*)"请输入圆的半径"read(*,*) rpai=3.14mj=r*r*paizc=2*pai*rwrite(*,*) "圆的面积是:",mjwrite(*,*) "圆的周长是:",zcstopend program t0402end program t0403(2)program t0401 运行结果:real ra,rbinteger a,ba=2b=3ra=2.0rb=3.0write(*,*) b/a 整型变量只保留数值的整数位,小数部分舍去。
《Fortran 语言程序设计》实验指导书(勘查技术与工程地球物理学专业)王万银邱之云编写地质工程与测绘工程学院地球探测与信息工程系二O O六年前言一、实验课性质:非独立设课二、采用教材:白云,FORTRAN90程序设计,上海:华东理工大学出版社,2003年(该书为理论课教学教材,无相应的实验课教材)。
三、实验课总学时:20学时四、实验项目名称和学时分配五、实验教学的目的和要求本门实验课的目的是通过上机实验,让学生掌握Fortran语言的编程环境,熟悉Fortran 语言的语法规则,能够熟练使用Fortran语言编写小型程序。
六、实验课程考试方式1、实验报告每次实验完成后必须编写实验报告。
实验报告应包括实验内容(表达实验的基本内容)、实验结果(算法设计结果、程序编写结果、给定的输入实验数据、实验测试结果)及实验过程中存在的问题。
2、考核方式实验参加的次数和实验报告的成绩综合评定,方法如下:(1)必须参加实验和编写实验报告才可以参加成绩评定。
(2)共有10个必须的实验,每次占十分之一。
(3)实验课成绩占课程总成绩的30%。
实验一:Fortran基本程序结构及输入/输出实验一、实验课时:2学时二、实验目的、内容及要求1、实验目的(1)了解FORTRAN90软件开发环境。
掌握FORTRAN90上机实验基本操作过程。
掌握FORTRAN90软件开发环境启动方法。
理解有关工作区、项目、文件的基本概念。
掌握工作区、项目、文件创建方法。
熟悉Microsoft Developer Studio软件开发环境图形用户界面。
掌握程序的编辑、编译、构建、运行方法。
了解软件开发环境常用菜单、工具按钮、环境窗口基本功能。
掌握文件、文件夹的移动、复制、删除等操作方法。
(2)了解FORTRAN90字符集。
掌握FORTRAN90实体名称的语法描述规则和具体使用要求。
了解FORTRAN90关键字意义,以及与名称的区别。
掌握FORTRAN90程序组织结构和语句排列次序的基本原则。
中南大学本科生课程设计(实践)设计报告(程序设计基础)题目常微分方程数值解学生伟指导教师红雨学院土木建筑学院专业班级土建类0908学生学号1208090814计算机基础教学实验中心2010年07月07日FORTRAN 课程设计报告摘要本题是通过长期的观察统计,得到一个食饵一捕食者系统的数学 模型如下:捕食者(鲨鱼):a=0.5,入 2=0.02, X 2(0)= 2; 绘制食饵和鲨鱼数量随时间的变化情况图。
再由已知的初始条件,通过一阶线性微分方程组得到食饵和鲨鱼 数量随时间变化关系曲线。
这一过程首先要通过四阶龙格库塔法得到 多组鲨鱼和食饵随时间变化的数据,再通过FORTRAN 编译程序,QuickWin 的图形操作得到变化曲线。
关键词:四阶龙格一库塔法、FORTRAN 、QuickWin 图形操作设计思想 (一)总体设想1、 生成数据用四阶龙格库塔法,取不同的时刻对应鲨鱼和食饵数量, 得 到多组数据。
2、 Q uickWin 图形操作画出基本图形界面模仿课本及例题做出一个基本的图形界面,包括界面的大 小、颜色、名称等,以为后面绘图作准备。
dx 1 dtx i (r i1X 2)dX2X 2( dt2X 1),食饵: r i = 1,入 i = 0.1, X i (0)= 25;3、设计主程序连接数据与QuickWin程序,画出相应曲线将得到的多组数据与绘图程序连接起来,并最终绘制鲨鱼、食饵随时间变化曲线。
(二)系统模块结构简介常微分方程的数值解设计主程序连接数据文件和图形界面,绘制曲线系统设计与实现①数据生成模块首先要查阅资料了解四阶龙格库塔法的原理及其数学形式:dydtdxdtf (t, x , y ) y(t。
) y og (t, x, y ),其中X(t°) X oy i 1y i6(f12f2 2f3f4) f1hf(t i,\, y i)则f2hf (t i A,X i1-f1)2 1,同理可得f3hf (t i1h,x21尹2』^2)f4hf (t i h,X i93,y i f3) X i 1, g l, g2, g3, g4首先在FORTRAN POWER STATION中建立一个项目文件,命名为my files,之后新建一个text.f90文件命名为数据,开始编程。
数组--程序设计作业数组是FORTRAN90最重要的结构数据类型之一。
许多实际问题往往设计大量的数据,数组是存储和处理大批量数据的有效工具,有些问题如果不用数组求解将难以解决。
数组是类型相同且有序的一组数据,涉及到这类数据均可考虑使用数组。
本次实验是学习和掌握数组声明、数组元素引用、数组输入输出、数组赋初值的一次系统实验活动。
通过本次实验,能够设计和编写比较简单的数组应用程序。
一.实验内容11.问题描述已知10个正整数:10、55、25、70、45、15、25、85、45、35,输入一个待删除整数,在10个整数中查找,若有该整数,则将其删除,输出删除前后这组整数。
编写程序实现之。
2.算法设计已知的10个正整数符合数组定义,用一维整型数组num保存,用数组构造器赋初值。
待删除整数n从键盘输入。
算法基本思想:输入待删除整数,从第1个数组元素num(1)开始,依次用n去比较是否相等,若相等查找成功,将该数组元素删除(在该数组元素位置设置删除标志),直到第10个数组元素检查比较完毕。
输出删除前后数组元素。
因10个整数为正数,所以删除标志可用-1表示。
算法:(1)输入待删除整数n;(2)输出删除前10个整数;(3)用n依次在数组元素num(1)、num(2)、…、num(10)中查找,查找成功置删除标志;(4)输出删除后数据。
(5)结束算法第3步可用“计数型”循环结构和DO循环语句实现。
3.程序编写根据算法,设计和编写不完整示例程序如下(请在下划线空白处填充正确内容):程序8-1:!班级:???!姓名:???!时间:???!数据查询PROGRAM problem01INTEGER :: num(10)=( ),nPRINT*,‘请输入100以内的一个正整数:’READ*,nPRINT*,‘删除前数据:’WRITE(*,100) (num(I), )DO I=1,10IF (n==num(I)) num(I)=-1ENDDOPRINT*PRINT*,‘删除后数据:’DO I=IF ( ) WRITE(*,100) num(I)ENDDOPRINT*100 FORMAT((I3,2X\))END4.实验要求●分析问题,理解算法和程序,将程序填写完整。
中南大学课程设计报告书课程名称:Fortran语言课程设计班级:土木工程2005级06班学号:1201050624姓名:成丕富指导教师:蔡旭晖二○○六年六月目录一、课程设计任务书 (3)二、需求分析 (5)三、概要设计 (5)四、系统实现 (6)五、详细设计 (10)六、源程序代码 (12)七、总结 (28)八、参考文献 (28)《FORTRAN 程序设计课程设计》任务书一、 实践目的通过本课程设计,培养利用程序设计技术进行计算机与专业知识的交叉应用,综合解决实际问题的能力。
通过自己分析问题、寻求算法、编写、调试程序、解决问题的过程,掌握多模块结构的程序设计与调试方法,以及程序模块间的数据传递方法,建立提出问题、分析问题、解决问题的思维方式,促进灵活运用所学知识解决问题能力的提高。
二、 设计任务制作一个信息管理系统,从以下题目中任选其一。
1.上网查询各省会城市2005年生产总值(GDP)、农林牧渔业总产值、工业总产值,将数据。
以统一格式保存在一个纯文本文件tongji.dat 中。
编程实现:(1)从文件tongji.dat 中读取数据,计算全国省会2005年GDP 的平均值,统计GDP 高于平均值的城市数;(2)按第一产业(即农林牧渔业总产值与工业总产值之和)总产值的升序排序,将排序后的数据存入文件fenxi.dat 中。
(3)统计工业总产值在1000亿元以下、1000~2000亿元、2000~3000亿元、3000亿元以上的城市数,并绘制分布饼图和折线图。
(4)计算各城市2005年较2004年相比的GDP 增长幅度,计算并输出自己所在省的省会城市GDP 增长幅度在各省会城市中的排名。
2.已知[]ihk j i k j i k j i k ji k ijeh u u u uu 2)(1,)(1,)(,1)(,1)1(41-+++=-+-++,其中h=0.0021,,,1500,0,,500,0+==+⋅=+⋅=⋅⋅hi i hi i j j eu e u e h j u h j u)5000,5000(0.2)0(,<<<<=j i u j i 其中(1)计算)(,k j i u 及)()(,h j eu hi k j i ⋅+-⋅,k 、i 、j=0,1,2,….,500要求结果精确到小数点后第6位,并将结果输出到文件poisson.dat 中。
Fortran 90上级实验报告fortran90上级实验报告实验1上机日期:2021年2月23日1.实验目的:(1)了解Fortran 90与软件开发环境的关系(2)掌握Fortran 90的实际操作过程(3)掌握fortran90软件开发环境启动方法.(4)理解有关工作区,项目,文件创建方法.(6)熟悉软件开发环境图形用户界面.(7)掌握程序输入,编译,运行方法.(8)了解软件开发环境中常用菜单、工具按钮和环境窗口的基本功能。
2.计算机操作过程记录(1)主要记录输入程序的原代码:programmain真实长度、宽度、半径real::unitprice=0.5,totalprice,areaprint*,’请输入图形长宽值:’read*,length,width打印*“请输入绿色半径:“读取*,半径”area=length*width-3.1415926*radius**2totalprice=unitprice*area打印*,'地块总价为:'总价'万元'结束(2)调试过程:d:\\shiyan01\\xm1\\chengxul.f90d:\\shiyan01\\xm1\\chengxul。
f90(6):错误:syntaxerror,foundcharacter_uuuConstant'请输入绿地半径:'whenexpectingoneof:,;打印*\请输入绿色半径:\------^d:\\shiyan01\\xm1\\chengxul.f90(10):error:invalidcharacter_kind_parameter.noun derscoreprint*,'地块总价为:'totalprice'万元'------------------------------------^d:\\shiyan01\\xm1\\chengxul。
实验一熟悉FORTRAN90软件开发环境FORTRAN语言是最早出现的第一个计算机高级程序设计语言,它对计算机科学技术的发展产生过重要而深刻的影响。
FORTRAN90是FORTRAN语言的升级换代版本,它吸收和借鉴了现代程序设计语言的许多现代特性,以其强大功能和独特魅力越来越受到人们的欢迎。
任何程序设计语言都有一个与之相关联的软件开发环境。
Digital Visual FORTRAN 5.0是美国数据设备公司(Digital Equipment Corp.)和微软公司(Microsoft Corp.)合作研制、开发、推出的FORTRAN90可视化软件开发环境,它成功地借鉴了Microsoft Developer Studio 可视化软件开发环境,使FORTRAN90软件的输入、编辑、编译、构建、运行和调试等工作,都可在Microsoft Developer Studio可视化软件开发环境上高效、快捷地进行。
学习FORTRAN90及其程序设计,必须首先了解、学习和掌握与之相关联的Microsoft Developer Studio可视化软件开发环境,为深入学习和掌握FORTRAN90及其程序设计奠定坚实基础。
本实验是学习和掌握Microsoft Developer Studio软件开发环境的一次系统实验活动。
一.实验目的1.了解FORTRAN90与软件开发环境的关系。
2.掌握FORTRAN90上机实验基本操作过程。
3.掌握FORTRAN90软件开发环境启动方法。
4.理解有关工作区、项目、文件的基本概念。
5.掌握工作区、项目、文件创建方法。
6.熟悉Microsoft Developer Studio软件开发环境图形用户界面。
7.掌握程序的输入、编辑、编译、构建、运行方法。
8.了解软件开发环境常用菜单、工具按钮、环境窗口基本功能。
9.掌握文件、文件夹的移动、复制、删除等操作方法。
二.实验内容11.问题描述现有长1500米,宽1000米的地块要拍卖建造住宅小区,地块中央有一半径为100米的圆形公共绿地不属于拍卖范围,每平方米地价为5000元。
实验一
上机日期: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。