Fortran90数组编程作业
更新时间:2024-01-22 10:25:01 阅读量: 教育文库 文档下载
数组--程序设计作业
数组是FORTRAN90最重要的结构数据类型之一。许多实际问题往往设计大量的数据,数组是存储和处理大批量数据的有效工具,有些问题如果不用数组求解将难以解决。
数组是类型相同且有序的一组数据,涉及到这类数据均可考虑使用数组。
本次实验是学习和掌握数组声明、数组元素引用、数组输入输出、数组赋初值的一次系统实验活动。通过本次实验,能够设计和编写比较简单的数组应用程序。
一.实验内容1
1.问题描述
已知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:
? !班级:??? ? !姓名:??? ? !时间:???
-59-
? !数据查询
? PROGRAM problem01
? INTEGER :: num(10)=( ),n ? PRINT*,‘请输入100以内的一个正整数: ’ ? READ*,n
? PRINT*,‘删除前数据: ’
? WRITE(*,100) (num(I), ) ? DO I=1,10
? IF (n==num(I)) num(I)=-1 ? ENDDO ? PRINT*
? PRINT*,‘删除后数据: ’ ? DO I=
? IF ( ) WRITE(*,100) num(I) ? ENDDO ? PRINT*
? 100 FORMAT((I3,2X\\)) ? END
4.实验要求
? 分析问题,理解算法和程序,将程序填写完整。
? 掌握数组声明、数组构造器、隐含DO循环基本概念和使用规则。 ? 将输入数据和输出结果以注释形式编辑输入到源程序文件末尾。
? (下次上机试验)改写程序,提高通用性(正整数个数不定,且从键盘输入,数组元素最大个数max通过PARAMETER语句定义)。运行输入几组不同数据,获得不同运行结果。
5.实验步骤
? 分析问题,理解算法和程序,完成程序填空,得到正确完整程序。 ? 启动软件开发环境Microsoft Developer Studio。
? 编译、构建、运行、调试程序。运行时输入数据45,得到输出结果。 ? 将输入数据和输出结果以注释形式编辑输入到源程序文件末尾。
二.实验内容2
1.问题描述
输入一个班学生(人数≤40)的学号和3门课(英语、数学、物理)成绩,计算每个学生平均成绩、每门课平均成绩和三门课平均成绩,统计高于每门课平均成绩和三门课平均成绩的
-60-
学生人数和占总人数比例,输出统计结果。编写程序实现之。
2.算法设计
问题中涉及一个班级的学生学号、3门课成绩和学生平均成绩,这些数据符合数组定义,用五个数组存储这些数据。定义以下五个数组:
? numbers:字符型数组,存储学生学号。从键盘输入。 ? englishs:整型数组,存储英语成绩。
? maths:整型数组,存储数学成绩。从键盘输入。 ? physics:整型数组,存储物理成绩。从键盘输入。 ? averages:实型数组,存储学生平均成绩。计算获得。
计算获得英语平均成绩english_av、数学平均成绩math_av、物理平均成绩physic_av和三门课平均成绩average,均为实型。
从键盘输入学生人数n。
统计高于英语平均成绩人n1和比例p1,高于数学平均成绩人n2和比例p2,高于物理平均成绩人n3和比例p3,高于三门课平均成绩人nn和比例pp。
求解算法比较简单,设计算法如下: (1) 输入学生人数n;
(2) 采用“计数型”循环结构输入学生学号和三门课成绩,同时计算学生平均成绩,统
计英语、数学、物理课总成绩;
(3) 计算英语、数学、物理课平均成绩和三门课平均成绩; (4) 采用“计数型”循环结构统计高于平均成绩人数及比例 (5) 输出统计结果 (6) 结束
3.程序编写
根据算法,设计和编写不完整示例程序如下(请在下划线空白处填充正确内容): 程序8-2:
? !班级:??? ? !姓名:??? ? !时间:??? ? !统计人数及比例 ? PROGRAM main ? PARAMETER (max=40)
? CHARACTER*5 :: numbers(max)
? INTEGER,DIMENSION( ) :: englishs,maths,physics
? REAL :: averages(max),english_av,math_av,physic_av,average,sum1=0,sum2=0,sum3=0 ? INTEGER(1) :: n,n1=0,n2=0,n3=0,nn=0 ? REAL :: p1,p2,p3,pp ? PRINT*,‘请输入学生人数: ’
-61-
? READ*,n
? PRINT*,‘请输入’,n,‘名学生的学号、英语成绩、数学成绩和物理成绩。’ ? PRINT*,‘数据之间用空格间隔。学号为长度为5的字符串,用引号括住。’ ? DO I=1,n
? READ*,numbers(I),englishs(I),maths(I),physics(I) ? averages(I)=( )/3.0 ? sum1=sum1+englishs(I) ? sum2=sum2+maths(I) ? sum3= ?
? english_av=sum1/n ? math_av= ? physic_av=sum3/n
? average=(english_av+math_av+physic_av)/ ? DO I=1,n
? IF ( englishs(I)>english_av ) n1=n1+1 ? IF ( ) n2=n2+1 ? IF (physics(I)>physic_av) ? IF (averages(I)>average) nn= ? ENDDO ? p1=REAL(n1)/n ? p2= /n ? p3=REAL(n3)/ ? pp= (nn)/n
? WRITE(*,100) ‘英语’,n1,p1*100 ? WRITE(*,100) ? WRITE(*,100) ‘物理’,n3,p3*100 ? WRITE(*,100) ‘三门课’,nn,pp*
? 100 FORMAT(1X,‘高于’,A,‘平均成绩的学生人数有’,I2,‘人,占总人数比例’,F4.1,‘%’) ? END
4. 实验要求
? 分析问题,理解算法和程序,完成程序填空,得到正确完整程序。 ? 编译、构建、运行、调试程序。
? 将输入数据和输出结果以注释形式编辑输入到源程序文件末尾。
? 改写程序,提高程序通用性(将英语平均成绩、数学平均成绩、物理平均成绩和三门课平均成绩采用数组保存,将高于平均成绩人数采用数组保存,统计高于平均成绩人数可用循环结构实现)。
5.实验步骤
-62-
? 分析问题,理解算法和程序,在程序下划线空白处填写正确内容。 ? 编译、构建、运行、调试程序。
运行程序,输入学生人数:5和5名学生的学号、三门课成绩数据: ‘02201’ 45 70 85 ‘02202’ 75 65 60 ‘02203’ 55 85 50 ‘02204’ 85 60 70 ‘02205’ 60 90 45 运行结束,得到输出结果。
? 将输入数据和输出结果以注释形式编辑输入到源程序文件末尾。
-63-
正在阅读:
Fortran90数组编程作业01-22
小学生二年级帮妈妈做家务的作文06-13
部编人教版六年级上册语文21文言文二则教案(新审定)09-06
入职申请书03-31
自考小企业会计准则习题10-28
事业单位人事制度改革的考察报告08-19
模拟情境教学法在中职营销教学中的应用初探-2019年精选文档12-25
《财政学》习题、答案10-23
《客户服务管理工作细化执行与模板》内容05-05
初中数学知识点圆:圆的公式汇总01-05
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数组
- Fortran90
- 作业
- 编程
- 引导孩子用自己的眼睛观察世界
- 中国传统文化在中小学思想政治教育中的价值研究
- 汽轮机本体安装作业指导书
- 名著导读之《高老头》讲义
- 野生动物与保护 - 图文
- 2015年河北省职称评审条件通知
- 初中政治中考复习资料
- 关于加强涉密人员管理的几点思考
- 钢筋混凝土单向板肋梁楼盖课程设计
- 自学考试C++程序设计真题汇总(08年-11年)
- 必修三理解性默写(教师版)
- 转型时期我国政府职能的转变与定位
- 1470超前支护段替棚安全技术措施(2)
- 2018年人教版新课标高中语文(人教版)必修1《金岳霖先生》教案
- 机电池培训资料
- 2009年7月全国高等教育自学考试保险法试题
- 审计学习题与参考答案
- 城市地理学
- 公司安全生产操作规程
- 塑料在工业设计中的运用实例分析 - 图文