当前位置:文档之家› 算法描述与设计

算法描述与设计

算法描述与设计
一、教学目标
1. 进一步理解什么是算法,知道算法的多样性。

2. 学会用自然语言、流程图和伪代码来描述算法。

二、教材内容分析
通过1.1 节的学习,学生已经了解了计算机解决问题的基本过程,并知道算法是程序设计的灵魂,只要算法正确,就可以用任何一种语言编写程序。

本节课通过三个典型的例子来帮助学生加深对算法的理解,并学会如何描述算法。

三、教学方法及策略
本节课主要通过三个典型实例教学生学习如何利用自然语言、流程图和伪代码来描述算法。

第一个实例“野人过河”的趣味智力题,它一方面可以激发学生的学习兴趣,另一方面可使学生掌握利用自然语言描述算法的方法;第二个实例是通过求一元二次方程 ax2+bx+c=0 (其中a≠0 )实数解的典型的数学问题,使学生掌握用流程图描述算法的方法;第三个实例是通过判断某一年是否是闰年,让学生掌握用伪代码描述算法的方法。

三个典型的实例由浅入深地引导学生思考,讨论,充分调动学生的主观能动性,为下一步学好编程打好基础。

四、教学过程
1. 课堂引入
由高斯小时候计算1+2+3+ … +100 的和的故事引入:算法是程序设计的灵魂,找到合适的算法是程序设计的前提 , 算法的设计分为两个内容:一是寻找一种方法;二是描述实现这个方法的步骤,我们这节课的重点是学习如何描述算法。

播放“野人过河”智力题动画(可以将动画文件发送给学生,让学生去操作,找过河方法)。

有三个牧师和三个野人过河,只有一条能装下两个人的船,在河的任何一方或者在船上,如果野人的人数大于牧师的人数,牧师就会有危险。

你能不能找出一种安全的渡河方法呢?
通过动画形式的智力题引起学生极大的兴趣,给学生3分钟时间进行智力竞赛,要求完成任务的同学把过河方案描述出来,方案描述大致如下:
第一步,两个野人过河,然后一个野人把船划回;
第二步,又两个野人过河,然后由一个野人把船划回;
第三步,两个牧师过河,然后一个牧师和一个野人把船划回;
第四步,两个牧师过河,然后由一个野人把船划回;
第五步,两个野人过河,然后一个野人或牧师把船划回;
第六步,两个野人都上船过河。

(不同学生的方案可略有不同,描述语言上也可有差别。


以上解决问题的过程,实际上也是一种算法,我们写的过河方案实际上就是用自然语言描述的算法。

2. 用自然语言描述算法
(1)自然语言——人们日常生活中使用的语言。

(2)自然语言的特点:通俗易懂,缺乏直观性,不简洁,且易产生歧义。

如很多同学的描述语句和说法相差较大。

使用自然语言的注意事项:描述要尽可能精确,详尽。

3. 流程图描述
用自然语言描述算法比较容易接受,但叙述冗长,容易产生“ 歧义” 。

下面我们再来学习另外一种最常见的算法描述方式——流程图。

(1)播放幻灯片,列出算法的框图描述元素。

(2)播放幻灯片,并简单分析求一元二次方程(其中a≠0 )实数解的算法框图。

用流程图描述算法直观易懂、逻辑关系清晰,不容易产生歧义。

4. 用伪代码描述算法
伪代码 (Pseudocode) 是介于自然语言和计算机程序设计语言之间的一种算法描述。

它也
是专业软件开发人员描述算法的一种常用方法。

没有严格的语法限制,书写格式也比较自由,描述的算法简单、易懂,容易修改,且容易转化为程序语言代码。

[ 例 ] 给定一个四位数的年份,判断它是否为闰年。

判断闰年的条件是:如果该年份能被4整除但不能被 100 整除,或者能被 400 整除,则该年为闰年。

5. 课堂总结
(1)算法是指解决问题的方法和思路。

(2)描述算法的形式有多种,常用的有自然语言、流程图和伪代码。

(3)掌握流程图中常用符号的含义。

相关主题