六年级信息科技上全册教案 浙教版2023年_第1页
六年级信息科技上全册教案 浙教版2023年_第2页
六年级信息科技上全册教案 浙教版2023年_第3页
六年级信息科技上全册教案 浙教版2023年_第4页
六年级信息科技上全册教案 浙教版2023年_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙教版六年级信息科技上全册教案

第一单元算法的实现

【单元整体构想】

一、单元内容简介

算法的实现有多种方式,编写计算机程序实现算法是最常用的方式之一。本

单元主要对应课标“身边的算法”模块中“算法的描述”和“算法的执行”这两

部分内容,在五年级学生初步认识用算法解决问题的基础上,聚焦使用计算机实

现算法解决问题,将形式化的描述方式转变为通过计算机实现的程序。

通过本单元的学习,学生将继续熟悉利用算法求解简单问题的基本方式,通

过若干个熟悉的实践案例提升算法设计能力,认识算法与程序之间的关系。

二、单元设计的望远镜思维

五年级已经安排了初步的算法学习,包括利用算法三种控制结构设计算法、

算法的多种描述方式、用算法解决问题的一般过程等。学生知道可以从多种途径

对算法进行验证,对程序有了一定体验,但是缺乏系统的认知。本单元通过解决

“投票”“鸡兔同笼”“猜数字”三个具体问题,聚焦实现算法的程序,帮助学生

理解算法与程序之间的关系,为本册后续”算法的效率”单元的学习打下阅读、

编写程序的基础,为“算法的影响”单元的学习做好充足的程序体验铺垫。

在数学学科中,学生学习过运用简易方程解决简单的实际问题,掌握了用字

母表示数的方法,能够在真实的情境中,探索运用基本的数量关系分析与解决问

题;通过科学学科的学习,学生能够利用分析、比较、概括等方法抓住简单事物

的本质特征,能够使用或建构模型解释科学现象和过程。这些都为本单元的学习

做好了认知与能力的储备。

三、单元设计的放大镜思维

本单元继续围绕“算法”这条核心逻辑主线,在具体问题的解决过程中让学

生理解“算法是一组明确定义且可执行的操作,用于描述解决问题的方法及步骤”

“解决问题的一般步骤包括抽象、分解、建模和制订解决方案”等大概念。

本单元一共7课,包括利用算法解决问题的步骤与方法,通过“总-分-总”

的方式进行编排。第1课以解决学生熟悉的投票问题为例,从整体上回顾在计算

机中运用算法解决问题的过程,以唤醒学生原有的认知。第2-5课以“鸡兔同笼”

问题为例,呈现每一个步骤的具体方法及过程。第6-7课通过猜数字游戏,让学

生综合运用所学方法解决问题,以提升学生运用计算机求解问题的能力与意识。

各课在问题的选择上各有侧重,从学生生活中比较熟悉的问题,到数学学科中的

经典问题,再到游戏问题,解决问题每个步骤的复杂程度及要求逐步上升,从简

单模拟到运用一定的算法思想设计算法;从读懂教师提供的程序,到体验执行程

序,再到尝试编写程序,意在让学生进一步理解算法与程序之间的关系。

本单元各课内容如下表所示:

课序课题主要内容

第1课算法与问题解决在计算机中运用算法解决问题的一般步骤。

借助表格对“鸡兔同笼”问题进行抽象,用算式

第2课抽象与建模

表达计算模型。

认识枚举算法,利用枚举法设计解决“鸡兔同笼”

第3课算法设计

问题的算法。

第4课算法的程序体验认识Python编程运行环境与基础诗句。

第5课算法的执行运行、调试程序。

对猜数字问题进行抽象建模,使用循环和分支结

第6课猜数字算法设计

构设计算法。

第7课猜数字算法验证编写程序验证算法,调试、完善算法与程序。

【单元目标设计】

素养目标

通过具体问题的解决,知道用计算机实现算法解决问题的一般过程,理解算法

与计算机程序的关系,掌握程序设计的基本知识与方法,提高、完善优化算法

的意识。

逻辑主线单元主要涉及的大概念单元目标描述

1.通过解决简单问题,体验用算法

1.算法是一组明确定义且解决问题的一般过程,掌握抽象与建

可执行的操作,用于描述解模、算法设计、验证与优化算法的方

决问题的方法及其步骤。法。

2.解决问题的一般步骤包2.通过程序验证算法,理解算法与

算法

括抽象、分解、建模和制订程序的关系,掌握阅读、修改、编写、

解决方案。运行计算机程序的方法。

3.算法可以用文字、图示、3.通过调试程序,理解算法的执行

代码等方式进行描述。过程,能够根据程序输出结果有针对

性地完善算法。

【单元评价设计】

本单元的评价建议通过一个真实问题的解决,对用算法解决问题的全过程进

行评价,重点环节(如抽象与建模、设计算法、验证与优化算法等)的评价设计

要具象化,具有操作性的同时兼具指导性。

一、最终评价任务设计

联系生活中猜数字游戏的经验,将其设计为人机交互程序。由计算机确定一

个0T00的目标数字,用户输入猜测数字,程序比较猜测数字与目标数字的大小

关系:如果用户答错了,就给出“大了”或“小了”的提示并让用户两次猜测;

如果用户答对了,就给出“对了”的提示并停止运行。

二、评价量规设计

评价内容杰出胜任新手

得分

得分标准(3分)(2分)(1分)

能独立对问题中

需要在学习架构

对问题进的数据、关系、规对问题中的数据、

支持或者他人帮

行抽象,则等进行抽象,确关系、规则进行抽

助下对问题进行

确定变量定变量,并阐明理象,确定变量。

抽象,确定变量。

由。

能选择合理的方

式建立解决问题需要在学习架构

建立解决能利用图示、表格

的计算模型,如图支持或者他人帮

问题的计或算式建立解决

示、表格、算式等,助下建立计算模

算模型问题的计算模型。

并能清晰解释该型。

计算模型。

确定算法的输入确定算法的输入

合理选择需要在学习架构

与输出,灵活运用与输出,运用顺

控制结支持或者他人帮

顺序、分支、循环序、分支、循环算

构,设计助下完成算法的

算法控制结构独法控制结构设计

算法设计。

立设计算法。算法。

能根据需求选择

使用手绘或者数

流程图符号、流程流程图符号、流程

使用流程字化方式绘制流

线使用基本规范,线使用存在明显

图描述算程图,流程图符

每个步骤的描述错误,步骤描述不

法号、流程线使用规

均正确。清晰或存在错误。

范,每一个步骤描

述清晰准确。

能够修改代码或

修改程序者自主编写程序,能够阅读程序,修

并运行程能够调试程序,并改部分参数或代能够阅读程序,并

序验证算根据调试结果优码,能够运行并调运行程序。

法化迭代算法与程试程序。

序。

【单元过程设计】

一、单元问题设计

问题一:投票、猜数字等问题的算法可以用计算机来实现,那么所有算法都

能用计算机实现吗?

设计意图:本题意图让学生联系现实生活,引发学生的思考,探讨哪些算法

可以由计算机来实现,在举例中感受用计算机实现算法的优势。

学生回答的引导方向:首先明确这里的算法指的是用计算机解决问题时的方

法及步骤,因此理论上所有的算法都可以由计算机实现。但在实际应用中,有些

算法由于计算复杂度太高,无法在一定时间内完成,因此暂时无法用计算机实现。

问题二:日常使用的计算机程序是怎么编写出来的?

设计意图:学生在日常生活中使用计算机与各种移动终端,已经有了丰富的

程序使用经验,但对于程序是怎么编写出来的相对缺乏认知。本题意在让学生提

出合理的假设,并通过本单元的学习认识程序,了解程序的编写过程,能通过程

序来执行并验证算法。

学生回答的引导方向:日常使用的计算机程序通常是由开发人员使用计算机

语言按照一定的规则编写的,要经历“需求分析-设计算法-编写代码-程序测试-

程序维护”一系列工作流程。

二、单元学习策略

本单元的学习要融入具体问题的解决过程。教材中通过作品投票、鸡兔同笼、

猜数字三个问题,让学生在反复经历抽象建模、设计算法、验证算法、优化算法

的过程中提高用算法解决问题的能力。在实际教学中,教师可以根据学生与学校

的实际情况对问题做适当调整,但要避免问题或项目之间的简单重复,实现学生

在能力和思维方面的螺旋上升。

在开展具体的教学时,建议采用项目化教学,教师要为学生提供丰富的学习

架构,满足不同学生在不同阶段的学习需求,同时做项目进度管理与评价,保障

整个项目有有序推进。与程序设计相关的课要做好分层教学,设计不同难度的活

动供学生自主选择,如读懂程序、给程序填空、修改程序、独立编写程序等,让

每一个学生都体验用计算机实现算法的优势,获得学习的成就感。

课题第1课算法与问题解决

1.通过解决投票问题,体验在计算机中运用算法解决问题的一

教学目标般步骤。

2.通过程序实现算法,感受计算机解决问题的优势。

教学重点体验在计算机中运用算法解决问题的一般步骤。

教学难点设计解决问题的算法。

1.网络教室。

2.Python3.8。

环境与素材

3.投票问题相关的图文、影音素材。

4.使用多种计算机语言编写的范例程序。

教学过程

一、讨论

生活中的投票问题可以通过哪些途径解决?各有什么优点?

二、建构

利用算法来解决问题有多种途径,如由人工实施或由计算机实现等,不同

的途径适用于不同的场景。在计算机中运用算法解决问题,主要经历问题分析、

抽象与建模、设计算法、验证与优化算法等过程。

1.抽象与建模

解决问题首先要对问题进行分析,抽象出关键要素,建立模型。以投票问

题为例,某校正在进行校徽设计征选,全校1000名学生通过投票的方式在两

个候选作品中选择一个自己喜欢的设计方案。

解决该问题的关键要素包括两个候选作品的编号、1000名学生的投票情

况。

(1)确定变量

本问题中,需要对每一次的投票内容进行处理,从而决定增加哪个作品的

得票数。使用计算机解决这个问题时,可以用变量tp表示每一次的投票,不

同的变量值代表给不同的候选作品投票,用a、b两个变量表示两个候选作品

的得票数。

(2)抽象规则

tp的值决定了a+1还是b+1,如当tp为“a”时,表示投票给A作品,则

a=a+l;当tp为"b"时,表示投票给B作品,则b=b+l。

a=a+l,表示先将变量a的值加上1,再将结果存储回变量a中,一般用

来表示递增。

(3)建立模型

在抽象的基础上,总结规律、建立模型是设计算法的前提。建立模型时可

以借助分工、表格、图示等方式,下图以图示的形式对上述投票问题进行建模。

2.设计算法

设计算法时,要确定算法的输入与输出,并合理地选择控制结构,准确、

有序地描述解决问题的步骤。例如,使用计算机解决上述作品投票问题的算法,

可以描述为如下几个步骤:

步骤1:A、B作品得票数清零,即将变量a与b的值初始化赋为0;

步骤2:投票者输入投票内容“a"或”b",并将其赋值给变量tp;

步骤3:使用分支结构对投票内容进行判断,当tp为“a”时,变量a的

数值加1,当tp为"b“时,变量b的数值加1;

步骤4:使用循环结构重复步骤2、3,直到1000名学生都完成投票;

步骤5:输出A、B作品的得票数。

算法的流程图如下:

3.验证算法

在计算机中,可以通过编写并运行程序来验证算法。

使用媪为管挺备,市

【想一想】

如果用户输入的数据既不是a,也不是b,结果会怎样?

an

三、练习

如果有3个作品参与投票,算法需怎么调整?在流程图中做相应的修改。

参考答案:

课后反思/评价标准

课题第2课抽象与建模

1.通过对“鸡兔同笼”问题进行抽象,掌握使用表格提炼关键

要素的方法。

教学目标

2.通过对“鸡兔同笼”问题进行建模,掌握使用算式建立计算

模蛋的方法。

教学邕点抽象建模的方法。___________________________________________

教学难点利用表格对问题进行抽象。

1.网络教室。

环境与素材

2.”鸡兔同笼”问题相关素材。

教学过程

一、探索

下面这个问题中的关键要素有哪些?它们之间的关系是怎样的?

今有鸡、兔同笼,上有三十五头,下有九十四足,问鸡、兔各元市

二、建构

抽象与建模可以抓住问题的核心,忽略与问题求解无关的要素。用一定的

方式表示关键要素之间的关系,有助于问题的解决。

1.问题描述

解决问题之前,要对问题进行清晰的描述,包括已知条件、未知条件与求

解目标。以《孙子算经》中的“鸡兔同笼”问题为例,用现代汉语可以描述如

下:在一个笼子里有若干只鸡、兔,鸡、兔一共有35个头、94只脚,求笼中

有多少只鸡、兔?

2.抽象

当问题中各对象之间的关系较为复杂时,可以使用表格对问题进行抽象。

如“鸡兔同笼”问题中,与问题求解相关的对象有鸡与兔,涉及的数量有鸡、

兔的只数,鸡、兔的头数与脚数,将这些问题要素通过表格进行整理,可以梳

理它们之间的关系,从而提炼关键要素。

数量

对象关系

头数脚数

鸡只数=鸡头数

鸡未知未知

兔只数=兔头数

鸡只数X2=鸡脚数

兔未知未知

兔只数X4=兔脚数

鸡头数+兔头数=35

鸡兔整体3594

鸡脚数+兔脚数=94

根据上表可以发现,鸡与兔的头数、脚数都可以由鸡与兔的只数推导出,

鸡与兔的只数是该问题的关键要素,可以用变量表示(如ji与tu),则该问

题所有的数量关系都可以用含有这两个变量的算式进行比较。

3,建模

根据抽象出来的数据及其关系,可以建立计算模型,进而推导出答案,解

决问题。例如,“鸡兔同笼”问题的计算模型可以用如下算式进行表达:

ji+tu=35

0wjiw35,0wtuw35

jix2+tux4=94

【试一试】

为了让模型能适用于更多的同类问题,请用变量表示鸡兔的总头数与总脚

数,并修改计算模型。

三、练习

我国古代数学家张丘建在《算经》一书中提出了著名的“百钱买百鸡”问

题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,问翁、

母、雏各几何?

请利用表格,从对象、数量、关系等角度对这个问题进行抽象建模。

参考答案:

数量

对象关系

只数价格

鸡翁未知5

鸡母未知3鸡翁X5+鸡母X3+鸡雏X1/3=100

鸡雏未知1/3

用变量a代表鸡翁的数量,用变量b代表鸡母的数量,则鸡雏的数量为

100-a-b,利用算式建立的计算模型如下:

aX5+bX3+(100-a-b)Xl/3=100(OWaWlOO,OWbWIOO)

课后反思/评价标准

课题第3课算法设计

1.通过生活中具体案例的分析,理解枚举算法思想。

教学目标2.通过设计“鸡兔同笼”问题的算法,掌握枚举法解决问题的

一般方法,初步树立运用经典算法思想解决问题的意识。

教学重点掌握枚举法解决问题的一般方法o

教学难点理解枚举算法思想。

1.破译字母算式或24点游戏等枚举法相关活动的素材。

环境与素材

2.流程图绘制软件或平台。

教学过程

一、探索

解决下列问题时,主要的方法与步骤是怎样的?

二、建构

经过大量的实践,人们发现了一些共性的规律,将其总结成了经典的算法,

如解析法、枚举法等。合理地选择经典算法,可以为具体问题的解决设计出更

加精妙的方法,如''鸡兔同笼”问题要在一定范围内寻找正确解,可以使用枚

举法。

1.认识枚举法

枚举法的思想是有序地尝试每一种可能的解,如果满足正确解的条件就采

纳,否则继续枚举,做到不遗漏、不重复。它在生活中有着广泛的应用,如玩

24点游戏时在头脑中罗列各种可能的算式顺一篇文章中摘录好词好句……

使用枚举法的关键是确定枚举的范围和正确解的判断条件。

姑耙>>

【想一想】

为什么在登录网站、APP、ATM自动柜员机时,系统要限制用户输入密码

的次数?

2.算法框架的确定

在明确算法思想的基础上,使用具体的计算模型,合理选择控制结构,可

以得到解决具体问题的算法框架。在枚举“鸡兔同笼”问题的解时,使用循环

结构在0-35之间的枚举ji或tu,使用分支结构判断是否满足正确条件:ji

X2+tuX4=94„为了方便计算,可以只枚举其中一种动物的只数,另一种动物

的只数为35减去该动物的只数。

兔的只数35...12.......0

鸡的只数35-35.......35-12.......35-0

总脚数140.......94.......70

是否满足正确解条件XXV.......X

3.算法的描述

描述算法时,要精准描述算法的每一步骤,明确算法的输入、输出。对于

大部分算法来说,输入数据是必要的,但有的算法不需要输入数据或者算法本

身给定了初始条件,如''鸡兔同笼”问题中将tu的值初始化赋为0。“鸡兔同

笼”问题输出的结果是鸡与兔的只数,即变量ji和tu的值。最后根据设计好

的算法框架,用流程图将算法完整地描述出来。“鸡兔同笼”问题的算法可描

述如下:

解火觥同才闩而竹“淡显其图

【试一试】

除了枚举兔的数量,还可以枚举哪些数量?

三、练习

利用枚举法设计“百钱买百鸡”问题的算法,并用流程图描述。

参考答案:

课后反思/评价标准

第4课算法的程序体验

1.认识计算机语言,理解算法可以通过计算机语言来实现。

2」通过体验“鸡兔同笼”程序,认识Python语宣的基础语句二

认识Python语言的基础语句。

理解算法可以通过计算机语言来实现。

1.网络教室。

2.Python3.8。

3.相关学习微课。

4.使用不同计算机语言编写的实现同一个算法的若干程序。

课题第5课算法的执行

1.通过运行“鸡兔同笼”程序,掌握算法执行的方法。

教学目标2.通过调试“鸡兔同笼”程序,掌握程序调试的方法,初步具

备完善算法与程序的意识。

教学重点掌握运行、调试程序的方法。

教学难点初步具备完善算法与程序的意识。

1.“鸡兔同笼”解题程序。

环境与素材

2.相关学习微课。

教学过程

一、探索

使用计算机程序来解决身边的问题,观察并记录程序运行的过程与结果。

二、建构

计算机通过运行程序,完成算法的执行,根据既定步骤完成高速、准确的

自动化处理。

1.运行程序

运行编写好的程序,可以得到计算机输出的可观察的算法执行结果。

在Python中,可以通过IDLEShell运行程序。在“File”菜单中选择

“Open”,打开相应的程序。在程序编辑器中的“Run”菜单中选择“RunModule”,

即可运行程序。

.0—I-<文忤伯府

i—a

枚心运行经R

【小知识】

条件循环语句:在Python中,第一行以while开始,然后是循环的判断

条件,while循环头部始终以冒号结束。头部之后的缩进部分是循环体。当满

足判断条件时重复执行循环体内容,否则停止循环。

2.调试程序

编写程序实现算法时,可能会因为录入错误、语法错误、逻辑错误等导致

程序不能正常运行或者结果出错。对程序进行反复调试,可以及时发现这些错

误。

l*yibnn裙官尸格区分

大4*>-m-4ttfuw

代AM个变量

发有的林点都

发&英文华角状忠

下崎人,

Python将言使用城

社轴""区分代码之

tl•。:‘r,*****刈的.累次、

.・34

,*XUMcnvX|

M*ar«a|irMMM*I»M*«*l>WHaort4H2<

L〜0

【试一试】

修改代码中鸡、兔的总头数与脚数,观察、记录程序运行的过程与结果。

3.完善算法与程序

根据调试中发现的问题,有针对性地完善算法与程序。修正代码在录入、

语法和逻辑上的错误,使其能够正常运行;完善算法,使其能更好地解决问题。

如在测试“鸡兔同笼”解题程序时发现,调整鸡、兔的总头数与总脚数后,程

序可能不输出任何结果,这不符合算法必须有输出的特点。为了让用户明确得

知题目是否有解,可以做如下调整:用一个变量记录此题是否有解,如使用变

量jie,当jie=l时表示有解,当Jie=0时表示无解,若无解需在算法结果前

输出无解提示。

宅’后的毋淳览《田之¥.心内41不

好的算法往往可以解决同一类问题,而不局限于某一个特定的问题。

【试一试】

当“鸡兔同笼”问题中的总头数与总脚数发生变化时,需要用户在代码中

手动调整。和同伴讨论提出更完善的算法设想,便于用户操作。

三、练习

运行完善后的“鸡兔同笼”程序,经过反复调试,解决发现的问题,并提

出完善算法的新创想。

发现的问题解决问题的创想

课后反思/评价标准

课题第6课猜数字算法设计

1.通过对猜数字问题进行抽象与建模,掌握利用表格进行建模

教学目标的方法。

2.通过设计猜数字算法,熟练掌握算法设计与描述的方法。

教学重点设计猜数字算法。

教学难点灵活利用循环和分支结构设计算法。

1.猜数字游戏的相关素材。

环境与素材

2.绘制流程图的数字化软件与平台。

教学过程

一、讨论

你玩过猜数字游戏吗?和同伴讨论一下游戏规则,并玩一玩。

二、建构

通过数据输入和输出可以实现计算机与外界的信息交流,实现“人机对

话”。

1.抽象与建模

人机交互程序主要实现用户与计算机交互的功能,主要流程包括用户输入

数据、计算机处理数据、计算机输出数据。

生活中的很多交互行为都可以设计成人机交互程序。比如,可以将猜数字

游戏做成人机交互程序,让用户猜数,计算机出题并根据用户猜数结果实现游

戏反馈自动化。对这个问题进行抽象建模时,可以参考人机交互的主要流程。

(1)输入数据

用户反复输入数字进行猜测,直到答对为止。由于数字一直在变化中,可

以用一个变量来表示,如cai。

(2)处理数据

计算机主要是对用户输入的数字和目标数的大小进行比较判断。为了让程

序更具有普遍性,可以用一个变量来表示目标数,如da。cai和da之间存在

“大于”“小于”“等于"三种关系。

(3)输出数据

根据cai和da的大小关系,输出三种提示。

根据以上抽象内容,可以利用表格建立模型如下:

输入数据比较输出

输入caicai>da输出“大了,继续”

输入caicai<da输出“小了,继续”

输入caicai=da输出“对了,停止”

2.算法的设计

明确输入、输出之后,需要合理选择控制结构控制交互过程。例如,使用

条件循环实现:当caiWda时,让用户反复作答;在循环结构中嵌套分支结构,

判断cai与da的大小,计算机根据不同的大小关系输出相应的提示。

设计猜数字游戏的算法流程图如下:

(_')

____________f_____________

山・ITW之同构集个孔隼状字

&♦用户幡7s,多/

/输出臭示“对停止"出质示“小了.姬续出发示”大了.雉续一

(百)

树轨¥*戏妁

三、练习

修改猜数字游戏的规则,并调整算法流程图。

课后反思/评价标准

课题第7课猜数字算法验证

1.通过运行程序验证猜数字算法,掌握分析程序运行过程与结

教学目标果的方法。

2.根据对算法验证结果的分析,能初步完善算法。

教学邕点验证算法。

教学难点完善算法。

1.猜数字游戏的半成品程序。

环境与素材

2.待完善的算法流程图。

教学过程

一、探索

编写“猜数字”交互程序时,可能用到哪些语句?为什么?

使用while循环语句可以让用户在没有猜对时反复输入数字。

判断用户的数字大小时,要用到什么语句呢?

二、建构

通过编写、运行程序,可以对算法进行验证,并根据验证结果不断优化算

法。

1.验证算法

使用计算机验证算法,首先选择合适的程序设计语言编写程序,即将算法

转化为计算机可以执行的精准命令;然后运行程序并跟踪、记录运行过程结果,

验证算法是否解决问题。

后面为注释语句,程序运行时不会被执行。在编写程序时添加注释

是个好习惯。

a序1»出

【小知识】

输入:在Python中,使用input("")实现数据的输入,””中间的内

容是提示语。用户输入的内容默认为字符串类型,若对其进行数值运算,则须

进行数据类型的转换,如使用int()将其转化为整型数据,例如

cai=int(input("猜一个1至100之间的数字”))。

双分支条件语句:在Python中,用“if…else…"来构造双分支条件语

句,当满足判断条件时执行if分支下的代码,否则执行else分支下的代码。

丽电瓶厂Icaidak一无新条件

print.i'j**)

_LDB1ItI\9Jr

平酒足判V--.......................-1

断条件对

【试一试】

调整“目标数”,运行程序,和同伴一起玩一玩。

2.完善算法

通过分析程序结果与任务需求是否一致,以及调试过程中发现的问题,提

出完善算法的方案。例如,为了增加猜数字程序的实用性与趣味性,可以在程

序中增加记录猜测次数的功能:用变量ci表示次数,用户每猜一次,ci就加

1,用户答对后输出一共猜了多少次的提示。

会上itAHWl

①*后的程序代马

【试一试】

运行程序,和同伴比一比,谁用了最少的次数猜出目标数。

【小知识】

使用“二分查找法”可以用较少的次数猜出正确的答案。如在猜数字游戏

中,可以先猜1T00中间的数50,那么根据出题者的大小提示,就可以排队

一半的数!再在剩下的范围内继续猜中间值,重复这个过程,不超过7次就能

猜出这个数字了。

三、练习

继续修改完善后的猜数字算法,实现以下功能:如果用户的猜数次数超过

7次,提示“挑战失败”。

课后反思/评价标准

第二单元算法的效率

【单元整体构想】

一、单元内容简介

求解同一个问题,可能会有多种算法,但是解决同一个问题的多种算法,效

率可能是不一样的。不同的算法在考虑问题求解正确的基础上,还需要分析问题

求解的效率。本单元安排了“算法的效率”内容,在算法的描述、算法的执行等

内容的基础上,采用多种算法来解决同一个问题,体现算法执行的不同效率。

本单元通过多种算法的执行及评估,让学生意识到评价算法的标准除了正确

性和有效性以外,执行效率也是一个需要关注的因素,帮助学生初步养成运用算

法的思维习惯,形成设计与分析简单算法的能力。

二、单元设计的望远镜思维

经过五年级的学习,学生已经能根据简单问题的描述,进行抽象建模,采用

恰当的方式描述算法,初步具备了信息处理的能力。经过六年级上第一单元的学

习,学生已经知道在计算机中实现算法的一般步骤,通过问题健找、抽象与建模、

设计算法、验证与优化算法等过程,已经对算法与程序的关系有了具体的体验。

在此基础上,本单元将“算法的描述”“算法的执行”和“算法的效率”三个部

分有机贯穿于各个算法问题的讨论,通过观察并体验采用不同算法解决同一个问

题在时间效率上的差别。止匕外,本单元与此后要学习的第三单元”算法的影响”

相关联。通过分析信息社会中各种与算法有关的应用,让学生感受到人们对这些

应用有一个共同要求,即在用户可以接受的时间内给出正确的结果。好的算法能

在给定的资源条件下(例如存储空间、网络带宽等),助力达成目标,或者在达

成目标的前提下少用其他资源,因而具有价值。

三、单元设计的放大镜思维

本单元的知识内容在设计上继续围绕“算法”这条核心逻辑主线,融合“数

据”“信息处理”等多条逻辑主线螺旋上升。本单元围绕“同一个问题可以采用

多种算法来解决,而不同的算法可能具有不同的效率”和“解决问题的一般步骤

包括抽象、分解、建模和制订解决方案”等大概念,共设计5节课,安排了猜数

字和“韩信点兵”等游戏,对同一个问题设计多种不同算法,如猜数字可分别采

用顺序查找和二分法查找算法解决,“韩信点兵”可分别采用枚举、筛选、同余

算法解决,并针对不同算法,讨论算法评价的方法。通过本单元的学习,能帮助

学生学会比较不同算法的效率,体验算法效率的差别,树立算法效率的意识。

本单元各课内容如下表所示:

课序课题简介

分析猜数字游戏问题、设计解决问题的

第8课算法的多样性

多种算法、验证解决问题的多种算法。

第9课算法的评价方法学习算法评价的方法、体验算法评价。

“韩信点兵”枚举法的实抽象与建模、枚举算法设计、筛选算法

第10课

现的程序实现。

“韩信点兵”筛选法的实抽象与建模、筛选算法设计、筛选算法

第11课

现的程序实现。

“韩信点兵”同余法的实抽象与建模、同余法设计、同余法的程

第12课

现序实现。

【单元目标设计】

素养目标

在典型的信息科技应用场景中,尝试采用不同方法解决同一个问题,熟悉一些

常用经典算法的程序实现和执行过程;能针对不同的输入数据的规模,分析解

决问题的不同算法在时间效率上的高低。

逻辑主线单元主要涉及的大概念单元目标描述

1.通过分析生活中的具体问题解决实

1.同一个问题可以采用例,认识到解决同一个问题可能存在多

多种算法来解决,而不种算法。

同的算法可能具有不同2.通过同一个问题的多种算法验证,认

算法的效率。识到不同的算法存在运行效率上的差

2.解决问题的一般步骤异。

包括抽象、分解、建模3.通过估算算法的时间复杂度,理解影

和制订解决方案。响算法运行时间的因素,能根据简单问

题求解的需要设计合适的算法。

【单元评价设计】

本单元的评价可以基于真实的生活问题创设情境,围绕“能采用多种算法解

决问题,并对多种算法进行效率分析”展开。

一、最终评价任务设计

在进行大扫除时,要把甲、乙两个班的学生分成若干个人数相同的小组,并

且使每个小组都是同一个班的学生。每个小组最多有几名学生?

实践:请用多种算法来解决问题。

二、评价量规设计

可根据学生的回答情况进行评价,如算法描述、算法实现、算法多样性等方

面°

评价内容评分指标(5分)得分

具备按照抽象建模、设计算法、验证算法的步骤

利用算法解决问题

解决问题的意识。

解决该问题可采用多种算法,如枚举、辗转相除

算法的多样性

法、更相减损术等。

算法的实现能利用流程图或程序实现算法。

具备算法效率意识,能根据问题解决需要选择合

算法的效率

适的算法解决问题

【单元过程设计】

一、单元问题设计

问题一:猜数字游戏,你能用多种算法来解决吗?

设计意图:猜数字游戏是前面几节课探究过的问题,学生已经熟知该情境。

通过类似的驱动性问题,一方面引发学生回顾前面学习过的内容,归纳问题解决

的思维与方法;另一方面激发学生思考解决该问题的其他算法,引导学生感知解

决同一个问题可能有多种算法。

学生回答的引导方向:学生可回顾前几节课中解决猜数字问题的思想与方法,

就是模拟了整个猜数字游戏的过程,所猜数字可随机输入。因此,就所猜数字输

入的先后次序可引入一定的规则,如依次输入、取中间数输入等。

问题二:你觉得怎样的算法才是“好”的算法?

设计意图:对算法“好”和“差”的思考,一方面激发学生探究算法的本质,

理解利用算法解决问题需要满足正确、有效、高效等相关要求;另一方面引发学

生关注算法评价要素,意识到算法效率也是一个需要关注的要素,以及算法效率

可以从“时间”和“空间”两个方面衡量。

学生回答的引导方•向:利用算法求解问题,首先要确保所采用的算法能正确

解决问题;其次要能在一定时间内完成,且执行速度越快越好,存储空间越少越

好,即占用的资源越少越好,等等。

二、单元学习策略

本单元的学习要融入具体问题的解决过程。教材中通过猜数字游戏、“韩信

点兵”等问题让学生经历抽象建模、设计算法、验证算法、优化算法等环节,体

验算法的多样性,并意识到算法的效率。在实际教学中,教师可以根据学生与学

校的实际情况对问题进行适当简化,鼓励学生发现、分析问题,以解决问题为导

向设计算法、学习新知、探索实践等。

课题第8课算法的多样性

1.通过设计猜数字的算法,理解顺序查找和二分查找的思想,

树立使用多种方法解决同一个问题的意识。

教学目标

2.通过验证猜数字游戏的算法,初步掌握顺序查找和二分查找

的程序设计方法,提高算法实现的能力。

教学邕点设计猜数字游戏的多种算法。________________________________

教学难点实现及验证猜数字游戏的多种算法。

1.网络教室、Python编程环境。

环境与素材2.童童家到学校的图片。

3.猜数字游戏的二分查找程序。

教学过程

一、讨论

下图中,童童从学校到家有哪几条路线可走?

二、建构

现实中,解决一个问题的算法往往具有多样性,即可用不同的算法来解决

同一个问题。

例如,解决问题猜数字游戏问题,除了前面学过的算法外,还可以采用顺

序查找和二分查找算法。

1.问题分析

猜数字游戏中,同学A输入数字的过程其实是一个“查找”问题,即在

1-100范围内查找目标数da,可采用多种不同的策略来解决。

例如:

策略一:按顺序依次查找。

依次将1,2,3,…,99,100(或100,99,98,…,2,1)与da比较,

直到找到为止。

策略二:取中间数查找。

1-100范围内的数是依次增加的,依据该有序性可依次取中间数来查找。

先取1T00的中间数50与da比较,若da等于50,则查找成功;若da小于

50,则取1-49的中间数25与da比较;若da大于50,则取51-100的中间数

75与da比较……如此反复,直到找到为止。在b100范围内查找目标数37

的过程如下所示:

目标数为37,初始范围为1T00

12・・・495051・・・9899100

中间数

第一次比电t:37<50,范围调整为1-49

12・・・242526・・・474849

中间数

第二次比轼C:37>25,范围调整为26-49

2627・・・363738・・・474849

中间数

第三次比较:37-37,查找成功

【小知识】

计算机中的“查找”指根据根据所给条件找出满足条件的的对象,即在存

储存储的一批数据内找出出一个特定的数据,或者确定在这批数据内是否存在

这样的数据。

【试一试】

采用“按顺序依次查找”的策略,在『100范围内查找数37,一共需比

较多少次?

2.解决问题的多种算法设计

根据解决问题采用的策略,将其设计成算法。例如,上述猜数字游戏就可

将“按顺序依次查找”设计成顺序查找算法,“取中间数查找”设计成二分查

找算法。

算法一:顺序查找。假设目标数为37,并用变量da表示,取到的数用变

量cai表示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论