




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工程分析程序设计 上机作业(七)派生类型上机目的:练习派生类型的定义、构造、初始化,成员的调用和操作。操作符的重载。1、 用派生类型构造一个班的学生的数据库(10个人),包括学号、姓名、3门课的分数,并(1)按学号顺序显示每个人的信息;(2)计算每个人的平均分,按从高到低的顺序从屏幕上显示每个人的信息及其平均分。MODULE STU_TYPE IMPLICIT NONE TYPE STUDENT INTEGER NOCHARACTER(10)NAMEREAL A,B,C END TYPEEND MODULEPROGRAM DATABASE USE STU_TYPE IMPLICIT NONE CHARACTER(20)FILENAME TYPE(STUDENT)STU INTEGER I,LEN,N PRINT*,输入学生数 READ*,N PRINT*,输入文件名 READ*,FILENAME INQUIRE(IOLENGTH=LEN)STU OPEN(1,FILE=FILENAME,ACCESS=direct,RECL=LEN) PRINT*,输入学号、姓名及语文、数学、英语的分数 DO I=1,N READ*,STUWRITE(1,REC=I)STU END DO CLOSE(1)END2、 仿照教材的例6-4,(1)设计一个“+”操作符的重载,实现两个集合的合集;(2)设计一个“-”操作符的重载,把集合A中那些同时又出现在集合B中的元素去掉。MODULE INTEGERSETS IMPLICIT NONE INTEGER,PARAMETER:MAXCARD=100 TYPE SET PRIVATE INTEGER CARDINALITY INTEGER,DIMENSION(MAXCARD):MEMBERS END TYPE set INTERFACE OPERATOR(.IN.) MODULE PROCEDURE MEMBEROF END INTERFACE INTERFACE OPERATOR(+) MODULE PROCEDURE UNIONOF END INTERFACE INTERFACE OPERATOR(-) MODULE PROCEDURE CHAJI END INTERFACE CONTAINS FUNCTION BUILDSET(V) TYPE(SET) BUILDSET INTEGER V(:) INTEGER J BUILDSET%CARDINALITY=0 DO J=1,SIZE(V) IF(.NOT.(V(J).IN.BUILDSET)THEN IF(BUILDSET%CARDINALITYMAXCARD) THEN BUILDSET%CARDINALITY=BUILDSET%CARDINALITY+1 BUILDSET%MEMBERS(BUILDSET%CARDINALITY)=V(J) ELSE PRINT*,MAXIMUM SET SIZE EXCEEDED ADJUST MAXCARD STOP END IF END IF END DO END FUNCTION BUILDSET FUNCTION CARD(S) INTEGER CARD TYPE(SET) S CARD=S%CARDINALITY END FUNCTION FUNCTION UNIONOF(S1,S2) TYPE(SET),INTENT(IN):S1,S2 TYPE(SET) UNIONOF INTEGER I UNIONOF%CARDINALITY=0 DO I=1,S1%CARDINALITY UNIONOF%CARDINALITY=UNIONOF%CARDINALITY+1 UNIONOF%MEMBERS(UNIONOF%CARDINALITY)=S1%MEMBERS(I) END DO DO I=1,S2%CARDINALITY IF(.NOT.(S2%MEMBERS(I).IN.S1) THEN UNIONOF%CARDINALITY=UNIONOF%CARDINALITY+1 UNIONOF%MEMBERS(UNIONOF%CARDINALITY)=S2%MEMBERS(I) END IF END DO END FUNCTION FUNCTION CHAJI(S1,S2) TYPE(SET),INTENT(IN):S1,S2 TYPE(SET) CHAJI INTEGER K CHAJI%CARDINALITY=0 DO K=1,S1%CARDINALITY IF(.NOT.(S1%MEMBERS(K).IN.S2) THEN CHAJI%CARDINALITY=CHAJI%CARDINALITY+1 CHAJI%MEMBERS(CHAJI%CARDINALITY)=S1%MEMBERS(K) END IF END DO END FUNCTION FUNCTION MEMBEROF(X,S) INTEGER,INTENT(IN):X TYPE(SET),INTENT(IN):S LOGICAL MEMBEROF MEMBEROF=ANY(S%MEMBERS(1:S%CARDINALITY)=X) END FUNCTION SUBROUTINE PRTSET(S) TYPE(SET)S INTEGER I PRINT(20I4),(S%MEMBERS(I),I=1,S%CARDINALITY) END SUBROUTINE END MODULE PROGRAM TWO USE INTEGERSETS IMPLICIT NONE TYPE(SET)s1,s2,s3,s4 s1=BUILDSET(/1,2,3,4,5,6,7/) s2=BUILDSET(/2,4,6,8,2,10/) s3=s1+s2 s4=s1-s2 WRITE(*,(s1 ,I3,ELEMENTS:),ADVANCE=NO)CARD(s1) CALL PRTSET(s1) WRITE(*,(s2 ,I3,ELEMENTS:),ADVANCE=NO)CARD(s2) CALL PRTSET(s2) WRITE(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 键盘的使用课件
- 土建现场安全培训
- 小学语文《太阳》教学课件设计
- 少儿拼音班课件
- 钓鱼分类游戏课件
- 广东河北自考试题及答案
- 广东广东美学自考试题及答案
- 冷库考试题及答案大全
- 烤灯考试题及答案
- 抗震减灾考试题及答案
- 学堂在线 军事理论 章节测试答案
- 《工程勘察设计收费标准》(2002年修订本)
- GB 31644-2018食品安全国家标准复合调味料
- 途虎八步及10大保养质检流程试题及答案
- 小箱梁运输及架设施工危险源辨识及分析
- 舒尔特训练方格 可打印(5×5)
- 中国文化概论·第3章·第1节
- 构建“可视化”数学课堂促进学生深度学习
- 财务报销流程培训PPT课件:日常费用报销
- 冷弯薄壁型钢房屋结构介绍ppt课件
- 水库大坝安全监测设施检查测试方法、安装埋设考证表.doc
评论
0/150
提交评论