第5单元第13节 义卖竞价(二)——擂台算法 课件(25张PPT)+教案

资源下载
  1. 二一教育资源

第5单元第13节 义卖竞价(二)——擂台算法 课件(25张PPT)+教案

资源简介

中小学教育资源及组卷应用平台
湘教版信息技术八年级上册《义卖竞价(二)——擂台算法》教学设计
课题 义卖竞价(二)——擂台算法 单元 第五单元 学科 信息技术 年级 八年级
学习 目标 掌握使用分割函数进行数据拆分的方法。 能够运用擂台算法找最值。 善于分解复杂问题,提高分析问题、解决问题的自信心和条理性;增强参与团队讨论的能力
重点 1、掌握使用分割函数进行数据拆分的方法。 2、能够运用擂台算法找最值。
难点 擂台算法的实际应用
教学过程
教学环节 教师活动 学生活动 设计意图
导入新课 1、教师:同学们在义卖中,每次竞价的人数一定是确定的吗? 指名学生回答问题。 教师:没错,不确定。 教师:像上节课那样设置确定的a、b、c三个变量的程序显然是不能满足实际需要的另外,我们能不能完善程序,使程序能输入和输出优胜者的姓名和出价呢?说说你的想法。 学生思考并组内交流,进入今天的新课题。 邀请学生回答问题。 教师:这节课我们就来学习可以找出多个数据中最大值的擂台算法,以及同时输出优胜者姓名和出价的方法。 通过案例和教师提问,学生自主思考问题。 引入案例有助于提高学生兴趣,帮助学生理解学习任务,引导学生思考。
讲授新课 一、算法描述及流程图 1、构建循环结构 教师提问:随着问题复杂度的增加,我们需要将问题进行拆解细化。细化的原则是将问题拆解为不可再分的小问题然后分别实现。你会如何构建循环结构呢? 学生思考并组内交流。 指名学生回答问题。 教师总结: (1)确定循环次数。 (2)确定循环体有哪些操作。 2、画流程图 教师:我们已经掌握了三个数据比较大小的表达式构建和选择结构的写法。现在要扩展到多人,其算法跟三人竞价相似,多人竞价的关键,就是重复的比较过程。与打擂台很相似,留在台上的是胜者。我们可以根据输入的人数,构建循环结构,从而找到最髙的价格。假设我们先不实现输入输出优胜者的“姓名、价格”的功能,只描述一个多人竞价找出最高出价的算法,请同学们画出流程图。(提示:构建循环结构,人数可设置为n) 学生自主思考并画流程图。教师巡视。 教师总结: 二、数据的拆分与提取 教师提问:程序要求不仅能够比较出价大小,还要能够显示出价者姓名。这就需要在输入数据后,把“姓名、价格”信息提取出来,分别存储到不同的变量中。我们可以使用什么函数呢? 学生自主思考,组内交流。 指名学生回答问题。 老师总结:分割函数,Python语言中用于字符串分割的函数——split( )。 1、分割函数 split( ) 例如: 任务:写一写分割结果,并和同桌讨论结果。 指名学生回答问题。 教师讲解: 教师总结:该语句被执行时,“shu”变量中存储的字符串,只要遇到“5”,就会被分隔,该字符串中的数据会被分割为“12”,“4”,“678”,“6”等新的字符串。分割出来的子串被依次保存在以x变量名开头的若干个位置中,如“12”被保存在x[0]中,“4”被保存在x[1]中,按照顺序依次往后排。其中每一个都可以看作单独的字符串类型变量。 2、数据拆分 教师讲解:如果,我们输入时用空格来分割“姓名”和“价格”,那么,使用分割函数拆分后,第1个数据为姓名,而第2个数据则为出价。输入数据的存储变量定义为 “indata”,存储拆分后数据的变量名字定义为“slt”,拆分出来的姓名最后存储在变量“name”中,存储最大值的变量定义为“ maxmark”。 变量定义可依据个人习惯,直观简洁为好 数据拆分语句: 教师提问:根据刚刚学习的知识,和同桌互相说一说框内代表的含义。 学生自主思考并和同桌交流。 指名学生回答问题。 教师总结: 3、合作探究 和同桌讨论一下,如果老师在这个程序里面输入“张朵朵 95”,姓名和价格的数据会被空格拆分,“张朵朵 ”被保存在哪里?“95”被保存在哪里? 学生自主思考3分钟,指名学生回答问题。 教师总结:“张朵朵 ”被保存在slt[0],“95”被保存在slt[1]。 三、程序的实现 1、编写程序 任务:依据自己完善的算法流程,完成程序的编写工作。仔细阅读表中的程序,用简练的语言解释每一条语句的含义。 学生完善流程,并写出语句含义,教师巡视。 指名学生回答语句含义。 教师总结: 2、程序测试 任务:设计一组测试数据,在 Python环境中,测试该程序是否能够实现任意数量的人参与竞价。 四、合作探究 请同学们参考流程图和所学知识,编写程序——学校举行运动会,其中1500米有50位选手参与,请帮忙计算出第一名。 小组内交流解决,并试着输入电脑进行实操。教师巡视。 五、知识拓展 逻辑运算与关系运算相似,运算结果也是逻辑值Tue或者 False,但运算的参与量是逻辑值。逻辑运算的本质操作是将两个关系连接在一起产生一个结果的逻辑值。常用的逻辑运算符有三种,它们是and(逻辑与)or(逻辑或)、not(逻辑非)。 and:当表达式同时满足两个条件时,逻辑运算的结果为真。 or:当表达式满足两个条件中的一个或两个时,逻辑运算的结果为真。 not:对逻辑值取反。 六、课堂练习 1、设计一个程序:随机生成N个随机整数(范围自定),并求出最大值、最小值和比平均值大的值。 学生思考,组内交流,用自然语言描述如何构建循环结构。 教师总结,学生认真听讲。 小组讨论,画出流程图。 教师总结,学生认真听讲。 教师提问,学生思考,指名学生回答问题。教师讲解,学生认真听讲。 教师提问,学生自主思考并交流,指名学生回答问题。教师讲解,学生认真听讲。 教师讲解——数据拆分,学生认真听讲。 学生自主思考并交流,指名学生回答问题。教师总结,学生认真听讲。 教师提问,学生自主思考并交流,指名学生回答问题。教师总结,学生认真听讲。 学生思考并交流,指名学生回答问题。教师讲解,学生认真听讲。 学生自主思考并在组内交流实操。教师巡视。 学生利用所学知识,完成任务。教师巡视。 学生学习拓展知识。 通过教师提出的疑问,进入课堂,引发学生的学习兴趣。教师总结,有利于学生知识的巩固。 给出解题提示,让学生自行探索解决问题的方法,降低走弯路的几率;通过小组讨论,激发学生的求知欲。 教师讲解,使学生更进一步巩固知识。 通过教师提出的问题,学生进一步思考,有利于提高学生思考能力。教师讲解,使学生更进一步巩固知识。 通过教师提问,引导学生思考,提高学生的思考能力和团队合作能力。教师讲解,有利于学生巩固知识。 通过教师讲解,使学生更进一步巩固知识。 讲解后提出问题,有利于知道学生的学习情况。教师讲解,使学生更进一步巩固知识。 通过提问,使学生更进一步吸收本课知识。 通过教师提问,学生进行自主思考,有利于提高学生的思考能力。指名学生回答问题。教师总结有利于学生巩固知识。 通过让学生进行实操。有利于本课知识的学习和吸收。 通过教师提问,学生先自主思考问题,后小组内交流,并实操。有利于学生对本课知识的巩固。 拓展思维,培养学生学习的精神
课堂小结 梳理本节课的知识点,完成学习目标,培养学生总结概况能力。
板书设计
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)(共27张PPT)
义卖竞价(二)——擂台算法
湘教版 八年级上
新知导入
在义卖中,每次竞价的人数一定是确定的吗?
不确定
新知导入
像上节课那样设置确定的a、b、c三个变量的程序显然是不能满足实际需要的另外,我们能不能完善程序,使程序能输入和输出优胜者的姓名和出价呢?说说你的想法。
这节课我们就来学习可以找出多个数据中最大值的擂台算法,以及同时输出优胜者姓名和出价的方法。
一、算法描述及流程图
新知讲解
1.构建循环结构
随着问题复杂度的增加,我们需要将问题进行拆解细化。细化的原则是将问题拆解为不可再分的小问题然后分别实现。你会如何构建循环结构呢?
组内交流
(1)确定循环次数。
(2)确定循环体有哪些操作。
一、算法描述及流程图
新知讲解
1.构建循环结构
一、算法描述及流程图
新知讲解
2.画出流程图
我们已经掌握了三个数据比较大小的表达式构建和选择结构的写法。现在要扩展到多人,其算法跟三人竞价相似,多人竞价的关键,就是重复的比较过程。与打擂台很相似,留在台上的是胜者。我们可以根据输入的人数,构建循环结构,从而找到最髙的价格。假设我们先不实现输入输出优胜者的“姓名、价格”的功能,只描述一个多人竞价找出最高出价的算法,请同学们画出流程图。(提示:构建循环结构,人数可设置为n)
一、算法描述及流程图
新知讲解
尝试画出
流程图
程序要求不仅能够比较出价大小,还要能够显示出价者姓名。这就需要在输入数据后,把“姓名、价格”信息提取出来,分别存储到不同的变量中。我们可以使用什么函数呢?
二、数据的拆分与提取
新知讲解
分割函数,Python语言中用于字符串分割的函数——split( )。
组内交流
1. 分割函数 split( )
格式:字符串类型变量1=字符串类型变量.split(“分割字符串”)
字符串类型变量是指任意存储字符串的变量名
分割字符串是指用来分割“字符串类型变量”中字符串的具体“字符”。
新知讲解
二、数据的拆分与提取
1. 分割函数 split( )
合作探究
二、数据的拆分与提取
变量名 储存内容
X[0] 12
X[1] 4
X[2] 678
X[3] 6
写一写分割结果,并和同桌讨论结果。
shu=“1254567856”
x= shu. split(“5”)
变量名 储存内容
1. 分割函数 split( )
shu=“1254567856”
x= shu. split(“5”)
新知讲解
二、数据的拆分与提取
该语句被执行时,“shu”变量中存储的字符串,只要遇到“5”,就会被分隔,该字符串中的数据会被分割为“12”,“4”,“678”,“6”等新的字符串。分割出来的子串被依次保存在以x变量名开头的若干个位置中,如“12”被保存在x[0]中,“4”被保存在x[1]中,按照顺序依次往后排。其中每一个都可以看作单独的字符串类型变量。
2.数据拆分
如果,我们输入时用空格来分割“姓名”和“价格”,那么,使用分割函数拆分后,第1个数据为姓名,而第2个数据则为出价。输入数据的存储变量定义为 “indata”,存储拆分后数据的变量名字定义为“slt”,拆分出来的姓名最后存储在变量“name”中,存储最大值的变量定义为“ maxmark”。
新知讲解
二、数据的拆分与提取
变量定义可依据个人习惯,直观简洁为好
2.数据拆分
sIt=indata.split(“”)
name=sIt[0]
maxmark=slt[1]
新知讲解
二、数据的拆分与提取
数据拆分语句
sIt=indata.split(“”)
name=sIt[0]
maxmark=slt[1]
合作探究
存储拆分后数据的变量
存储输入数据的变量
存储拆分出来的姓名的变量
存储最大值的变量
根据刚刚学习的知识,和同桌互相说一说框内代表的含义。
sIt=indata.split(“”)
name=sIt[0]
maxmark=slt[1]
合作探究
“张朵朵 ”被保存在slt[0],“95”被保存在slt[1]。
和同桌讨论一下,如果老师在程序里面输入“张朵朵 95”,姓名和价格的数据会被空格拆分,“张朵朵 ”被保存在哪里?“95”被保存在哪里?
1.编写程序
三、程序的实现
依据自己完善的算法流程,完成程序的编写工作。仔细阅读表中的程序,用简练的语言解释每一条语句的含义。
新知讲解
程序代码 语句含义
n=int(input(“参与竟价人数:”))
indata= input(“姓名和出价:”)
slt= indata.split(“”)
name=slt[0]
maxmark=float(slt[I] )
for i in range(2,n+ 1):
1.编写程序
三、程序的实现
依据自己完善的算法流程,完成程序的编写工作。仔细阅读表中的程序,用简练的语言解释每一条语句的含义。
新知讲解
程序代码 语句含义
indata= input(“姓名和出价:”)
sIt=indata split(“”)
mark=float(slt[1])
if(mark>maxmara):
maxmark= mark
name=slt[0]
print(name,“”,maxmark)
新知讲解
程序代码 语句含义
n=int(input(“参与竟价人数:”)) 竞价人数转化为整数型
indata= input(“姓名和出价:”) 设置输入变量
slt= indata.split(“”) 用空格分割姓名和出价
name=slt[0] 姓名储存在变量name
maxmark=float(slt[I] ) 价格数值转化为浮点型,最大值储存在变量 maxmark
for i in range(2,n+ 1): 设置循环次数
语句
含义
程序代码 语句含义
indata= input(“姓名和出价:”) 循环结构中的输入变量
sIt=indata split(“”) 循环结构中的分割函数 split( )
mark=float(slt[1]) 价格数值转化为浮点型,每次比较的值存储在变量mark
if(mark>maxmara): 如果mark的值大于 maxmark
maxmark= mark 则把mark的值赋给 maxmark
name=slt[0] 且姓名储存在变量name
print(name,“”,maxmark) 输出最终优胜者的姓名和出价
新知讲解
语句
含义
设计一组测试数据,在 Python环境中,测试该程序是否能够实现任意数量的人参与竞价。
2.程序测试
三、程序的实现
新知讲解
小组内交流解决,并试着输入电脑进行实操。
请同学们参考流程图和所学知识,编写程序——学校举行运动会,其中1500米有50位选手参与,请帮忙计算出第一名。
合作探究
逻辑运算与关系运算相似,运算结果也是逻辑值Tue或者 False,但运算的参与量是逻辑值。逻辑运算的本质操作是将两个关系连接在一起产生一个结果的逻辑值。常用的逻辑运算符有三种,它们是and(逻辑与)or(逻辑或)、not(逻辑非)。
and:当表达式同时满足两个条件时,逻辑运算的结果为真。
or:当表达式满足两个条件中的一个或两个时,逻辑运算的结果为真。
not:对逻辑值取反。
逻辑运算
合作探究
课堂练习
设计一个程序:随机生成N个随机整数(范围自定),并求出最大值、最小值和比平均值大的值。
擂台算法
算法描述及流程图
1.构建循环结构
2.画出流程图
数据的拆分与提取
1.分割函数split( )
2.数据拆分
程序的实现
编写/测试程序
课堂总结
板书设计
擂台算法
算法描述及流程图
1.构建循环结构
2.画出流程图
数据的拆分与提取
1.分割函数split( )
2.数据拆分
程序的实现
编写/测试程序

展开更多......

收起↑

资源列表