欢迎来到天天文库
浏览记录
ID:5803950
大小:135.50 KB
页数:15页
时间:2017-12-25
《《计算机导论》教案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《计算机导论》教案第四章算法、程序和编程学习目的和要求:1.了解算法与程序概念2.理解算法的复杂性与NP问题3.熟悉基本算法4.知道数据和数据结构5.熟悉高级语言6.掌握程序设计规划7.了解程序理论和软件工程学习重点:1.算法的复杂性与NP问题2.数据和数据结构3.基本算法4.程序理论和软件工程学习难点:1.数据和数据结构2.基本算法学时:10学习内容:课后反馈讨论围绕以下问题,组织学生分组讨论,然后让每组代表阐述他们的看法和思想。1.怎样养成良好的算法思想?讨论目的:了解算法的描述方式,并掌握其中的一种。可围绕以下内容展开讨论:算法描述常用的方法有自然语言,伪代码和程序流
2、程图。通过该章的学习,能够用以上方法设计完整、合理的算法。为下学期C语言的学习奠定良好的基础。2.如何成为一个优秀的程序开发人员?讨论目的:了解程序员工作流程,逐步养成良好的编程习惯。可围绕以下内容展开讨论:开发软件要按照软件工程的步骤统一实施和管理,协同工作等。3.学习良好的软件开发习惯。讨论目的:了解软件开发的过程,熟悉软件开发过程中容易出现的问题:可围绕以下内容展开:软件开发过程:问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护等阶段。在软件开发过程中要有完整的文档,数据,程序等资料。要按照软件工程的思想来开发软件以降低风险。4.软件工程的
3、功能及应用。讨论目的:了解软件工程的功能,以及如何将软件工程的思想应用到软件开发中:可围绕以下内容展开讨论:软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。5.如何学好一门基础的编程语言。讨论目的:了解常用的变成语言,选择其中一种编程语言去深入学习,为以后理论学习和实践奠定基础。可围绕以下内容讨论:选一门你感兴趣的语言Java或者是C#之类,VC也可以,做一个实际的东西,比如做个聊天
4、室,做个画图程序(可以保存),做个五子棋或者象棋的程序,从这些小的但是完整的程序开始做,做的过程中碰到问题自己查资料,或者到相应论坛提问,做好后总结,慢慢提高的自己的编程能力。§4.1算法与程序4.1.1算法算法定义1:算法是一组明确步骤的有序集合,它产生结果,并在有限的时间内终止。有以下特性:①有序集合②明确步骤③产生结果④在有限的时间内结束算法定义2:给定问题和设备,一个算法是用该设备可理解的语言表示的,解决这个问题的一种方法是精确刻画。特别地,算法具有以下特征属性:①算法应用于一个具体的输入集合或问题描述将在有穷步动作之后得到结果;②该序列有一个唯一的初始动作:③该序
5、列中的每一个动作有一个唯一的后继动作④该序列终止时或者得到这个问题的解,或者因该问题不可解而获得不可解说明。算法定义3:一个算法,就是一个有穷规则的集合,其中之规则确定了一个解决某一特定型问题的运算序列。此外,算法的规则序列必须满足以下5个重要条件,即具有以下五个特性:①有穷性。算法必须总是在执行有穷步之后结束②确定性。算法的每一个步骤必须是确切地定义的;③输入。算法有零个或多个输入④输出。算法有一个或多个输出,即与输入有某个关系的量。⑤能行性。算法中有待执行的运算和操作必须是相当基本的,即是说,它们原则上是能够精确地进行的,而且用笔和纸做有穷次就可以完成。4.1.2子算法
6、子算法:在结构化编程时应用模块化或分单元的办法来构成这个程序,这些被分成的小单元我们称之为子算法(子程序、子例程、过程、函数、方法和子模块等)。每个子算法又可以划分为更小的子算法,这个过程持续到子算法变为最本质的(可被立即理解的)描述为止。使用编程子算法的优点:⑤使程序更容易理解①可以在主算法中不同的地方调用4.1.3程序程序就是一种事先编制好了具有特殊功能的指令序列。其中,指令序列可以是机器指令,汇编语言,也可以是高级语言的语句指令。(1)伪代码:是在编写算法时,为了更好地表示算法本身,不在一些小的细节上纠缠,而采用类似于英语(或其他自然语言)表示算法的算法表示方法。例1
7、用伪代码写出一个求两个数的平均值的算法。解:AverageOfTwoInput:Twonumbers①Addthetwonumbers②Dividetheresultby2③Returntheresultbystep2End(2)流程图程序流程图是人们对解决问题的方法、思路或算法的一种描述。流程图的优点:(a)采用简单规范的符号,画法简单;(b)结构清晰,逻辑性强;c)便于描述,容易理解。程序流程图有以下几部分组成:(1)起始框(2)终止框(3)执行框(4)判别框(5)箭头。例2计算并打印整个班级中每个学生三门课程
此文档下载收益归作者所有