2-1 结构化程序设计基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《2.1 结构化程序设计基础》
1. 目标概述[3分钟] (2)
2. 回顾[5分钟] (2)
3. 课程知识点讲解 (2)
3.1. 算法[60分钟] (2)
3.2. 结构化程序设计思想[20分钟] (8)
4. 小结[2分钟] (9)
5. 考核点 (9)
6. 作业答案 (9)
7. 扩展练习 (10)
8. 学生问题汇总 (10)
9. 教学后记 (10)
本节目标
⏹本节中将讲述如下主要内容:
✧算法的概念
✧常用流程图符号的介绍
✧顺序结构、选择结构、循环结构的图形描述
✧结构化程序设计思想
⏹通过教学使学生理解结构化程序设计思想、掌握逻辑流程图的使用。
本节重点
⏹算法的概念
⏹常用流程图符号的介绍
⏹顺序结构、选择结构、循环结构的图形描述
⏹结构化程序设计思想
本节难点
⏹逻辑流程图的使用
授课课时
⏹2课时
教法建议
1.目标概述 [3分钟]
本章主要讲述结构化程序设计基础概念、运用。
本节主要讲述结构化程序设计思想、逻辑流程图的使用。
2.回顾 [5分钟]
回顾上一章的相关内容。
3.课程知识点讲解
3.1.算法[60分钟]
引入:
什么是算法?
主题:
从第一章的学习中,我们已经看到编制一个程序,我们不仅要解决“做什么”的问题,更重要的是要明确指明具体的步骤,也就是“怎么做”的问题,同时还需要保证其正确性和高效性,这是程序设计方法学中“算法”要解决的问题。
在古代,人们把采用算术的方法求解未知问题的运算过程称为算法。
在近代,人们把采用科学的方法完成某项事务的执行过程称为算法。
在现代,特别是计算机诞生之后,人们把计算机解题步骤称为计算机算法。
[算法的描述]
对于算法,需要选择一种合适的表达方式进行描述,现在常用的描述工具有:自然语言、流程图、伪代码、N-S图、PAD图等。
1. 用自然语言描述算法
描述算法人们首先想到就是某种自然语言(如:汉语)。使用自然语言描述算法的优点是描述自然、灵活和多样,其缺点是易产生二义性。因此,在算法设计中应少用或不用自然语言描述算法。有时在设计初步算法时可适当采用自然语言描述,然后用其它描述工具细化算法描述。下面给出几个用自然语言描述的算法例子。
示例讲解:
示例2.1.1接受一个数并使它加1,显示其结果,用自然语言描述其过程。
示例2.1.2到图书馆借书,用自然语言描述其过程。
示例2.1.3泡一杯茶,设计并用自然语言描述其过程。
示例2.1.4计算并输出1+2+3+ … +100之和,设计并用自然语言描述其算法。
[通过示例简单讲述用自然语言描述算法的使用]
2.用流程图描述算法
流程图是采用图形的方法来描述算法的一种算法描述工具,通常称框图。流程图是目前使用较为普遍的算法描述工具,其优点是描述简洁、清晰、直观,缺点是由于转移箭头的无限制使用,影响算法的可靠性。通过规范图形符号和对转移箭头的限制使用可削弱流程图的缺点,提高算法的可靠性。由于流程图优点突出,所以至今仍是程序设计人员普遍采用的算法描述工具。本书的后续章节均将采用流程图来描述问题的解决过程,以帮助大家熟悉流程图的使用。
使用流程图描述工具,应采用比较标准的图形符号,最好采用国家或国际标准。下面我们将介绍一些常用的流程图符号。
示例讲解:
用流程图描述顺序结构
从上例中可以发现整个算法从开始符依次执行直到结束为止,我们把这种各框按顺序执行的线性结构称为顺序结构。这是算法描述中最简单和最基本的结构,其流程图的基本形态如右图所示,语句的执行顺序为A→B→C。
练习:
练习2.1.1:接受某一类型书的单价和数量,计算并显示其总价,请用流程图描述其过程(算法)。
解决:
用流程图描述分支结构
具体见P61
练习:
练习 2.1.2输入一个任意的年份,判定是否是闰年,并输出,用流程图描述其过程。
(提示:闰年的年份是可以被4整除,但不可以被100整除;或者是可以被400整除的整数)解决:
用流程图描述循环结构
示例2.1.7用流程图来描述示例2.1.3泡一杯茶的过程
我们用循环结构来描述现实生活中这种重复执行某种动作的情况。循环结构是三种基本结构中的最后一种,也是最复杂的一种,可以分为三种类型:当型循环、直到型循环、计数
型循环。
当型循环:当条件成立时,重复执行某种动作,直到条件不满足时为止。这类型的循环首先判断循环条件是否成立,再执行某种动作,并在执行过程中改变和影响条件,直到条件不成立,则结束循环。
直到型循环:先执行循环操作,直到条件满足时止。此类型的循环和当型循环最大的区别有两点,一是当型循环先执行条件判断,再执行循环操;而直到型循环先执行循环操作,再执行条件判断。二是当型循环通常是条件满足时(即为真时)执行循环操作,而直到型循环则是不满足条件时(即为假时)执行循环操作。
计数型循环:前面两种循环结构都是事先无法预知循环次数时使用的循环结构,在事先可以知道循环操作执行的确切次数时,我们使用计数型循环。此类型循环通常有一个循环计数器,用于计算循环操作执行的次数,一旦达到事先设定的循环资料则结束循环。
练习:
练习2.1.3用流程图描述示例2.1.4计算并输出1+2+3+ … +100之和的算法
解决:
3.用伪代码描述算法
用流程图描述的算法直观易懂,但缺点是图形绘制比较费时费事,图形修改比较麻烦,所以图形工具也不是最理想的描述工具。为了克服图形描述工具的缺点,现在也开始流行采用伪代码描述工具描述算法。伪代码简称伪码,也称过程描述语言(PDL-Procedure Describe Language)。伪代码是介于自然语言和高级程序设计语言之间的一种文字和符号描述工具,它不涉及图形,类似于写文章一样,一行一行,自上而下描述算法,书写方便,格式紧凑,言简意明,可实现半自动化描述。伪代码自上而下顺序执行,算法判断结构和循环结构都有对应的伪代码描述语句。伪代码算法描述工具的优点是:
●可作为注释直接插入到源程序中间,能保持文档和程序的一致性
●可用正文编辑器或文字处理器完成伪代码的书写和编辑工作
●可借助软件自动生成程序代码
示例讲解:
示例2.1.8用伪代码描述示例2.1.4计算并输出1+2+3+ …+100之和的算法