工程分析程序设计 上机作业(二)
中国石油大学(北京)软件工程第二次在线作业满分答案
单选题 (共25道题)收起1.(2.5分)在下列的基本成分中,哪个不是数据流程图的基本成分?•••••3.(2.5分)结构化分析SA方法以数据流图、()和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。
•••4.(2.5分)在软件的分析阶段,常用()来描述业务处理系统的信息来源、存储、处理和去向。
5.(2.5分)开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作()。
•A、软件投机•••••7.(2.5分)程序的三种基本控制结构的共同特点是•••8.(2.5分)结构设计是一种应用最广泛的系统设计方法,是以()为基础、自顶向下、逐步求精和模块化的过程。
•9.(2.5分)数据字典是对数据定义信息的集合,它所定义的对象都包含于•A、数据流图••10.(2.5分)在软件结构化设计中,好的软件结构设计应该力求做到••11.(2.5分)在整个软件维护阶段所花费的全部工作中,所占比例最大的是•A、校正性维护••12.(2.5分)黑盒测试在设计测试用例时,主要需要研究•••13.(2.5分)软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为••14.(2.5分)瀑布模型把软件生存周期划分为软件定义、软件开发和()三个阶段,而每一个阶段又可•••15.(2.5分)分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的()。
•••16.(2.5分)软件的()设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。
••17.(2.5分)软件测试的目的是()•A、证明程序中没有错误••18.(2.5分)下列各项中不属于逻辑覆盖的是()•••19.(2.5分)为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为()•••20.(2.5分)软件详细设计的主要任务是确定每个模块的()•••21.(2.5分)软件结构图的形态特征能反映程序重用率的是()••••23.(2.5分)为了提高模块的独立性,模块内部最好是()•••24.(2.5分)软件结构图中,模块框之间若有直线连接,表示它们之间存在()•25.(2.5分)一个只有顺序结构的程序,其环形复杂度是()•A、0••判断题 (共15道题)收起26.(2.5分)快速原型模型可以有效地适应用户需求的动态变化。
VB程序设计教案(详细)
第1章Visual Basic6.0概述[课程引入]:先用教师机播放《VB教学实例程序演示系统》软件,将几个用VB编写的、有趣的典型应用程序实例,例如:倒计时、滚动字幕、学生学籍管理、自制IE浏览器等演示给学生,引入本课程,以提高学生的感性认识及学习兴趣。
[课堂提问及讨论]:有哪些同学见过或使用过VB应用程序?试举例说明。
[知识点讲解]:§1.1程序设计基础一、程序设计几个概念1、程序:是为解决某一问题而编写的语句集合,是将一个实际问题的具体操作用某种程序设计语言描述出来的指令序列。
2、程序设计:是分析问题、编写程序、调试程序的过程。
3、程序设计语言:是人们根据描述问题的需要而设计的,有固定的符号和语法规则、是计算机能够识别的人机交流所使用的语言。
二、程序设计语言的发展概况1、机器语言2、汇编语言3、高级语言§1.2Visual Basic6.0简介一、Visual Basic6.0简介1、概念:Visual Basic6.0简称VB,是Windows环境下可视化的、面向对象的程序设计开发工具。
其中:Visual英文原意是“可视的”、“视觉的”。
6.0是版本号。
2、VB功能:用它可以开发数学计算、数据库管理、客户/服务器软件、通讯软件、多媒体及Internet/Intranet软件等。
其功能之强大绝非是早期Basic 所能比拟的,其直观、通俗易懂,特别适合于初学者。
3、VB发展过程:美国微软公司于1991年推出VB1.0版至今已经历了6个版本。
4、VB中常用的几个基本概念:面向对象:面向对象编程是建立在类的基础上的,其通过类的封装而使源程序更加便于维护。
事件驱动:在事件驱动模式下,程序的执行是依靠系统能够被识别的触发事件启动的。
5、VB的版本:VB6.0是Microsoft Visual Studio开发工具组件中的一员,它共有3个版本:标准版、专业版、企业版。
教学中采用企业版。
大连理工大学20年秋季《软件工程》在线作业2附参考答案
大连理工大学20年秋季《软件工程》在线作业2附参考答案
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.为了提高模块的独立性,模块内部最高程度的内聚是( )。
A.逻辑内聚
B.时间内聚
C.功能内聚
D.偶然内聚
答案:C
2.下列几种类型中,耦合性最弱的是( )耦合。
A.内容
B.控制
C.公共环境
D.数据
答案:D
更多加微boge30619
3.一个只有顺序结构的程序(含有4条边,5个顶点),其环形复杂度是( )。
A.0
B.1
C.3
D.4
答案:B
4.在详细设计阶段,经常采用的工具不包括( )。
A.PAD
B.N-S
C.PDL
D.DFD
答案:D
5.下面说法正确的是( )。
A.测试是为了表明程序是正确的
B.成功的测试是没有发现错误的测试
C.测试是为了发现程序中的错误而执行程序的过程
D.以上都不对
答案:C
6.使用程序设计的控制结构导出测试用例的测试方法是( )。
A.黑盒测试。
工程分析程序设计上机作业.doc
工程分析程序设计上机作业(四)数组上机目的:练习数组的声明、存储、操作,以及数组参数、动态数组的使用。
1、请声明一个大小为10的一维数组,它们的初值为A(1)=2, A(2)=4,A(3)=6, ……A(I)=2*I,并计算数组中这10个数字的平均值。
2、编写一个程序来计算费氏数列的前10项,并把它们按顺序保存在一个一维数组当中。
费氏数列(Fibonacci Sequence)的数列规则如下:F(0)=0F(1)=1当n>1时F(n)=f(n-1)+f(n-2)3、输入任意n个数存放在数组中(如5个数1、2、8、2、10),请在屏幕上打印如下方阵1 2 8 2 1010 1 2 8 22 10 1 2 88 2 10 1 22 8 2 10 14、打印杨辉三角形,打印的行数由键盘输入。
11 11 2 11 3 3 11 4 6 4 15、用“冒泡算法”对一个数列A(n)进行排序:若要排序的数有n个,则需要n-1轮排序。
第j轮排序中,从第一个数开始,相邻两数比较,若不符合所要求的顺序,则交换两者的位置;直到第n-j个数为止,第一个数与第二个数比较,第二个数与第三个数比较,......,第n-j-1个与第n-j个比较,共比较n-1次。
此时第n-j个位置上的数已经按要求排好,所以不参加以后的比较和交换操作。
例如:第一轮排序:第一个数与第二个数进行比较,若不符合要求的顺序,则交换两者的位置,否则继续进行二个数与第三个数比较......。
直到完成第n-1个数与第n个数的比较。
此时第n个位置上的数已经按要求排好,它不参与以后的比较和交换操作;第二轮排序:第一个数与第二个数进行比较,......直到完成第n-2个数与第n-1个数的比较;......第n-1轮排序:第一个数与第二个数进行比较,若符合所要求的顺序,则结束冒泡法排序;若不符合要求的顺序,则交换两者的位置,然后结束冒泡法排序。
共n-1轮排序处理,第j 轮进行n-j 次比较。
本科专业认证《程序设计、算法与数据结构(一)》教学大纲
《程序设计、算法与数据结构(一)》教学大纲课程编号:0812000217课程名称:程序设计、算法与数据结构(一)英文名称:Programming,Algorithm and Data Structure I学分:3 课程性质:必修总学时:48 其中,讲授48学时,实验0学时,上机0学时,实训0学时适用专业:网络工程建议开设学期: 1先修课程:无开课单位:计算机与通信工程学院一、课程简介《程序设计、算法与数据结构(一)》是计算机科学与技术、软件工程、网络工程、通信工程专业基础课程,是课程群的启蒙课,也是学生进入大学后的第一门程序设计类课程,其目的是以C语言程序设计为基础,使学生熟悉C程序设计的基本语法,通过大量的编程练习,引导学生进入程序设计的殿堂,培养学生基本的数据结构和算法分析能力,为后续课程的学习打下基础。
二、课程目标与毕业要求依据2017培养方案中的毕业要求,考虑本课程与专业毕业要求的支撑关系,制定本课程学习目标。
课程目标1:通过程序三种基本控制结构,函数等知识点的学习,要求学生掌握结构化程序设计的基本思想,深入领会自顶向下、逐步求精的设计方法,识别网络工程项目的设计与开发过程中功能模块划分的问题。
(支持毕业要求 2.1能运用数学、自然科学及网络工程的基本原理,识别和判断网络工程问题的关键环节。
)课程目标2:在程序设计C语言后阶段学习过程中,针对成绩管理信息系统大作业的要求,将同学分组了解系统功能与应用背景,对具体的开发任务进行分工联调并编程实现。
通过系统实现强化个体的角色意识和团队意识。
(支撑毕业要求9.1:能够理解多学科背景下的团队中每个角色的定位与责任,具有团队合作意识,能够胜任个体、团队成员的角色任务。
)课程目标3:通过学习标准的C语言程序设计语法,运用函数、线性表、字符串、链表等基本知识,通过学习算法的描述方法,使学生能将实际问题转换成计算机描述的算法问题,培养学生运用程序算法的描述方法进行交流的能力。
设计课程设计心得体会8篇
设计课程设计心得体会8篇设计课程设计心得体会8篇设计课程设计心得体会篇1经过一个学期的学习,我对c语言有了必须的了解。
c语言是学习计算机科学的基础,作为一名计算机专业学生,掌握c语言更是毋庸置疑。
在上课之前,就经常听同学说,c语言很难学,确实,刚开始听课时觉得老师不知所云。
但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对c语言的学习更有信心。
计算机最重要的就是上机操作,自己编写程序,在visualc++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。
课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。
在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。
只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。
另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。
同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。
课程设计是学习《c程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。
透过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。
在今后的时间里,我必须要投入更多精力学习c语言,以课本为基础,请教老师,与同学讨论,参考资#料,上机操作,我相信我必须能把c语言学好。
设计课程设计心得体会篇2在这学期的课程学习中,对教学设计的认识逐步加深了,从当初李芒老师让写对教学设计的初步认识,到现在的学习心得,回顾一下这个学期的学习历程,确实有所进步。
并且,也从同学和老师的身上学到了很多课程之外的知识。
对在本课中学习的心得,主要从三个方面来说一、教学设计知识的增长最初对教学设计的认识也只是停留在一个大概的概念上,通过这个课程的学习,在李老师的点拨和同学的互相学习中,对教学设计有了深刻的认识,尤其是教学设计的四大技术。
《程序设计基础(CC++)》课程教学大纲
《程序设计基础(C/C++)》课程教学大纲一、课程信息英文名称:Foundation of Programming (C/C++)授课方式:机房授课课程类别:学科基础课程性质:必修学分:3学时:54学时适用对象:计算机类专业等先修课程:计算机导论开课院系:软件工程系、计算机科学与技术系等二、课程简介《程序设计基础(C/C++)》是软件工程、计算机科学与技术等计算机类本科专业的学科基础课程。
本课程主要的教学内容是C++语言的基本数据类型与表达式,程序基本控制结构,函数、数组及指针的运用,以及输入/输出流类的应用等。
课程以程序设计方法贯穿始终,从语法规则到编程实践,力求在掌握基本程序设计方法的同时,培养学生良好的程序设计习惯,养成良好的专业素养。
本课程的教学方式采用机房上课演示讲授并辅以学生上机练习,充分利用课堂网络教学环境,与PPT、板书、课后思考题和练习题等相结合,并结合课程设计教学环节,使学生能够掌握C/C++程序设计的基本方法,学会对现实世界中的问题及其解决方法用C++语言进行描述。
三、课程任务、目标与要求1.课程任务《程序设计基础(C/C++)》是学习计算机编程的入门课程,学生不仅要学习C/C++语言的基本知识和程序设计方法,还要上机编程实践,掌握计算机调试程序的基本技能,为后续课程的学习打下良好的编程基础。
2.课程基本要求2.1课程目标《程序设计基础(C/C++)》课程着重对学生编程实践能力的培养。
要求学生重视上机编程实践,广学多练,不断地培养和提高编程兴趣;充分利用现代信息技术及互联网资源,运用发散性思维方式,对相关知识进行扩展,开阔视野,在循序渐进中提高编程能力。
2.2 课程目标与毕业要求之间的对应关系本课程要求学生掌握软件工程和计算机学科有关程序设计的基本理论和基本知识;掌握对现实世界中问题及其解决方法用C++语言进行描述的分析方法和技术;具有运用C/C++语言进行程序设计的基本能力;了解程序设计方法和C/C++语言的理论发展动态和行业需求。
土木工程应用程序设计上机作业2—参考答案
土木工程应用程序设计上机作业2—参考答案1. 2018/09/12/20:30前,将所完成文件作为附件Email到(发Email时,主题设置为“学号_02”, 附件是本次作业要求完成的一个DOC文件,即“MV A_学号_02.doc”),同时将该文件粘贴到机房中计算机的指定位置。
2. 所有文件的有效性,根据下述方法确定:(1) 所有文件,若有重复,以2018/09/12/20:30前重复文件中的最后一个相应文件为准。
(2) 所有文件,若在2018/09/12/20:30后提交,均被视为无效文件。
(3) 所有文件,若有空缺,空缺文件相应成绩为零分。
(4) 所有文件,若有文件被确定为抄袭所成,本次作业成绩为零分。
作业内容如下(各题命令行需尽量增加注释)。
建立WORD文件,回答以下问题。
(答案为1个doc文件,文件名称为“MV A_学号_02.doc”)1, (编程题)试用MA TLAB创建一个关于变量x的函数(将函数文件内容拷入本题答案),该函数返回f(x) = x3+2x2+3x3+4的值(x的变化范围是1~50)。
[答]function [y] = st(x) %创建关于变量x的函数% 本函数创建一个多项式和的函数% x为输入值,y为输出值% 比如,x = 5,则对于i=1到50,有% z(i) = x(i).*x(i).*x(i)+2.*x(i).*x(i)+3.*x(i).*x(i).*x(i)+4;% 将这些z(i)加起来就得到y% 下面为算法实现y = 0;for (i = 1:50);x(i) = i; % x的变化范围为1~50z(i)=x(i).*x(i).*x(i)+2.*x(i).*x(i)+3.*x(i).*x(i).*x(i)+4;y = y + z(i);end %计算结果2, (编程题)试用MATLAB在同一图形窗口、不同坐标系中分别作出y=cos(x)、y= cos (2x)、y= cos(3x)、y= cos (4x)在]x上的图形。
《C语言程序设计》课程教学大纲
《C语言程序设计》课程教学大纲课程名称:C语言程序设计课程类别:专业选修课适用专业:食品科学与工程考核方式:考试总学时、学分: 48学时 2.5 学分其中实验学时: 16学时一、课程教学目的高级语言程序设计是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。
本课程旨在培养学生学会分析问题的方法和基本问题的解决能力, 初步了解程序设计的技巧和方法、掌握 C 语言的基本内容及程序设计的基本方法与编程技巧,并能够运用Microsoft Visual C++ 6.0集成开发工具编写一些小程序,为以后继续学习打下基础。
二、课程教学要求本课程主要通过适当的示例, 系统、详细地讲解程序设计的基础知识、 C 程序设计语言的基本语法、编程方法和常用算法。
通过教学的各个环节使学生达到各章中所提的基本要求。
讲授时应以培养学生的程序设计实际软件开发能力和实践应用能力为侧重点。
三、先修课程无四、课程教学重、难点重点:C语言中的逻辑值及表示方式,使用while语句、do-while语句和for语句构成的三种循环结构,常用库函数的调用方法,数组应用的基本算法;难点:指针变量的定义及基本操作;函数之间地址的传递。
五、课程教学方法与教学手段以黑板讲授和多媒体教学手段相结合的课堂教学。
通过典型的示例讲解、必要的现场实际操作演示、适量的课堂练习、课后的上机编程调试以及及时地辅导答疑,在教学过程中增强师生之间的互动性,充分发挥学生在学习过程中的自主性、能动性和创造性。
六、课程教学内容第一章程序设计基本概念(1学时)1. 教学内容程序设计的基本含义,算法的基本特点,算法的重要性,结构化程序设计的三种基本结构,使用流程图表示三种基本结构。
2. 重、难点提示重点是结构化程序设计等基本概念;难点是算法的概念。
第二章 C程序设计的初步知识(2学时)1. 教学内容简单C语言程序的构成和格式、标识符、常量和变量、整型数据、实型数据、算术表达式、赋值表达式、自加、自减运算符、强制类型转换和逗号表达式。
《C语言程序设计》课程实验指导书
三、预习内容
预习教材第3章。
实验四 选择结构程序设计
一、实验目的
1.了解C语言表示逻辑值的方法。
2.学会正确使用逻辑运算符和逻辑表达式的方法。
3.熟悉if语句和switch语句。
4.结合程序掌握一些简单的算法。
5.学习调试程序的方法。
二、实验内容
本实验要求编程解决以下问题,然后上机调试运行程序。
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
运行程序,分析运行结果。
(3)将9-14行改为以下的scanf语句,即用scanf函数接收从键盘输入的数据:
scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);
{int z;
if(x>y) z=x;
else z=y;
return(z);
}
(1)运行程序,若程序有错,则修改错误后继续运行程序,当没有错误信息时输入:2,5并按Enter键,查看运行结果。
(2)将程序的第三行改为:int a;b;c;然后按F9看结果如何,将其修改为int a,b,c;将子程序max的第3,4行合并为一行,运行程序,看结果是否相同。
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);
}
(1)运行此程序并分析运行结果。
(2)在此基础上,修改程序的第9-14行:
工程分析程序设计上机作业
Si
f xi f xi 1 xi 1 xi ,把第 1~ n-1 个小梯形的面积相加,就是所求函数的定积分。要求: 2
1)函数值用外部函数给出,以
1
1
x 2dx 为例;2)输出对应 x1~xn 的函数值 f(xi);3)改变划分小区间的数
5 x1 x2 3x3 4 7 x 8 x 11x 3 2 3 1
l2=20 l7=30
l5=21
l3=18
l4=15
4、 我国现在人口 13.0 亿人,假定每年增长率为 1.5%,求 n 年以后的人口数。n 从键盘输入。
工程分析程序设计 上机作业(二) 结构化编程
上机目的:练习使用选择结构和循环结构编制程序。 1、 求 y 值,x 由键盘输入。
x 2 y x 1 x3 x 2 1
4、编写一程序用 Euler 法求解微分方程 的 y 值。算法如下:
dy y x ,当 x=0 时,y=1.0。试求出 x=0.1,0.2,0.3,0.4….,1.0 时 dx
y y 0 。取向前差分,
Euler 法求解 y' f ( x, y( x)) ,定解条件: x x0 ,
2、 假定 a=1.0
b=2.0
c=-1.0,求以下数学表达式的计算值:
3a 2 4b 2 a b
b b2 4 ac 2a
6 l nb( c 2 ) 140 3 a
b cos 2 2 a b
a 2 b2 sin tan 1 c
工程分析程序设计 上机作业(四) 数组(1)
上机目的:练习数组的声明、存储、操作,以及数组参数、动态数组、数组函数的使用。 1、 从键盘上输入 10 个整数,然后逆序打印出来。 2、 输入任意 n 个数存放在数组中(如 5 个数 1、2、8、2、10) ,请在屏幕上打印如下方阵 1 2 8 2 10 10 1 2 8 2 2 10 1 2 8 8 2 10 1 2 2 8 2 10 1 3、 对一个正方形矩阵进行转置操作,即:把第一行的元素和第一列一一对调,第二行的元素和第二列的 一一对调,以此类推(自行编程实现,不使用内部函数 TRANSPOSE 的转置功能) 。 4、 用“冒泡算法”对一个数列 A(I)进行排序(I=1~IMAX) ,步骤如下: (a)若 A(2)<A(1),则将 A(2)与 A(1)对换位置,否则维持现状。 (b)若 A(3)<A(2),则将 A(3)与 A(2)对换位置,否则维持现状。 (c)对 A(4)、A(5)。 。 。A(IMAX)等数列中的所有数,重复以上算法,一轮过后,A(I)中最大的那 个元素,会“下沉”到数组的最后一个位置 A(IMAX) ( “最底部” ) 。 (d) 从 A(1)到 A (IMAX-1) 重复以上过程, 让数列中第二大的数下沉到倒数第二个位置 A (IMAX-1) 。 (e)反复做以上动作,直到整个数组中的元素从小到大排列。 (因为这种算法的特点是,每个元素总是和比它大的数交换位置,小的元素不断“上浮” ,大的元素不断 “下沉” ,象水中的气泡不断上浮一样,所以称之为“冒泡算法” )
工程分析程序设计上机作业(二)
工程分析程序设计 上机作业(二)
结构化编程——选择
上机目的:练习使用选择结构编制程序。
1、 求y 值,x 由键盘输入。
2320101
102012030
x x y x x x x x ≤<⎧⎪=+≤<⎨⎪++≤<⎩
2、 输入4个数A ,B ,C ,D ,按由大到小的顺序打印出来。
3、 某电视台的晚上8点节目安排如下:
星期一、四:新闻
星期二、五:电视剧
星期三、六:卡通片
星期日:电影
请写一个程序,可以输入星期几来查询当天晚上的节目。
4、 假如所得税有三个等级,而且随年龄不同又有不同算法:
第一类:低年级(不满50岁)
月收入在1000元以下的税率为3%,在1000元至5000元之间的税率为10%,在5000元以上的税率为15%。
第二类:老年级(50岁以上)
月收入在1000元以下的税率为5%,在1000元至5000元之间的税率为7%,在5000元以上的税率为10%。
请写一个程序来输入一位上班族的年龄、年收入,并计算他(她)所应缴纳的税金。
5、 一年通常有365天,闰年则有366天。
在公历中,闰年的策略如下(以公元来记年):
1) 年数是4的倍数时,是闰年
2) 年数是100的倍数时是例外,不当闰年记。
除非它刚好又是400的倍数。
请写一个程序,让用户输入一个公元的年份,然后判断这一年会有多少天。
程序设计实践课程教学大纲
程序设计实践课程教学大纲一、课程简介《程序设计实践》是专业基础课程,为《程序设计基础》之后续课程,其主要目的是让学生进一步地对C语言基础知识,尤其是对数组、函数、指针、结构体、文件等内容进行深入的理解和掌握,课程结合具体的应用实例,应用软件工程和结构化程序设计的基本思想,将基本数据结构、算法、技巧进行综合,循序渐进地启发学生,直至完成综合的实例,同时,训练了学生实际分析问题的能力、编程能力和培养学生良好的编程习惯。
二、课程目标(一)课程具体目标1. 掌握C语言相关的编程进阶知识,并能够按照设计方案要求进行计算机软件实现;2. 具有良好的表达能力,专业的描述方法,能与业界同行及社会公众进行准确、高效的沟通和交流。
(二)课程目标与专业毕业要求的关系表1 本课程对专业毕业要求及其指标点的支撑(三)课程对解决复杂工程问题能力的培养在课程理论知识讲授环节,注重培养学生程序设计实践能力与解决复杂工程问题的能力。
在授课过程中引入与生活相关的实际案例,比如:学生信息管理系统、图书馆信息管理系统、简单的游戏设计等。
针对这些复杂案例,将需求分析、概要设计、详细设计、编码、调试与测试整个程序开发过程贯彻始终,通过案例引导学生将复杂问题进行分解,运用工程开发的方法解决复杂工程问题。
并通过适当的课后作业锻炼和检验学生解决复杂工程问题的能力。
在实验教学环节,以培养学生解决复杂工程问题的能力为目标,围绕课程支撑的毕业要求指标点安排实验项目,设计实验内容,明确实验要求,指导实验实施,严格实验成果考核。
在课程考核环节,根据课程支撑的课程目标选择合适的考核方式,考题设置应完全覆盖课程支撑的课程目标,考题设计应充分考虑学生解决问题所需知识和能力的考查,考题的难度和深度应能够体现复杂工程问题的特征。
总之,本课程的教学通过在理论讲授、课后作业、课内实验、课程考核等环节充分贯彻培养学生解决复杂工程问题能力的理念和要求,实现本课程支撑课程目标的达成。
工程分析程序设计考题2010
第页共7页1INTEGER,EXTERNAL:: SINTEGER TCALL SUB1(T,2,3)PRINT*,TENDSUBROUTINE SUB1(T,X,Y)INTEGER X,Y,T,ZZ=FUN1(X,Y)T=FUN1(X,Z)CONTAINSFUNCTION FUN1(X,Y)INTEGER X,Y,FUN1FUN1=X**2+2*X*Y+Y**2END FUNCTIONEND SUBROUTINE上述程序的运行结果是:。
9. 阅读下列程序语句:INTEGER::A(4,4)=(/1,2,3,4,3,4,3,5,6,2,3,4,5,7,8,9/)PRINT*,FUN2(A,4)ENDFUNCTION FUN2(A,N)INTEGER NINTEGER A(N,N),FUN2FUN2=0DO I=1,NFUN2=FUN2+A(I,I)END DOEND FUNCTION上述程序的运行结果是:。
10. 阅读下列程序语句:MODULE PERSON_TYPEIMPLICIT NONETYPE PERSONCHARACTER(10)NAMEINTEGER YEAREND TYPEEND MODULEPROGRAM MAINUSE PERSON_TYPEIMPLICIT NONEINTEGER I,J第页共7页2TYPE(PERSON),DIMENSION(5)::PEOPLE,TMPPEOPLE(1)=PERSON('LI',25)PEOPLE(2)=PERSON('WANG',12)PEOPLE(3)=PERSON('ZHANG',65)PEOPLE(4)=PERSON('ZHAO',48)PEOPLE(5)=PERSON('LIU',55)DO I=1,4DO J=1,5-IIF(PEOPLE(J)%YEAR>PEOPLE(J+1)%YEAR)THENTMP(J)=PEOPLE(J)PEOPLE(J)=PEOPLE(J+1)PEOPLE(J+1)=TMP(J)END IFEND DOEND DODO I=1,5PRINT*,PEOPLE(I)END DOEND上述程序的运行结果是:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工程分析程序设计上机作业(二)
模块化编程(1)
上机目的:掌握内部例程、主程序、外部例程、接口块、模块等功能的使用方法。
1、有一个六边形,求其面积。
为求面积,作了3条辅助线。
如图所示:(提示,三角形面
积
2
a b c
s
++
=,a、b、c为三个边长)。
要求用内部函
数来实现。
=21
PROGRAM MAIN
REAL::L1=10,L2=20,L3=18,L4=15,L5=21,L6=14,L7=30,L8=36,L9=28 PRINT*,S(L5,L6,L9)+S(L1,L8,L9)+S(L2,L8,L7)+S(L3,L7,L4) CONTAINS
FUNCTION S(A,B,C)
REAL P,A,B,C,S
P=(A+B+C)/2
S=SQRT(P*(P-A)*(P-B)*(P-C))
END FUNCTION S
END
2、 使用牛顿法求解以下方程的根:(要求用外部子程序) (1)2410x x ++=
PROGRAM Main IMPLICIT NONE REAL A,B,C COMPLEX X
EXTERNAL NEWTON
PRINT*,"请输入一元二次方程的系数A,B,C:" READ*,A,B,C
CALL NEWTON(A,B,C,X) PRINT*,'X=',X END PROGRAM
SUBROUTINE NEWTON(A,B,C,X) IMPLICIT NONE REAL A,B,C COMPLEX X REAL F,F1 X=0.0
F=A*X**2+B*X+C F1=2*A*X+B
DO WHILE (ABS(F)>=1E-6) F1=2*A*X+B
F=A*X**2+B*X+C X=X-F/(F1) END DO
END SUBROUTINE
(2)432
765430x x x x +-++=
PROGRAM Main IMPLICIT NONE REAL A,B,C,D,E COMPLEX X
EXTERNAL NEWTON
PRINT*,"请输入一元四次方程的系数A,B,C,D,E:" READ*,A,B,C,D,E
CALL NEWTON(A,B,C,D,E,X) PRINT*,'X=',X END PROGRAM
SUBROUTINE NEWTON(A,B,C,D,E,X) IMPLICIT NONE REAL A,B,C,D,E COMPLEX X REAL F,F1 X=0.0
F=A*X**4+B*X**3+C*X**2+D*X+E
F1=4*A*X**3+3*B*X**2+2*C+D
DO WHILE (ABS(F)>=1E-6)
F=A*X**4+B*X**3+C*X**2+D*X+E
F1=4*A*X**3+3*B*X**2+2*C+D
X=X-F/(F1)
END DO
END SUBROUTINE
3、编写一个子例程子程序,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 N1,N2
INTEGER::M1=1,M2=4,M3=3,M4=8,M5=3,M6=6,M7=1,M8=3
PRINT*,'y=',S(M1,M2)+S(M3,M4)+T(M5,M6)-T(M7,M8)
CONTAINS
FUNCTION S(N1,N2)
IMPLICIT NONE
INTEGER S,N1,N2
S=N1
DO WHILE (N1<N2)
N1=N1+1 S=S+N1 END DO
END FUNCTION FUNCTION T(N1,N2) IMPLICIT NONE INTEGER T,N1,N2 T=N1 DO WHILE (N1<N2) N1=N1+1 T=T*N1 END DO
END FUNCTION END
PROGRAM MAIN
4、 编写一个模块程序,提供以下服务:定义出常量π、e 。
定义出子程序,实现求和
2
1
n
i n
=∑、
求阶乘n !。
并在主程序中计算如下结果:从键盘上输入整数n 、实型数A 、R 、R 0
,求
21!
n i n n =⎛⎫ ⎪⎝⎭
∑(实型)和0202n
n
R R An R e R R π⎛⎫- ⎪⎝⎭
⎛⎫
⎪⎝⎭
(实型)
MODULE Myutils IMPLICIT NONE
REAL,PARAMETER::PI=3.1415926,e=2.71828182 CONTAINS
FUNCTION X(n) INTEGER n,X,I I=1 DO WHILE (I<=n) X=X+I**2 I=I+1 END DO
END FUNCTION FUNCTION Y(n) INTEGER n,Y ,I I=1 Y=1 DO WHILE (I<=n) Y=Y*I I=I+1 END DO
END FUNCTION END MODULE Myutils PROGRAM Main USE Myutils
IMPLICIT NONE REAL A,R,R0 INTEGER n
PRINT*,"请输入n,A,R,R0:" READ*,n,A,R,R0 PRINT*,Y(n)/(X(n))
PRINT*,A*n/(2*PI*R**2)*((R/R0)**n)*e**(-(R/R0)**n) END PROGRAM。