文档库 最新最全的文档下载
当前位置:文档库 › FORTRAN上机实验报告(文件)

FORTRAN上机实验报告(文件)

FORTRAN上机实验报告(文件)
FORTRAN上机实验报告(文件)

大气科学学院FORTRAN程序设计实验报告(2015)

有格式文件:有格式文件包括数据本身和记录间的分隔信息,文件中的数据以字符形式(ASCII码)存放记录由一个个的字符组成,每个字符对应一个字节。有格式文件由格式记录组成,记录的长度与指定的格式有关。有格式文件的每一记录后用回车符和换行符作为结束标志,可以用文本编辑器直接打开查看内容,所有内部文件都是有格式文件。

FORM= FORMATTED

无格式文件:无格式文件包括数据本身和记录间的分隔信息,文件中以二进制式存放数据。输入输出无需转化,直接高效。无格式文件的记录间用回车符和换行符作为分隔标志。FORM= UNFORMATTED

二进制文件:二进制文件仅包含数据本身,记录间无分隔信息,结构最紧凑,适合于保存大容量数据的文件。

FORM= BINARY

占用空间:有格式〉无格式〉二进制

无格式与二进制便于输入输出,但不便供人阅读。

对二进制文件和无格式文件输入输出无需格式控制。

顺序存取:文件中所有记录按存取的先后顺序排列,执行读写操作时,只能从头到尾顺序依次进行。不能用一个读写语句随意指定要读取的某条记录。

ACCESS=SEQUENTIAL

直接存取:文件中所有记录都以自然数进行编号(记录号)且每条记录都有相同长度,读写时可以根据程序需要直接对某条指定的记录进行操作。

ACCESS=DIRECT

题目一

PROGRAM ll

REAL,DIMENSION(100):: NUM,Q

INTEGER M,N

REAL I

OPEN(10,FILE="RND.TXT")

OPEN(12,FILE="RAA.TXT")

READ(10,'(F7.2)') NUM!READ(10,*)NUM

PRINT '(5F7.2)',NUM !输出读入数据

DO M=1,99

DO N=M+1,100

IF(NUM(M).GT.NUM(N))THEN !比较大小

I=NUM(M)

NUM(M)=NUM(N)

NUM(N)=I

END IF

END DO

END DO

WRITE(12,'(5F7.2)') NUM !写入文件12

CLOSE(10)

CLOSE(12)

END

题目二PROGRAM KK

INTEGER :: I,N=0 REAL :: SUM=0,WATER INTEGER NAME

CHARACTER(21) NUM

OPEN(10,FILE="05070408.000")

OPEN(11,FILE="R05070408.txt")

OPEN(12,FILE="HR.txt")

PRINT *,'站号:降水量'

DO I=1,14

READ(10,*) !去除文件头

END DO

DO WHILE(.NOT.EOF(10))

READ(10,'(I5,A22,F6.2)') NAME,NUM,WATER

WRITE(11,'(I5,A22,F6.2)') NAME,NUM,WATER !写入文件11 IF(WATER.GT.50)THEN !比较〉50降水量

WRITE(12,'(I5,3X,F6.2)') NAME,WATER !写入文件12

WRITE(*,'(I5,3X,F6.2)')NAME,WATER !屏幕输出符合条件的站N=N+1

SUM=SUM+WATER

END IF

END DO

PRINT *,'平均降水量'

PRINT *,SUM/N

CLOSE(10)

CLOSE(11)

CLOSE(12)

END

FORTRAN 90 程序编程规范

FORTRAN 90 程序编程规范 Fortran 90 编程规范,使程序代码高度组织化,更加易读、易懂、易于维护,程序更加高效。使编出的程序更易懂、易于维护。 1 语言选择 数值预报创新系统软件开发应避免使用Fortran77 的某些过时特征以Fortran 90不一致的特征。选择Fortran 90 作为开发语言,并采用Fortran 90 的新功能,如动态内存的分配(dynamic memory allocation)、递归(recursion ), 模块(modules)、POINTER 、长变量名、自由格式等。 Fortran 77其中某些只是一些冗余的功能,这些功能已经过时,另外,还有一些在Fortran90 中被证明是不好的用法,建议不要使用。 2 Fortran 90 的新特性 2.1.1 建议使用的Fortran 90 新特性 建议使用Fortran 90 提供的模块(module ),并用Use ONLY 指定module 中哪些变量或派生类型定义可用于调用程序。 尽量使用数组下标三元组,这样可优化并减少所需的代码行数。为提高可读性,要在括号内表明数组的维数,例如: 1dArrayA(:) = 1dArrayB(:) + 1dArrayC(:) 2dArray(: , :) = scalar * Another2dArray(: , :) 当访问数组的子集时,例如在有限差分等式中,可以通过使用下标三元组实现。例如:2dArray(: , 2:len2) = scalar *( & Another2dArray(:, 1:len2 -1) & - Another2dArray(:, 2:len2) & ) 对程序单元(program units )命名,并使用End program ,End subroutine ,End interface ,End module 等结构再次指定“program unit ”的名称。 在逻辑表达式中使用>、 >=、 ==、 <、 <=、 /=,它们分别代 替.gt.、.ge.、.eq.、.lt.、.le.、.ne. 。新的表示方法更接近标准的数学符号 在变量定义中始终使用“::”;始终用“DIMENSION ”定义数组形状;始终用(len=)的语法格式声明字符变量的长度。

软件工程 实验报告

v1.0 可编辑可修改 院系:计算机科学学院 专业:计算机科学与技术 年级: 2013级 课程名称:软件工程 组员:司少武(1135) 兰少雄(1136) 张宇(1133) 纳洪泽(1132) 指导教师:刘卫平 2015年 12月 26 日

聊天室 1 前言 即时消息系统的研究现状 即时消息系统[1](Instant Messenger,IM)是一种在后 PC 时代兴起的,以Internet 网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。即时消息系统产生有着深刻的社会原因:人们都有渴望社交,获得社会尊重、实现自我的需求,这正是即时消息软件风行的原动力,而物质文明的日益发达所带来副作用,又使得人们习惯与周围的人保持距离,以致人们更愿意对陌生人敞开心扉,在网络中可以跨越年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。从这点上讲,即时消息系统的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。 本工程的主要内容 随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的网络聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,且具有脱离数据库技术方法,易于维护和更新的特点。 2 需求分析 本系统所要实现的主要功能是当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加

工程分析程序设计上机作业(三)

工程分析程序设计 上机作业(三) 模块化编程(2) 上机目的:进一步掌握内部例程、外部例程、接口块、模块等功能的使用方法。联系例程重载、例程递归的使用方法。 1、 编写一个子例程子程序,SUM(S ,T ,N1,N2)。把整型数N1到N2进行求和,并把求和的结果放置到S ,把整型数N1到N2进行求积,并把求积的结果放置到T 。并用这个子程序来计算 (1234)(345678)(3*4*5*6)(1*2*3)y =++++++++++- 2、 编写一个模块程序,提供以下服务:定义出常量π、e 。定义出子程序,实现求和21n i n =∑、 求阶乘n !。并在主程序中计算如下结果:从键盘上输入整数n 、实型数A 、R 、R 0,求21! n i n n =?? ???∑(实型)和0202n n R R An R e R R π??- ????? ???(实型)。 3、 编写函数子程序GDC 求两个数的最大公约数。求最大公约数的算法如下:把两个数中大的那个数作为被除数,两数相除得到一个余数。把余数去除除数得到新一轮的余数。不断重复这一过程直到余数为0,这时的除数就是两个数的最大公约数。 调用此函数,求1260,198,72三个数的最大公约数。 选作: 编写一个函数子程序求sinh(x),以下分三个步骤完成:(1)用递归算法,求出1!1!n n x x x n n n -=?-;(2)自行编程求出234012!3!4!!n x n x x x x e x n ∞=≈+++++???=∑,要求计算精度是610!n x n -<[不能用Fortran 的内部函数EXP(x)];(3)计算sinh()2x x e e x --=

fortran程序案例题汇编(14道)

1.Fibonacci数列定义如下: F1=1 F2=1 F n=F n-1+F n-2 (n>2) 求Fibonacci数列的前30项。 integer f(30),i f(1)=1 f(2)=2 do i=3,30 f(i)=f(i-1)+f(i-2) enddo print*,f end 2.输入10个学生的总分,求每个学生的名次integer s(10),a(10),i,j do i=1,10 read*,s(i) enddo do i=1,10 a(i)=1 do j=1,10 if(s(i)

3.给定一组数,按照从小到大的顺序输出。integer a(10) integer p do i=1,10 read *,a(i) enddo do j=1,9 p=j do i=j+1,10 if (a(i)

4.输入若干名学生的学号和三门课程(语数英)的成绩,要求从键盘输入一个学生的学号,能打印出该学生的三门功课成绩和总分。 character*6,dimension(:),allocatable::xue integer,dimension(:,:),allocatable::g integer,dimension(:),allocatable::zong integer i,j,n character*6,xh print *,"请输入学生的个数" read *,n allocate(xue(n)) allocate(g(n,3)) allocate(zong(n)) do i=1,n read *,xue(i),(g(i,j),j=1,3) enddo do i=1,n zong(i)=0 do j=1,3 zong(i)=zong(i)+g(i,j) enddo enddo print *,"请输入你要打印的学生的学号" read *,xh do i=1,n if(xue(i)==xh)then print *,(g(i,j),j=1,3),zong(i) exit endif enddo end

软件工程上机实验报告

学生管理系统 1、用例图绘制 1)用户需求 需求分析 1、为每个使用系统得人员设置权限。只有通过权限验证得人才能使用系统。 2、学生可以使用该系统查询所学课程得成绩。 3、教师使用该系统完成学生成绩得录入、修改、显示与打印。 4、管理员使用系统输入学生信息、教师信息、班级信息与课程信息。 这里系统得参与者有三个,分别就是: 参与者“学生”:使用系统得目得就是查询所学课程得成绩 参与者“教师”:完成学生信息得录入、修改、显示与打印 参与者“管理员”:输入学生信息、教师信息、班级信息与课程信息 2)用例图绘制 本人根据自己登陆到中南大学教务管理系统查询成绩得做法,做出以下得用例图。由于用例图只就是给出用户所瞧到得得系统得功能,一般不包括选择选项等细致得步骤。所以本人得用例图与参考得报告有所不同。而且本人设计得系统功能仅与成绩有关,所以用例图较简单。 至于管理员得用例由于后面有些功能就是相近得鉴于篇幅有限,所以只就是列举了管理学生与

管理教师两个功能得扩 展。. 3)用例详细说明 学生查询成绩用例 1、简要说明:本用例描述了学生查询课程成绩。 2、事件流 (1)、基本流 1)选择课程名称与学期 )点击“确定”按钮 2 3)系统显示对应学期该课程成绩。 (2)、备选流 2a 系统提示出错,点击“确定”按钮结束。 3、特殊需求:无。 4、前置条件:成功“登陆”系统

5、后置条件:无。 6、扩展点:无。 7、相关数据:所学课程得成绩。 8、问题说明:无。 老师查询成绩用例 1、简要说明:本用例描述了教师查询课程成绩。 2、事件流 (1)、基本流 1)老师选择课程名称与班级 2)点击“确定”按钮 3)系统显示该课程成绩该班级得所有学生成绩。 (2)、备选流 2a 系统提示出错,点击“确定”按钮结束。 3、特殊需求:无。 4、前置条件:成功“登陆”系统 5、后置条件:无。 6、扩展点:无。 7、相关数据:所学课程得成绩。 8、问题说明:无。 老师录入成绩用例 1、简要说明:本用例描述了教师对课程成绩进行录入。 2、事件流 (1)、基本流 1)选择课程名称。 2)老师在列出得学生中对应得成绩输入框输入成绩。 3) 老师点击“提交”按钮。 4)系统显示录入该课程成绩。 (2)、备选流 1a 如果没有要选择得课程名称,给出提示,结束。 3a 如果教师没有确认保存录入成绩,给出提示,结束。 2a 老师点击“暂存”按钮,成绩会展示存储起来,下次登陆输入时不用再次输入。 3、特殊需求:无。 4、前置条件:成功“登陆”系统 5、后置条件:无。 6、扩展点:无。 7、相关数据:所学课程得成绩。 8、问题说明:无。 老师修改成绩用例 1、简要说明:本用例描述了教师对学生得课程成绩进行修改。 2、事件流 (1)、基本流 1)选择课程名称与学期 2)点击“确定”按钮 3)系统显示该课程成绩该班级得所有学生成绩。

CASS(NSS)试验箱操作规程

CASS试验箱操作规程 1、打开电源开关及气阀; 2、扳动右侧气动升降开关,打开箱盖,向箱内底部水槽加入自来水,至白色底板处(如水箱缺水则控制箱 处警示灯会点亮)。另外试验箱上部密封水槽内也需注水(自来水即可),水位漫过橡胶垫块即可; 3、从试验箱后部漏斗处加入饱和水箱用水(必须使用蒸馏水),水位高度可观察试验箱右侧水位标尺; 4、将配置好的试验溶液从上部圆口处加入溶液箱内; 5、将控制面板上计时器设定至最大(9000h); 6、将控制面板上连续开关打开,再打开设备运转开关;(确认喷雾压力值,喷雾压力为0.07-0.17Mpa); 7、按照试验要求将已用酒精擦拭过的零部件(实验前需拍照)逐一放入试验箱,并按要求摆放; 8、在检测看板上按试验时间放好各零部件的标贴,以便按试验时间不同分次取出; 9、试验品时间到后开箱取出并用清水进行冲洗,按国家试验标准进行评级并拍照; 10、需要停机或检修时,将饱和水箱、箱体及溶液箱内的水全部排掉,之后用自来水冲洗箱体内部及溶液箱; 11、关闭电源开关及进气阀。 CASS试验溶液配比方法: 1.将氯化钠溶于蒸馏水中,浓度为5%(既50±5g/L); 2.再加入氯化铜加入以上所得溶液中(浓度为0.26±0.02g/L); 3.最后在溶液中加入适量冰乙酸以保证试验箱内盐雾收集液的PH值为 3.1-3.3。喷雾前溶液的PH值为 3.0-3.1,用能读出0.1PH值变化的精密PH试纸作为日常检测,溶液的PH值可用冰乙酸调整。 NSS试验箱操作规程 1、打开箱盖; 2、向箱内底部及密封水槽内注水(自来水即可); 3、将浓度为5%NaCl溶液加入右侧溶液箱; 4、打开电源开关、气阀及运转开关,检查喷雾是否正常(喷雾量可通过上下调节喷雾口处锥形盖控制); 5、按照试验要求将已用酒精擦拭过的零部件(实验前需拍照)逐一放入试验箱,并按要求摆放; 6、在检测看板上按试验时间放好各零部件的标贴,以便按试验时间不同分次取出; 7、试验品时间到后开箱取出并用清水进行冲洗,按国家试验标准进行评级并拍照; 8、需要停机或检修时,将箱体及溶液箱内的水全部排掉,之后用自来水冲洗箱体内部及溶液箱; 9、关闭电源开关及气阀。 NSS试验溶液配比方法: 1.将氯化钠溶于蒸馏水中,浓度为5%(即50±5g/L)。 试验箱运行要求 1.在试验之前设备至少空运行24h必须测量收集液的PH值,以保证整个喷雾期的溶液PH值在规定范围内;2.试验样品试验表面与垂直成30o左右摆放不能相互接触,也不能受到盐雾的直接喷射; 3.NSS试验箱内温度为35℃±2℃,CASS试验箱温度为50℃±2℃,饱和水箱温度为50℃±2℃; 4.盐雾的沉降速度,经24h喷雾后,每80平方厘米面积上为1-2mL/h。

软件工程实验报告(总)

信息工程学院软件工程实验报告 专业: 班级: 学号: 姓名: 指导老师:

实验一:软件开发的过程计划 实验课时:2课时 一、实验目的 项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。 ⑴估计项目的总体规模、工作量和成本。 ⑵制定项目计划,重点放在产品生命周期中的主要关键任务。 ⑶制定项目时间表和预算。 二、实验环境 1.硬件环境 P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。 2.软件环境 操作系统:Windows XP 数据库:Sql Server 2000以上或Access 2003以上 3.通用工具软件 通用绘图工具:MicroSoft Visio 2003以上 文本编辑工具:MicroSoft Word 2003以上 4.CASE工具 UML建模工具:Rational Rose 2000 三、实验要求、实验内容 1、实验要求: 在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。 2、实验内容 熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。 学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

四、思考题 1、项目开发首先要做的事是什么? 答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。 2、你认为该软件应具备的最重要的特性是什么。 答:安全性、实用性、灵活性。 3、你认为怎样分工是最合理的? 答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们 的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取 主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工 作员有问题的话,内部自己解决,只要按时汇报工作就可以了。 五、实验内容: 项目背景 项目名称:银行计算机储蓄系统 随着社会经济的发展,XX银行的业务不断增长,传统的依靠手工的存取款业务办理方式已经不能满足不断增长的业务需求。其一,业务需求的增加需要消耗大量人力物力资源;其二,业务复杂化导致人工处理方式出错率增加,从而引起储户不满。一方面可以减轻银行业务员的工作量,另一方面可以减少工作的出错率,从而提高工作效率。现在计算机网络的告诉发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。为解决此问题,拟为其开发计算机储蓄系统。 项目进度: 项目在项目经理的制度下,在整个开发过程中,树立“里程碑”,而且严格按照计划进行,各阶段任务必须完成,现把任务进度历程绘制如下:

Fortran 上机题汇总

Fortran 复习题汇总program exer101_1 implicit none realpi,r,t,s C 说明符号常量 parameter(pi=3.1415926) C 打开用于保存结果的文件 open(9,file='mydata.dat') write(*,*)"请输入r和t的值:" read*,r,t s=t/360.0*pi*r**2 C 在屏幕上显示结果 print*,'r=',r,'t=',t,'s=',s C 采用格式说明语句显示结果 write(*,100)'r=',r,'t=',t,'s=',s 100 format(1X,3(A2,F10.5,1X)) C 将结果保存至文件中 write(9,*)'r=',r,'t=',t,'s=',s end program exer101_2 implicit none realpi.r,t,s parameter(pi=3.1415926) !说明符号常量 open(9,file='mydata.dat') !打开用于保存结果的文件write(*,*)"请输入r和t的值:" read*,r,t s=t/360.0*pi*r**2 print*,'r=',r,'t=',t,'s=',s !在屏幕上显示结果 write(*,100)'r=',r,'t=',t,'s=',s !采用格式说明语句显示结果100 format(1X,3(A2,F10.5,1X)) write(9,*)'r=',r,'t=',t,'s=',s !将结果保存至文件中 end 1

2 program ex202 implicit none real F,C print*,"请输入一个华氏温度:" read*,F

fortran程序实例

1)实例3—求多个半径下的圆周长 ! z3.f90 --Fortran95 ! FUNCTIONS: ! z3 - Entry point of console application. !************************************************************************* ! PROGRAM: z3 ! PURPOSE: Entry point for the console application. !************************************************************************ program z3 ! 求多个半径下的圆周长 ! 主程序 ! PROGRAM Z3 PRINT *, 'R=',1.2,'C=',C(1.2) PRINT *, 'R=',3.4,'C=',C(3.4) PRINT *, 'R=',15.6,'C=',C(15.6) PRINT *, 'R=',567.3,'C=',C(567.3) END program z3 !子程序 FUNCTION C(R) PI=3.1415926 C=2*PI*R RETURN ! Body of z3 end

2)实例4—键盘与显示器输入/输出 a)Fortran 基本操作 b)程序指令 ! ZXZ_I_O.f90 ! FUNCTIONS: ! ZXZ_I_O - Entry point of console application. ! PROGRAM: ZXZ_I_O ! PURPOSE: Entry point for the console application. !***************输入、输出样式种种************************** program ZXZ_I_O implicit none !变量声明的位置 INTEGER(2) i; INTEGER(4) j; INTEGER(4) m; REAL n INTEGER A,B ! Variables PRINT*,'输入整数A'; READ*, A PRINT*,'输入整数B'; READ*, B B=A+B PRINT*,'B=A+B=',B WRITE(*,*) 'A*B=',A*B PRINT* ,'以上为计算机的计算结果,注意B的值'

测绘程序实验报告

实验1 Visual C++.Net环境和程序设计初步 1.掌握 VC++ 语言的基本语法; 2.理解顺序结构、选择结构和循环结构程序设计的特点及应用; 3.掌握对基于对话框的 MFC 应用程序设计方法; 4.掌握一些简单算法。 5.编写一个方位角计算程序。提示:先使用反正切函数计算,然后利用坐标增量 的符号来判断所在的象限。 设计思路:在按钮下面添加程序。X Y同时大于0在第一象限,方位角等于arctan(y/x);X>0,Y<0在第二象限,方位角等于arctan(y/x)+90;X<0,Y<0在第三象限,方位角等于arctan(y/x)+180;X<0,Y>0在第四象限,方位角等于arctan(y/x)+270; 界面设计: 主要代码:计同一参考椭球下的三维地心坐标(笛卡儿坐标系)与大地坐标系转换的程序。 (提示:用 do…while 迭代,B、H 初始为 0 进行迭代,直到 H 的精度达到 米) 注意:东经 0~180(Y>0),西经:0~-180(Y<0)

式中,B、L、H 为椭球面上的大地纬度、大地经度、大地高;X、Y、Z 为空间直角坐标;N 为卯酉圈曲率半径,e 为椭球的偏心率,a 为椭球的长半径,b 为椭球的短半径。(WGS84 椭球参数:长半径 a=6378137m,扁率α=1/) 设计思路:在按钮下面设置主程序,按照指导书给的思路编辑公式 界面设计: 主要代码: 写一个后方交会计算程序。 基本原理及计算公式 若将 Pa、Pb、Pc 看成权,则 P 点的坐标即为三个已知点的加权平均值 计算程序设计步骤 (1)设计界面,用于输入 3 个已知点的坐标和三个观测角、和,以及用于输出待定点坐标的文本框(12 个)、静态标签框和 Button 按钮; (2)定义文本框控件变量(Value); (3)根据已知点计算三个内角 A、B、C; (4)计算 Tan(α)、Tan(β)、Tan(γ)、Tan(A)、Tan(B)、Tan(C); (5)计算 Pa、Pb、Pc; (6)计算待定点坐标 Xp、Yp。 界面要求: 三个坐标输入框,两个角度输入框 一个坐标结果输出框 一个计算按钮,一个清除按钮,一个退出按钮。

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

fortran习题参考答案

工程分析程序设计上机作业(五) 模块化编程 上机目的:掌握内部例程、主程序、外部例程、模块等功能的使用方法。 1、有一个六边形,求其面积。为求面积,作了3条辅助线。如图所示:(提示,三角形面 积 2 a b c s ++ =,a、b、c为三个边长)。要求用内部函 数来计算每个三角形的面积。 =21 program main implicit none real :: A(9)=(/10,30,16,13,21,14,20,36,28/) integer i real s s=area(A(3),A(4),A(7))+area(A(2),A(7),A(8))+ & area(A(1),A(8),A(9))+area(A(5),A(6),A(9)) print*,'The area is',s contains function area(x,y,z) implicit none real x,y,z real p,area p=(x+y+z)/2 area=sqrt(p*(p-x)*(p-y)*(p-z))

end function end 2、编写一个子例程子程序,SUM(S,T,N1,N2)。把整型数N1到N2进行求和,并把求 和的结果放置到S,把整型数N1到N2进行求积,并把求积的结果放置到T。并用这个子程序来计算: y=++++++++++- (1234)(345678)(3*4*5*6)(1*2*3) program main implicit none integer A(8) integer i,b,c,d,e,f,g,m,n,y b=0;d=0;g=1;n=1 do i=1,8 A(i)=i end do call sum(b,c,1,4) call sum(d,e,3,8) call sum(f,g,3,6) call sum(m,n,1,3) y=b+d+g-n print*,'y=(1+2+3+4)+(3+4+5+6+7+8)+(3*4*5*6)-(1*2*3)=',y contains subroutine sum(s,t,N1,N2) integer s,t,N1,N2,i do i=N1,N2 s=s+A(i) t=t*A(i) end do end subroutine end 3、编写函数子程序GDC求两个数的最大公约数。求最大公约数的算法如下:把两个数中 大的那个数作为被除数,两数相除得到一个余数。把余数去除除数得到新一轮的余数。 不断重复这一过程直到余数为0,这时的除数就是两个数的最大公约数。

软件工程实验报告

软件工程实验报告 Prepared on 22 November 2020

实验报告实验名称实验一:可行性分析试验报告评分 实验日期 2008 年 4 月 1 5 日指导教师张铁楠 姓名董晓光专业班级信息与计算科学0501 学号 21 一、实验名称 可行性分析试验报告 二、实验目的 根据软件工程国家文档规范和课题,撰写可行性分析报告文档。达到熟悉可行性分析方法和可行性文档规约的目的。 三、实验环境 1、硬件环境:显示器一台(分辨率为800*600),硬盘为80G,内存为512M,CPU为Pentium 2.66G。 2、软件环境:WORD2000。 四、试验步骤与内容 1. 引言 编写目的:本学生课程管理系统模块是为了实现各大高校对学生选课而设计的,通过试用本系统,可以更加有效的管理学生选课信息,其中包括课程基本信 息,课程信息并且具有查询课程信息,查询教师信息,选课、退选等功 能 项目背景:本系统属于高校学生信息管理系统中的学生选课管理模块,由管理系统总体设计人员提出,由本组成员联合开发,实现的是管理系统中关于学生 选课管理的子功能。 参考资料:参见《软件工程》、《管理信息系统》两书。 2.可行性研究的前提 要求:(1)功能:本系统主要针对各大高校选课这一块,学生通过登录,可以查 看各周课程基本信息、查看教师基本信息,并且通过必修和选 修分开,如果一天哪几节有必修课,而其它时间你可以进行选

修课选择,可以通过选课,学生选择自己需要的课程,并可以 退选,最后学生还可以打印课程表。 (2)性能:查询效率尽可能做到精准,信息维护功能做到简单易 用,不需过多对人员的培训。 (3)输入:对于查询功能,应做到可以单条件和组合条件输入;对 于维护功能,要有输入、修改学生信息和课程。 (4)输出:能按要求在显示器上显示所需内容并能打印成有条理的 表格。 (5)安全与保密:对于不同权限用户,设置不同权限,对重要数据 可以考虑加密存储。考虑到数据保存,条件允许的情况下 可以让系统定时自动保存,省去手工保存的繁杂程序。 (6)本模块由系统主界面调入,实现学生选课管理子功能。 (7)完成期限:1个月 (8)基本处理流程:(见最后一页) 条件、假定和限制: 开发时间:4月。 经费来源:个人筹集 最迟完成时间:2008年6月1日 决定可行性的主要因素: 资金到位 开发人员无较大变动 3.对现有系统的分析 现有系统为完全人工记录,设备落后,工作重复量大、枯燥,错误率高,查询复杂、花费时间长。 4.所建议技术可行性分析 本系统将大大改善数据处理速度,并且更加方便的对数据进行管理,同时可以减少人力资源的浪费以及工资支出。 采用建议系统可能带来的影响 只需添置低档计算机,如果条件允许可添加打印机以便查询能方便打印成 资料作为参考。 4.2.2对现有软件的影响

几个fortran程序

计算圆周率 REAL R,R1,R2,PI ISEED=RTC() N0=0 N=300000 DO I=1,N R1=RAN(ISEED) R2=RAN(ISEED) R=SQRT(R1*R1+R2*R2) IF(R<1.0)N0=N0+1 END DO PI=4.0*N0/N WRITE(*,*)PI END 一)蒙特卡洛计算生日问题 假设有N个人在一起,各自的生日为365天之一,根据概率理论,与很多人的直觉相反,只需23个人便有大于50%的几率人群中至少有2个人生日相同。 INTEGER M(1:10000), NUMBER1(0:364), NUMBER2 REAL X,Y ISEED=RTC() DO J=1, 10000 NUMBER1=0 X=RAN(ISEED) NUMBER1(0)=INT(365*X+1) JJJ=1 DO I=1,364 Y=RAN(ISEED) NUMBER2=INT(365*Y+1) ETR=COUNT(NUMBER1.EQ.NUMBER2) IF (ETR= =1) THEN EXIT ELSE JJJ=JJJ+1 M(J)=JJJ NUMBER1(I)=NUMBER2 END IF END DO END DO DO I=1,10000 IF(M(I).LE.23) SUM=SUM+1 END DO PRINT *,SUM/10000 END 二)MONTE CARLO SIMULATION OF ONE DIMENSIONAL DIFFUSION 蒙特卡罗计算一维扩散问题

INTEGER X,XX(1:1000,1:1000) REAL XXM(1:1000) ! X:INSTANTANEOUS POSITION OF ATOM ! XX(J,I):X*X ,J:第几天实验,I:第几步跳跃 ! XXM(I): THE MEAN OF XX WRITE(*,*) "实验天数JMAX,实验次数IMAX" READ(*,*) JMAX,IMAX ISEED=RTC() DO J=1,JMAX !第几天实验 X=0 !!! DO I=1,IMAX !第几步跳跃 RN=RAN(ISEED) IF(RN<0.5)THEN X=X+1 ELSE X=X-1 END IF XX(J,I)=X*X END DO END DO OPEN(1,FILE="C:\DIF1.DAT") DO I=1,IMAX XXM=0.0 XXM(I)=1.0*SUM(XX(1:JMAX,I))/JMAX !! WRITE(1,*) I, XXM(I) END DO CLOSE(1) END 三维的! 三)通过该程序了解FORTRAN语言如何画图(通过像素画图)USE MSFLIB INTEGER XR,YR !在的区域中画一个圆 PARAMETER XR=400,YR=400 INTEGER R, S(1:XR,1:YR) X0=XR/2 ! 圆心位置X0,YO Y0=YR/2 R=MIN(X0-10,Y0-10) !圆半径 S=0 !像素的初始状态(颜色) DO I=1,XR DO J=1,YR IF((I-X0)**2+(J-Y0)**2<=R**2)S(I,J)=10 IER=SETCOLOR(S(I,J)) IER=SETPIXEL(I,J) END DO END DO END

测记法 野外数据采集及制图实验报告

数字测图实验报告 班级2013012班 专业地理信息科学 组别第六组 组员王宁 华北水利水电大学资源与环境学院地理信息科学教研室

野外数据采集及制图 [实验名称] 测记法野外数据采集及制图 [实验目的] 掌握用全站仪的程序进行碎部点数据采集,并利用内存记录数据的方法,掌握全站仪和计算机之间进行数据传输的方法,并学会画草图,学会用CASS软件把草图展绘在计算机上。 [仪器和工具] 全站仪,脚架,棱镜杆,棱镜,钢卷尺 [实验原理] 测记法是在观测碎部点时,绘制工作草图,在工作草图记录地形要素名称、碎部点连接关系。然后在室内将碎部点显示在计算机屏幕上,根据工作草图,采用人机交互方式连接碎部点,输入图形信息码和生成图形的一种测量方法。 [实验步骤] 1.认识测区 进入测区后,领镜(尺)员首先对测站周围的地形、地物分布情况大概看一遍,认清方向,制作含主要地物、地貌的工作草图(若在原有的旧图上标明会更准确),便于观测时在草图上标明所测碎部点的位置及点号。 2.野外数据采集 用全站仪进行数据采集可采用三维坐标测量方式。测量时,应有一位

同学绘制草图。草图上须标注碎部点点号(与仪器中记录的点号对应)及属性。 (1)安置全站仪,对中整平,量取仪器高,检查中心连接螺旋是否旋紧。 (2)打开全站仪电源,并检查仪器是否正常。 (3)建立控制点坐标文件,并输入坐标数据。 (4)建立(打开)碎部点文件。 (5)设置测站,选择测站点点号或输入测站点坐标,输入仪器高并记录。 (6)定向和定向检查,选择已知后视点或后视方位进行定向,并选择其他已经点进行定向检查。 (7)碎部测量,测定各个碎部点的三维坐标并记录在全站仪内存中,记录时注意棱镜高、点号和编码的正确性。 (8)归零检查,每站测量一定数量的碎部点后,应进行归零检查,归零差不得大于1′。 (9)数据编码,测记法数据采集通常区分为有码作业和无码作业,有码作业需要现场输入野外操作码(如CASS7.0)。无码作业现场不输入数据编码,而用草图记录绘图信息,绘草图人员在镜站把所测点的属性及连接关系在草图上反映出来,以供内业处理、图形编辑时用。野外采集时,能测到的点要尽量测,实在测不到的点可利用皮尺或钢尺量距,将丈量结果记录在草图上,室内用交互编辑方法成图。(10)搬站,在一个测站上当所有的碎部点测完后,要找一个已知点

2013秋复合材料力学上机作业

《复合材料力学》课程上机指导书(力学101,力学C101-2) 河北工业大学机械学院力学系 2013年9月

目录 作业1单向板刚度及柔度的计算(2学时) (1) 作业2单向板的应力、应变计算(2学时) (2) 作业3绘制表观工程常数随 的变化规律(3学时) (3) 作业4绘制强度准则的理论曲线(包络线)(3学时) (4) 作业5层合板的刚度计算(3学时) (5) *作业6层合板的强度计算(4学时) (6) 附录作业提交说明……………………………………………. . 7 注:带“*”的题目可作为自愿选做题。

作业1 单向板刚度及柔度的计算 一、要 求 (1)选用FORTRAN 、VB 、MAPLE 或MATLAB 编程计算下列各题; (2)上机报告内容:源程序、题目内容及计算结果; (3)材料工程常数的数值参考教材自己选择; (4)上机学时:2学时。 二、题 目 1、已知单层板材料工程常数1E ,2E ,12G ,计算柔度矩阵[S ]和刚度矩阵[Q ]。(玻璃/环氧树脂单层板材料的MPa 1090.341?=E ,MPa 1030.142?=E , MPa 1042.0412?=G ,25.021=μ, MPa 1001=σ,MPa 302-=σ,MPa 1012=τ) 2、已知单层板材料工程常数1E ,2E ,12G ,21μ及θ,计算柔度矩阵][S 和刚度矩阵][Q 。(M P a 1090.341?=E ,MPa 1030.142?=E ,MPa 1042.0412?=G ,25.021=μ,?=30θ)

作业2 单向板的应力、应变计算 一、要 求 1、选用FORTRAN 、VB 、MAPLE 或MATLAB 编程计算下列各题; 2、上机报告内容:源程序、题目内容及计算结果; 3、材料工程常数的数值参考教材自己选择; 4、上机学时:2学时。 二、题 目 1、已知单向板的应力x σ、y σ、xy τ,工程常数1E ,2E ,12G ,21μ及θ,求x ε、 y ε、xy γ;1σ、2σ、12τ;1ε、2ε、12γ。 (知?=30θ,应力MPa 160=x σ,MPa 60=y σ,MPa 20=xy τ,工程常数MPa 1090.341?=E ,MPa 1030.142?=E ,MPa 1042.0412?=G ,25.021=μ,?=30θ) 2、已知1σ、2σ、12τ,工程常数1E ,2E ,12G ,21μ及θ,求1ε、2ε、12γ;x ε、y ε、 xy γ;x σ、y σ、xy τ。 (知MPa 1001=σ,MPa 302-=σ,MPa 1012=τ,MPa 1090.341?=E ,MPa 1030.142?=E ,MPa 1042.0412?=G ,25.021=μ,?=30θ)

fortran程序30个

程序1 PROGRAM chaper1272 INTEGER :: A(10)=(/5,7,4,8,12,2,10,3,9,11/) INTEGER :: sum=0,ave !打开一数据文件,设置一个有格式直接存取文件,将10个数分2个记录写入文件。 !数据文件生成2个记录,每个记录行长度相同,记录长度为25 OPEN(1,FILE='input21.dat',FORM='FORMATTED',ACCESS='D IRECT',RECL=25) WRITE(1,"(5I5)",REC=1)(A(I)+10,I=1,5) !按格式说明将头5个数写入第1个记录 WRITE(1,"(5I5)",REC=2)(A(I)+10,I=6,10)!按格式说明将后5个数写入第2个记录 READ(1,"(5I5)",REC=2)(A(I),I=6,10) !按格式说明从第2个记录中读取后5个数 READ(1,"(5I5)",REC=1)(A(I),I=1,5) !按格式说明从第1个记录中读取头5个数 DO I=1,10 sum=sum+A(I) ENDDO ave=sum/10 !打开一个最大记录长度为22的有格式顺序存取文件

OPEN(2,FILE='input22.dat',FORM='FORMATTED',ACCESS='D IRECT',RECL=22) WRITE(2,"('10个数之和为:',I5)",REC=1) sum !输出1记录行,记录长度为22 WRITE(2,"('10个数平均值为:',I5)",REC=2)ave !输出1记录行,记录长度为22 WRITE(2,"(A)",REC=3) '程序运行正常结束。' !输出一个记录行,记录长度为22 END 程序2 PROGRAM average REAL sum,ave INTEGER n OPEN(1,file='score.dat') PRINT*,'正在统计平均成绩,请等待。' sum=0.0;n=0 DO READ(1,*,END=100) S sum=sum+s n=n+1 ENDDO 100 ave=sum/n

相关文档