教学设计算法和算法的描述_狼羊过河

合集下载

算法和算法的描述

算法和算法的描述

过河的方案: 第一步:人和羊过河,人返回,留下羊; 第二步:人和狼过河,人和羊返回,留下狼; 第三步:人和菜过河,人返回,留下菜; 第四步:人和羊过河 算法:简单地说,算法就是解决问题的方法和步骤。 算法—计算机求解某一问题的方法,是能被机 械地执行的动作或指令的有穷集合。
利用计算机求解方程:6x2+5x-50=0
1.2 算法和算法的描述
教师:柯文学 化州市第一中学
游戏——狼羊菜过河
有一个牧羊人带着一头羊,一只狼和一颗大白菜 准备过河,他找到一只很小的船,每次只能带一样 东西过去,可是如果让狼与羊单独在一起,狼会吃 羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人 应如何过河?
玩一玩“狼菜羊过河”的小游戏,并记下过河
分析问题 ( 找出已知条 件和未知条件、列 出已知条件和未知 条件之间的关系 )
写出解题步骤
1. 令 X 为1。 2. 如果 X 整除3余2, X 整除5 余3, X 整除7余2,这就是 设所求的数为 X,则 X 题目要求的数,则记下这个 X 应满足: 。 X 整除3余2 3. 令 X 为 X+1 (为下一次计 X 整除5余3 算作准备)。 X 整除7余2 4. 如果算出,则结束;否则跳转 2。 5. 写出答案。
算法的特征
• • • • • 有输入——一个算法有零个或多个输入; 确定性——算法的每一个步骤必须要确切地定义; 有穷性——一个算法在执行有穷步之后必须结束; 有输出——算法有一个或多个输出; 能行性——算法中有待执行的运算和操作必须是相当 基本的。(运算和操作能精确地执行)
以小组为单位,用自然语言描述求解 sum=1+2+3+4+5问题的算法
求所有的水仙花数, 形如abc的三位数, 如果有a3+b3+c3=abc, 则我们叫它是水仙花数

1.2算法和算法的描述

1.2算法和算法的描述

复习与巩固
伪代码4 I=1 Do if I mod 3=0 then print I end if I=I+1 Loop until I>100 伪代码5 I=1 Do if I mod 3=0 then print I end if I=I+1 Loop while I≦100
1.农夫带羊到右岸,独自返回左岸; 2.农夫把菜带到右岸,返回时白羊带回左岸; 3.农夫带狼到右岸,独自返回左岸; 4.农夫把羊带到右岸,完成过河。
3
一、算法
1、算法的概念 算法是在有限步骤内求解某一问题所使 用的一组定义明确的规则。通俗地说,算法 就是求解某一问题的方法,是能被机械地执 行的动作或指令的集合。
三、算法在解决问题中的地位和作用
表1-6中 两个程序的效率比较
指标 运行结果 用辗转相除法设计的程序 最大公约数= 用穷举法设计的程序 最大公约数=
运行时间 通用性
□较长 □较好
□较短 □较差
□较长 □较好
□较短 □较差
由此看来,算法是程序设计的核心,是程序设计的灵 魂。算法的好坏,直接影响着程序的通用性和有效性,影 响着问题解决的效率。
用自然语言 描述算法
缺点:
自然语言具有歧义性,容易导致算法执行的不确定性。 自然语言描述的算法太长。 当算法中循环和分支较多时,很难清晰地表示出来。 自然语言表示的算法不便翻译成计算机程序设计语言。
用流程图描述算法
优点:描述清晰简洁,不依赖计算机和计算机程序设计语言。 缺点:画起来费事,难以阅读,难以修改。 优点:书写方便,格式紧凑,易于理解,便于向计算机 程序设计语言过度。 缺点:由于语言的种类繁多,伪代码的语句不容易规范。
二、算法的描述

狼和小羊问题设计

狼和小羊问题设计

狼和小羊问题设计狼和小羊问题是一道经典的智力题,它考察了人们的逻辑思维和解决问题的能力。

这个问题可以用于培养人们的思维能力和团队合作意识。

在这个问题中,有一只狼、一只羊和一艘小船,它们需要过河,但是小船只能承载一只动物或人。

而且,如果狼和羊在没有人的情况下被放在一起,狼会吃掉羊。

因此,我们需要找到一种方法,让它们都能安全地过河。

我们可以考虑将狼和羊带到对岸,然后再将狼带回来。

这样,就可以保证狼和羊不会在没有人的情况下相遇。

然而,当我们将狼和羊带到对岸后,我们需要有人留在对岸,以防止狼吃掉羊。

但是这样一来,小船上就只剩下一只人,无法将狼带回来。

另一种方法是将羊和人带到对岸,然后将羊放下,再将人带回来。

这样一来,羊和人都已经到了对岸,而且没有人留在对岸,所以狼无法吃掉羊。

但是这样一来,小船上只剩下狼,无法将狼带到对岸。

以上两种方法都无法解决问题。

那么,我们应该如何解决这个问题呢?我们可以借助于一个额外的条件,即小船可以返回起始岸,而不仅仅是前进。

这样一来,我们可以通过多次往返来解决问题。

我们将狼带到对岸,然后将狼放下,但是将小船返回起始岸。

这样一来,狼和小船都在对岸,而且没有人留在对岸,所以狼无法吃掉羊。

接下来,我们将人带到对岸,然后将人放下,再将狼带回起始岸。

这样一来,人和小船都在对岸,而且没有动物留在对岸,所以狼无法吃掉羊。

接着,我们将羊带到对岸,然后将羊放下,但是将小船返回起始岸。

这样一来,羊和小船都在对岸,而且没有人留在对岸,所以狼无法吃掉羊。

最后,我们将狼带到对岸,然后将狼放下,再将人带回起始岸。

这样一来,狼、羊、人和小船都已经到了对岸,且没有动物被吃掉。

通过以上的步骤,我们成功地解决了狼和小羊问题。

这个问题虽然简单,但是考验了我们的逻辑思维和解决问题的能力。

通过合理地安排行动顺序,我们能够找到解决问题的方法。

这个问题也提醒我们在解决问题时要善于利用已有的条件和资源,并合理规划行动步骤。

只有这样,我们才能在面对各种复杂的问题时找到最佳的解决方案。

高中信息技术_算法和算法的描述教学设计学情分析教材分析课后反思

高中信息技术_算法和算法的描述教学设计学情分析教材分析课后反思

《算法和算法的描述》教学设计一、教材分析:本节课是高中信息技术选修模块一《算法与程序设计》第一章第二节的内容,主要是一些概念和理论,而算法的概念和理论都太抽象,讲起来非常的枯燥乏味,那么就要把这些抽象的东西变得通俗易懂,使学生能轻松而又愉快的接受并理解。

二、学生分析:在数学中已学过程序设计模块,对算法有一定的初步基础,学习了结构语言的三种结构,并能编写一些较简单的程序。

但是学生对结构的掌握并不是很熟练,他们对编程存在一定的畏惧情绪。

三、教学目标:1.知识技能:(1)理解算法的概念;(2)能初步利用算法解决简单的问题。

2.情感领域:培养学生的理论联系实际能力和动手操作能力。

3.能力发展:培养学生自我探索信息,高效获取信息、分析评价信息、处理运用信息、表达呈现信息的能力,通过作品的制作、反思和评价,进一步提高其信息素养。

引导学生对编程的兴趣,理解算法的概念和如何科学合理的选择和设计算法,激发学生的编程兴趣,为程序设计打好基础。

四、教学重点:1、算法的概念2、算法的特征五、教学难点:3、算法的描述六、教学手段:与学生进行互动探讨式教学,以趣味问题激发学生探索解决问题的兴趣,以故事事例引导学生一步步的思考,从而总结出算法的概念,以及如何设计和选择算法,充分调动学生的主观能动性和探究学习能力。

七、教学过程:八、教学评价1、贯彻新课标的理念,利用问题导学法教学,整个教学思路清晰,教学设计环环相扣。

2、案例的设计结合教学内容与学生的实际,能够很好地引导学生对学生重点与难点的把握。

3、举例简单明了,容易理解,并能够达到预定的教学效果。

4、算法的描述作为本节课的难点内容,,学生基本能够掌握与消化。

九、教学反思1、本节课的教学设计充分考虑到学生在数学模块中对算法已进行了初步的学习,故对本节课的内容和数学模块中的算法进行了比较详细的研究,确定了本节的教学重点与难点,从这节课的教学过程来看,把握是比较到位的。

对于算法的选择,在数学中并没有过于深入的讲解,本节课通过问题三和问题四的设置,可以让学生对此有较深入的理解,从课堂效果上来看,基本达到预定目标。

1.2算法和算法的描述

1.2算法和算法的描述
开始
i←1 sum←0 i≤5
Y N
输出sum
sum←sum+ i i← i +1
结束
合作探究
以小组为单位,用流程图表示: 工人每天工作8小时,每小时9元,超过8小时 的每小时增加15%的加班费,计算工人每天的应 发的日工资。
开始 输入工作小时 X N Y=X*9 Y Y=X*9+(X-8)*9*0.15
小结
算法——解决问题的方法和步骤 算法 特征: 特征:有输入 确定性 有穷性 有输出 可行性 用自然语言描述算法 算法的描述 用流程图描述算法 用程序实现算法 一个问题, 一个问题,可能有多种算法 ,应该通过 分析、比较、挑选一种最优的算法。 分析、比较、挑选一种最优的算法。一个好算 法必须用到科学的方法 ,应该好好学习各学 科处理问题的科学方法。 科处理问题的科学方法。
练练手
两个大人和两个小孩渡河,渡口只有一条小 船,一次只能通过一个大人或者两个小孩, 他们四个人都会划船,都不会游泳。问:如 何渡河?
渡河的方法与步骤: 渡河的方法与步骤 第一步:两个小孩同船渡过河去; 第一步:两个小孩同船渡过河去; 第二步:一个小孩划船回来; 第二步:一个小孩划船回来; 第三步:一个大人独自划船渡过河去; 第三步:一个大人独自划船渡过河去; 第四步:对岸的小孩划船回来; 第四步:对岸的小孩划船回来; 第五步:两个小孩再同时渡过河去; 第五步:两个小孩再同时渡过河去; 第六步:一个小孩划船回来; 第六步:一个小孩划船回来; 第七步:余下的一个大人独自划船渡过河去; 第七步:余下的一个大人独自划船渡过河去; 第八步:对岸的小孩划船回来; 第八步:对岸的小孩划船回来;
拓展回味思考: 学习算法的目的性?
用户将解决问题的方法与步 骤用合理的描述方式传递给计算 机的信息。

狼羊过河课程设计

狼羊过河课程设计

void over_alone(int i);//农民独自过河 void back_alone(int i);//农民独自回来 void solution(int i);//判断方案是否可行,输出可执行方案 void solve(int i);//判断实现问题的具体方法 }; Overriver::Overriver()//初始化 { states[0].farmer = 0; states[0].fox = 0; states[0].rabbit = 0; states[0].cabbage= 0; } //在河的出始位置的状态设为 0.过河后设为 1 void Overriver::f oxover(int i)//农民带狐狸过河 { action[i] = "农民带狐狸过河."; states[i+1].fox=1; states[i+1].rabbit=states[i].ra bbit; states[i+1].cabbage=states[i].cabbage; } void Overriver::f oxback(int i)//农民带狐狸回来 { action[i] = "农民带狐狸回来."; states[i+1].fox=0; states[i+1].rabbit=states[i].ra bbit; states[i+1].cabbage=states[i].cabbage; } void Overriver::ra bbitover(int i)//农民带兔子过河 { action[i] = "农民带兔子过河."; states[i+1].fox=states[i].f ox; states[i+1].rabbit=1; states[i+1].cabbage=states[i].cabbage; } void Overriver::ra bbitback(int i)//农民带兔子回来 { action[i] = "农民带兔子回来."; states[i+1].fox=states[i].f ox; states[i+1].rabbit=0; states[i+1].cabbage=states[i].cabbage; } void Overriver::ca bbageover(int i)//农民带蔬菜过河 { action[i] = "农民带蔬菜过河."; states[i+1].fox=states[i].f ox; states[i+1].rabbit=states[i].ra bbit; states[i+1].cabbage=1; } void Overriver::ca bbageback( int i)//农民带蔬菜回来 { action[i] = "农民带蔬菜回来."; states[i+1].fox=states[i].f ox; states[i+1].rabbit=states[i].ra bbit; states[i+1].cabbage=0; } void Overriver::over_alone(int i)//农民独自过河

算法的描述

算法的描述

%s'%(x,y,z))
*
做一做
给定年份判断是否是闰年
输入数字判断是否是水仙花数
*
谢谢观赏
感谢聆听
Make Presentation much more fun
@WPS官方微博 @kingsoftwps
第四步:最后把羊带过河。
用流程图来描述农夫过河的过程
流程图:
准备过河 农夫和羊过河,放下羊 农夫回来带白菜过河,放下白菜 农夫把羊带回来,放下羊,再带狼过河,放下狼
农夫回来,带羊过河 结束
用流程图描述算法
流程图(flow chart)是描述我们进行某一项活动所遵 循顺序的一种图示方法。
水费计算
开始
皮试
开始
皮下注射 y=2.85*第一 级用水量 +5.5*第二级 用水量 等待15分钟 否 是否过敏 可以 注射
输入用水量X X是否小于 等于20 是
y=2.85*第一级用 水量 否

不能注射
输出水费 结束
*
结束
用计算机语言描述算法
Python
Dim a As Integer, b As Integer, c As Integer for x in range(1.20):
算法思想初探
8年级信息组
2018-09-15
1 算法的描述
*
算法的描述
农夫、狼、 羊、菜
算法的描述(用自然语言描述)
我们使用了语言描述解决问题的过程,这种方法称为自 然语言描述算法。
第一步:农夫把羊先带过河,自己返回。 第二步:再把白菜带过河,同时把羊带回来。
第三步:把羊放下,然后把狼带过河,自己回来。
for y in range(1,33):

1.2算法和算法的描述

1.2算法和算法的描述

算法一
算法二
第一步:烧水;
第一步:烧水;
第二步:水烧开后, 优化? 第二步:烧水过程中,
洗刷茶具;
洗刷茶具;
第三步:沏茶。
第三步:水烧开后沏茶。
一个好算法必须用到科学的方法
第二个算法的科学性在于应用了“统筹方法”
算法是程序设计的核心,是程序设计的灵 魂。算法的好坏,直接影响着程序的通用性和 有效性,影响着问题解决的效率。
第三步:人和菜过河,人返回,留下菜; 第四步:人和羊过河
二、算法的描述——用流程图描述算法
常用的“流程图”所用的基本符号
程序框
名称
功能
开始/ 结束
算法的开始 和结束
输入/ 输出
输入和输出 信息
处理
计算与赋值
判断
条件判断
流程线 连接点
算法中的流向
表示算法流向出口或入 口连接点
用流程图描述求解 a的绝对值的算法
一、算法——解决问题的方法和步骤
算法的特征:
1、输入——一个算法有零个或多个输入; 2、输出——算法有一个或多个输出; 3、确定性——算法的每一个这步个骤人必连须老要张也确不切认地识定义; 4、有穷性——一个算法在执行有穷步之后必须结束; 5、能行性——算法中有待执行的运算和操作必须是相
当基本的。(运算和操作能精确地执行)
最小自然数。
韩信点兵
1、令X为1 2、如果X整除3余1,X整除5余2,X整除7余4,这就是题目要求的 数,则记下这个X 3、令X为X+1(为算下一个作准备) 4、如果算出,则结束;否则跳转2 5、写出答案
过河的方案: 第一步:人和羊过河,人返回,留下羊; 第二步:人和狼过河,人和羊返回,留下狼; 第三步:人和菜过河,人返回,留下菜和狼; 第四步:人和羊过河
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

——辗转相除法。

例如:设给定的两个正整数为m和n,求它们的最大公约数的步骤为:
(1)以m除以n,令所得的余数为r。

(2)若r=0,则输出结果n,算法结束;否则,继续步骤(3)。

(3)令m=n,n=r,并返回步骤(1)继续进行。

实践1:求两个正整数112和64的最大公约数。

实践2(可选):求两个正整数112和64的最小公倍数。

师生总结算法的特征,教师简要举例说明。

特征:输入、确定性、有穷性、输出、能行性(可行性、有效性)余为48;(2)64
除以48,余为16;
(3)48除以16,
余为0;答案:112
和64的最大公约
数为16。

学有余力的
学生可尝试写出
实践2的算法。

Moodle上提
交。

解算法的特
征。

3、算法的描述。

(1)问:在游戏和辗转相除法中,我们是用什么来描述算法的?
那么还有没有其它方式呢?除了自然语言,还有流程图、伪代码等。

例如辗转相除法用流程图和伪代码描述如下:
①流程图描述的辗转相除法(教师简单说明流程图的基本图形及其功能):
②伪代码描述的辗转相除法(教师简要说明伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的工具。

对学生学习不作要求):INPUT m,n
r= m mod n
Do While r≠0
m=n
n=r
r=m mod n
Loop
Print n
(2)讨论交流
比较三种描述算法的方式的优势和不足(伪代码不做要求)。

算法描述方式优势不足
自然语言
流程图
伪代码
学生回答:文
字,……(教师引
导出自然语言)。

各组就求两
个整数的最大公
约数的辗转相除
法的三种描述方
式进行讨论,比较
各自的优势和不
足,填写表格,进
行交流。

Moodle上提
交。

结合辗
转相除法的
不同描述方
式进行讲解,
学生在比较
中体会算法
描述的过程,
掌握本节重
点。

学生通
过对三种方
式的比较,总
结出各自的
优势与不足
之处,进一步
加深对本节
重点知识的
认识。

考虑到
学生的认知
水平,伪代码
不做要求,鼓
励学有余力
的学生了解。

操作实践1、写出求一个数的绝对值的算法。

用自然语言和流程图描述,伪代码不做要求。

2(可选)、写出求解一元二次方程的算法。

要求用流程图描述。

各组成员合
作写出。

考虑到流
程图中各框的画
出需要更多时间,
允许学生在纸上
画出,鼓励学生用
画图工具画出流
程图。

Moodle上提
交。

针对学
生的差异进
行分层训练,
既使学生掌
握基础知识,
又使学有余
力的学生有
所提高。

在操作
实践中对难
点部分有所
突破。

交流评价
针对上一个环节中学生写出的算法进行交流评
价。

1.展示作品评价标准,引导学生参考作品评价
表(附后)进行交流和评价。

2.根据完成任务的实际情况,有代表性地选择
部分学生上台展示作品并自评。

3.引导台下学生开展组间互评。

4.对学生作品中的闪光点和有待改进的地方进
行点评。

本环节采用学生自评、互评、教师点评等多元
化评价方式。

1.根据作品
评价表(附后),
学生展示作品,并
进行自评。

2.欣赏作品,
发表见解。

3.听取教师
点评,取长补短。

给学生
展示自我的
机会,引导学
生在欣赏作
品的同时,取
长补短,共同
进步。

通过评
价,引导学生
自我反思,加
深对所学知
识的认识与
理解。

拓展提高
内容:算法在解决问题中的地位和作用。

1、探究:运行下面两个程序,比较它们的效率,
把观察到的现象填在表中。

(1)用辗转相除法设计的程序:
Private Sub Command1_Click()
m = 9147485
n = 5147480
r = m Mod n
Do While r <> 0
m = n
n = r
r = m Mod n
Loop
学生开展同
一问题的两个不
同算法的程序效
率的比较(填表),
了解算法在问题
解决中的地位和
作用。

在实践、
探究中比较,
了解算法在
问题解决中
的地位和作
用。

评价表:。

相关文档
最新文档