中小学教育资源及组卷应用平台
信息技术 活动1 让计算机猜价格
课题 让计算机猜价格 单元 第三单元 学科 信息技术 年级 九年级
教材分析 该教材旨在培养学生的信息技术素养,包括信息获取、信息处理和信息应用等方面的知识和能力。内容涵盖了计算机基础编程,计算机的使用等方面,教材注重实践操作,通过案例和实践项目来锻炼学生的实际操作能力。这有助于学生将所学的知识应用到实际情境中,并提升他们的问题解决能力,沪科版初中《信息技术》九年级教材内容全面,并结合实践操作和案例分析,旨在培养学生的信息技术素养和实际应用能力,为他们建立坚实的信息技术基础打下良好的基础。
教学目标 1、信息意识:能够理解对计算机编程在信息处理中的作用和重要性的认识。加强对信息存储、传输和处理方式的理解。 2、计算思维:能够发展计算思维能力,能够有效地分析问题和设计解决方案 3、数字化学习与创新:能够激发运用编程技能进行数字化学习和创新的热情,在使用中提高代码熟练度。 4、信息社会责任:能够正确地使用编程技能,并培养对于数据使用和分享的负责任态度。
重点 一、分析问题二、设计算法三、编写程序四、运行、调试程序
难点 1、设计算法2、编写程序
教学过程
教学环节 教师活动 学生活动 设计意图
导入新课 在现实生活中,我们经常需要在一堆物品中找出某个特定物品,计算机中与之对应的是对数据的一种基本操作一-“查找”。最基础的查找算法是顺序查找法,即依次检验待查找的数据,直至找到目标为止。当然,解决同一个问题,往往可以使用不同算法。在本活动中,我们将编程实现另一种经典查找算法,并比较它与顺序查找法的不同。 通过老师讲解和学生之间的相互讨论生活中的算法。 帮助学生理解算法概念,打开课堂。
讲授新课 03 分析问题1、要解决的问题如下:有一件价格不高于 100 元的商品(价格为整数),现要让计算机猜测其实际价格每次猜测后,可以通过输入告知计算机猜测价格与实际价格的大小关系,那么,如何用尽可能少的次数猜.为了简化问题,我们设定本活动中涉及的待查找序中商品的实际价格 列是一个从 1 开始的连续正除了顺序查找外,还可以采用二分查找法。二分整数序列,即第 n个数的值查找法也称折半查找法,是一种效率较高的查找方法等于n。2、除了顺序查找外,还可以采用二分查找法。二分查找法也称折半查找法,是一种效率较高的查找方法。我们将所有可能价格按从小到大的顺序排列,以中间值为界,将其余数值分为中间值前、中间值后两个部分。 在查找时,先将中间值与目标值比对,如果相等则查找成功,如果不相等则比较中间值与目标值的大小,并判断出目标值处于中间值前还是中间值后。将目标值所在区间再次分为中间值、中间值前和中间值后重复之前的操作,直到查找到目标值为止。3、中间值的选择可按如下规则进行: 假设最低价格为 low,最高价格为 high,则取(low+high)/2 为中间值,计算结果舍去小数位。例如,设价格范围为 1到9,实际价格为 3,则三次查找即可找出实际价格。第一次查找,取中间值 5,与目标值 3 比较,由于 5>3,可知目标值在中间值前。4、第二次查找,在1到4之间,取中间值 2,与目标值3 比较,由于 23,可知目标值在中间值后。第三次查找,在 3到4之间,取中间值 3,与目标值比较,发现两者相等,查找完成。5、在使用二分查找法时,所有可能价格可以按从小到大的顺序排列,也可以按照从大到小的顺序排列,但不能无序排列。顺序查找法则没有排序限制,我们可以将所有可能价格任意排列,之后从第一个数字开始向后验证。6、针对1到 100之间的任意整数,使用二分查找法,最多需要多少次查找 使用顺序查找法,最多需要多少次查找 哪种查找方法效率相对更高 04设计算法二分查找法需要多次执行相似操作,因此,可以使用循环结构。另外,每次猜测后要判断猜测价格与实际价格的大小关系,需要使用选择结构。如下所示,中间值用变量 mid 表示。每次查找后,将 mid 与实际价格比对,若相等则查找成功:若mid大于实际价格,则在low到mid-1间继续查找:若mid小于实际价格则在mid+1到 high 间继续查找。可以设置变量 i来统计查找次数,每次查找时 i加 1,查找完成后输出实际价格的值和查找次数。算法流程图如图 3-1-1 所示。05编写程序用 Pvthon 编写如图 3-1-2 所示的程序。猜到正确答案后,程序不再需要执行下一次循环。这时可以使用 break 语句,在循环条件仍然成立的情况下终止循环。尝试画出顺序查找算法的流程图,写出相应程序,比较两种查找算法的不同。不同点:在大部分情况下,当数据量较大时,二分查找法通常比顺序查找法更高效。 06运行、调试程序随意设想一个1到 100 间的整数,运行程序,当计算机做出猜测后,告知计算机猜测结果与答案间的大小关系,重复 几次后计算机将猜出正确答案观察运行结果,分析程序有无错误。若有,尝试解决。二分查找法要求待查找数据有序排列,但如果此条件不满足,就需要先排序再查找。上网学习并参考“知识链接”,了解冒泡排序法。算法的效率针对同一个问题,可以采用不同的算法。虽然不同算法得出的最后结果是相同的,但它们的效率却可能大不相同。例如,查找算法的效率取决于查找的次数。与顺序查找法相比,二分查找法的效率要高得多,但二分查找法必须基于有序排列的数据。对手查找规模(数据量) 较小的无序数据,顺序查找法也是一种常用的方法。
4、排序算法一冒泡法在日常生活中,除查找外,人们还会经常对数据进行排序,如将某班学生的总成绩从小到大排列。如何编程解决排序问题呢 这就需要设计比较好的算法目前,用于排序的算法有很多,它们的特点都不同。其中,冒泡法是一种经典的排序算法。冒泡法的思想是: 假设有从左到右排,列的n个数,将其从上到下排列。先从上到下依次比较相邻的两个数,使小的在上大的在下,那么第1回比较 n-1 次后,把最大数排到了最下面。第 2 回排序在前面的 n-1个数中进行,比较 n-2 次后把次大的数排到倒数第二位,依此类推,直到第 n-1 回排序将次小的数排到了第二位,剩下一个数不用比较,排序结束。算法的整体思路是逐次让大的数往下沉。而让小的数像气泡一样不断向上冒,所以该算法被形象地称为“冒泡法”。5、例如,下面是对5个数 9、5、3、8、1进行排序的过程:第 1回排序的过程如下,一共进行 4 次比较,每次较大的数向下移动,第 1回排序结束后最大数9移动到最下面的位置,如图 3-1-4 所示。6、9的位置确定后,接下来对 5,3,8,1再进行排序,以此类推,各回排序的结果如图 3-1-5 所示。第1回排序确定9的位置,第2回确定8的位置,第3回确定5的位置,第4回确定3的位置,还剩下1个数,不需要再排序,排序结束。 07 知识拓展 1、冒泡排序动图。2、我们还有哪些算法的手段。3、什么是贪心算法?4、我们要如何写一个好的算法? 学生之间互相讨论在我们日常生活中如何对算法排序等问题进行分析。 学生通过观看课件和听老师讲解,以及简单的看老师如何画算法分析图学生实际操作,完成老师要求的代码。学生自行运行自己的程序,测试程序是否有错误,有错误修改错误。学生通过观看视频和自我思考我们生活中如何运用算法和创建算法 帮助学生积极融入课堂,提高学生学习积极性。 学生通过边看边听的形式了解算法设计原理、算法形成过程。 帮助学生实现对于if...else理解和使用,还有对于代码的编程能力。学生在测试中发现自己的错误,能够帮助学生进一步理解代码。让学生通过视频思考,进一步加深对课堂所学内容的理解。
布置作业 1、上网了解什么是算法2、上网了解日常生活中有哪些算法3、上网了解什么样的算法才是一个好的算法 完成作业 培养学生查阅资料的能力,分析解决问题的能力
课堂小结 通过让计算机猜价格课程,我们学会了计算机算法,探讨了它在现代科技中的重要性和应用。算法是一系列解决问题的清晰指令,它能够帮助计算机执行各种任务,从简单的排序到复杂的数据分析。希望能够继续对算法进行深入学习。 分组总结归纳 锻炼学生的总结能力,逻辑思维、语言表达能力。
板书 一、分析问题二、设计算法三、编写程序四、运行、调试程序 学习、记忆及勾画知识点 明确教学内容及重点和难点
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
HYPERLINK "http://www.21cnjy.com/" 21世纪教育网(www.21cnjy.com)(共36张PPT)
《让计算机猜价格》
沪科版 信息技术
九年级 上
内容总览
目录
05
编写程序
07
拓展延伸
运行、调试程序
06
设计算法
04
分析问题
03
教学目标
01
新知导入
02
课堂总结
08
07
板书设计
教学目标
1、信息意识:能够理解对计算机编程在信息处理中的作用和重要性的认识。加强对信息存储、传输和处理方式的理解。
2、计算思维:能够发展计算思维能力,能够有效地分析问题和设计解决方案
3、数字化学习与创新:能够激发运用编程技能进行数字化学习和创新的热情,在使用中提高代码熟练度。
4、信息社会责任:能够正确地使用编程技能,并培养对于数据使用和分享的负责任态度。
新知导入
在现实生活中,我们经常需要在一堆物品中找出某个特定物品,计算机中与之对应的是对数据的一种基本操作一“查找”。最基础的查找算法是顺序查找法,即依次检验待查找的数据,直至找到目标为止。
当然,解决同一个问题,往往可以使用不同算法。在本活动中,我们将编程实现另一种经典查找算法,并比较它与顺序查找法的不同。
03、分析问题
新知讲解
1、要解决的问题如下:有一件价格不高于 100 元的商品(价格为整数),现要让计算机猜测其实际价格每次猜测后,可以通过输入告知计算机猜测价格与实际价格的大小关系,那么,如何用尽可能少的次数猜.为了简化问题,我们设定本活动中涉及的待查找序中商品的实际价格 列是一个从 1 开始的连续正除了顺序查找外,还可以采用二分查找法。二分整数序列,即第 n个数的值查找法也称折半查找法,是一种效率较高的查找方法等于n。
新知讲解
2、除了顺序查找外,还可以采用二分查找法。二分查找法也称折半查找法,是一种效率较高的查找方法。我们将所有可能价格按从小到大的顺序排列,以中间值为界,将其余数值分为中间值前、中间值后两个部分。 在查找时,先将中间值与目标值比对,如果相等则查找成功,如果不相等则比较中间值与目标值的大小,并判断出目标值处于中间值前还是中间值后。将目标值所在区间再次分为中间值、中间值前和中间值后重复之前的操作,直到查找到目标值为止。
新知讲解
3、中间值的选择可按如下规则进行: 假设最低价格为 low,最高价格为 high,则取(low+high)/2 为中间值,计算结果舍去小数位。例如,设价格范围为 1到9,实际价格为 3,则三次查找即可找出实际价格。第一次查找,取中间值 5,与目标值 3 比较,由于 5>3,可知目标值在中间值前。
新知讲解
4、第二次查找,在1到4之间,取中间值 2,与目标值3 比较,由于 23,可知目标值在中间值后。
第三次查找,在 3到4之间,取中间值 3,与目标值比较,发现两者相等,查找完成。
新知讲解
提示板
5、在使用二分查找法时,所有可能价格可以按从小到大的顺序排列,也可以按照从大到小的顺序排列,但不能无序排列。顺序查找法则没有排序限制,我们可以将所有可能价格任意排列,之后从第一个数字开始向后验证。
新知讲解
6、针对1到 100之间的任意整数,使用二分查找法,最多需要多少次查找 使用顺序查找法,最多需要多少次查找 哪种查找方法效率相对更高
答:在1到100之间的整数中使用二分查找法最多需要7次查找,这是因为每一次查找都会将待搜索范围减半,直到找到目标数字或者搜索区间缩小到为空。
在1到100之间的整数中使用顺序查找法最多需要100次查找。这是因为顺序查找法需要逐个地检查每个数字,直到找到目标数字或者搜索完整个范围。
因此,可以看出二分查找法的效率更高,因为它的时间复杂度为O(log n),而顺序查找法的时间复杂度为O(n)。在大部分情况下,当数据量较大时,二分查找法通常比顺序查找法更高效。
04、设计算法
新知讲解
1、二分查找法需要多次执行相似操作,因此,可以使用循环结构。另外,每次猜测后要判断猜测价格与实际价格的大小关系,需要使用选择结构。如下所示,中间值用变量 mid 表示。每次查找后,将 mid 与实际价格比对,若相等则查找成功:若mid大于实际价格,则在low到mid-1间继续查找:若mid小于实际价格则在mid+1到 high 间继续查找。
新知讲解
2、可以设置变量 i来统计查找次数,每次查找时 i加 1,查找完成后输出实际价格的值和查找次数。算法流程图如图 3-1-1 所示。
05、编写程序
新知讲解
1、用 Pvthon 编写如图 3-1-2 所示的程序。
新知讲解
2、猜到正确答案后,程序不再需要执行下一次循环。这时可以使用 break 语句,在循环条件仍然成立的情况下终止循环。
新知讲解
3、尝试画出顺序查找算法的流程图,写出相应程序,比较两种查找算法的不同
不同点:在大部分情况下,当数据量较大时,二分查找法通常比顺序查找法更高效。
06、运行、调试程序
新知讲解
1、随意设想一个1到 100 间的整数,运行程序,当计算机做出猜测后,告知计算机猜测结果与答案间的大小关系,重复 几次后计算机将猜出正确答案观察运行结果,分析程序有无错误。若有,尝试解决。
新知讲解
2、二分查找法要求待查找数据有序排列,但如果此条件不满足,就需要先排序再查找。上网学习并参考“知识链接”,了解冒泡排序法。
冒泡排序
1、从第一个元素开始,依次比较相邻的两个元素,如果顺序不对则交换它们。
2、继续对每一对相邻元素进行同样的操作,直到最后一对元素。
3、重复以上步骤,直到没有任何一对元素需要交换为止。
新知讲解
3、算法的效率
针对同一个问题,可以采用不同的算法。虽然不同算法得出的最后结果是相同的,但它们的效率却可能大不相同。例如,查找算法的效率取决于查找的次数。与顺序查找法相比,二分查找法的效率要高得多,但二分查找法必须基于有序排列的数据。对手查找规模(数据量) 较小的无序数据,顺序查找法也是一种常用的方法。
新知讲解
4、排序算法一冒泡法在日常生活中,除查找外,人们还会经常对数据进行排序,如将某班学生的总成绩从小到大排列。如何编程解决排序问题呢 这就需要设计比较好的算法目前,用于排序的算法有很多,它们的特点都不同。其中,冒泡法是一种经典的排序算法。冒泡法的思想是: 假设有从左到右排,列的n个数,将其从上到下排列。先从上到下依次比较相邻的两个数,使小的在上大的在下,那么第1回比较 n-1 次后,把最大数排到了最下面。第 2 回排序在前面的 n-1个数中进行,比较 n-2 次后把次大的数排到倒数第二位,依此类推,直到第 n-1 回排序将次小的数排到了第二位,剩下一个数不用比较,排序结束。算法的整体思路是逐次让大的数往下沉。而让小的数像气泡一样不断向上冒,所以该算法被形象地称为“冒泡法”。
新知讲解
5、例如,下面是对5个数 9、5、3、8、1进行排序的过程:第 1回排序的过程如下,一共进行 4 次比较,每次较大的数向下移动,第 1回排序结束后最大数9移动到最下面的位置,如图 3-1-4 所示
新知讲解
6、9的位置确定后,接下来对 5,3,8,1再进行排序,以此类推,各回排序的结果如图 3-1-5 所示:
新知讲解
7、第1回排序确定9的位置,第2回确定8的位置,第3回确定5的位置,第4回确定3的位置,还剩下1个数,不需要再排序,排序结束。
07、知识拓展
知识拓展
1、冒泡排序动图
知识拓展
2、我们还有哪些算法的手段:
①、图算法:包括最短路径算法(Dijkstra算法、Bellman-Ford算法)、最小生成树算法(Prim算法、Kruskal算法)等。
②、动态规划算法:如斐波那契数列求解、背包问题等。
③、贪心算法:如最小生成树算法中的Prim算法和Kruskal算法。
④、字符串匹配算法:如KMP算法、Boyer-Moore算法等。
知识拓展
3、什么是贪心算法:
①、贪心算法通常适用于满足"最优子结构"和"无后效性"两个条件的问题。最优子结构指问题的最优解可以通过其子问题的最优解求得;无后效性指某个阶段的状态一旦确定,就不受后续决策的影响。贪心算法的优点在于简单、高效。
知识拓展
4、我们要如何写一个好的算法:
①、可读性:良好的算法应该易于理解。代码的可读性对于维护和协作是非常重要的,因此选择清晰易懂的变量名、注释和代码结构是很有必要的。
②、可扩展性:好的算法应该具备一定的通用性,能够适应多种场景,并且便于拓展和修改。
07、课堂总结
课堂总结
通过让计算机猜价格课程,我们学会了计算机算法,探讨了它在现代科技中的重要性和应用。算法是一系列解决问题的清晰指令,它能够帮助计算机执行各种任务,从简单的排序到复杂的数据分析。希望能够继续对算法进行深入学习。
板书设计
让计算机猜价格
一、分析问题
二、设计算法
三、编写程序
四、运行、调试程序
课后作业
1、上网了解什么是算法
2、上网了解日常生活中有哪些算法
3、上网了解什么样的算法才是一个好的算法
谢谢
21世纪教育网(www.21cnjy.com)
中小学教育资源网站
兼职招聘:
https://www.21cnjy.com/recruitment/home/admin