资源简介 中小学教育资源及组卷应用平台《打印“九九乘法表”》教学设计课题 打印“九九乘法表” 单元 二单元 学科 信息技术 年级 九年级教材分析 《打印“九九乘法表”》这一课时教材编排了“打印输出五角星组成的图案,打印“九九乘法表”,编写程序,运行,调试程序,说说做做,知识链接和说说做做”的系列学习活动这一课旨在让学生了解循环语句,引导学生在编写代码时运用循环语句,进一步减轻代码的复杂性,这些学习对于初中学生来说是非常有必要的,不仅可以增加学生知识,同时也能增强计算机编程能力和科学思维,提高学生信息素养。教材编排合理,教学环节寓教于乐,贴近学生生活实际,符合九年级学生认知特点。。学习目标 信息意识:学习并掌握循环语句,能理解并且有效运用。数字化学习与创新:通过实践活动,学会运用循环语句打印“九九乘法表”,能够在实际情境下运用所学知识,解决实际问题。计算思维:具备用计算机编写程序解决问题的能力。信息社会责任:激发对计算机编程的兴趣和热情,将编程运用到生活中,锻炼自身的道德情操和品德修养,培养优秀的价值观和行为准则。重点 学习循环语句难点 将所学知识结合,编写代码教学过程教学环节 教师活动 学生活动 设计意图导入新课 1.导入:师: 通过前几个课时的学习,我们已经掌握了一些代码知识,我们今天将更深入学习循环语句,丰富代码知识,通过视频了解今天的知识内容,并进行本单元的内容闯关。 学生观看视频,提前知道本节课的学习内容 通过视频导入,引入本节课知识激发学生学习兴趣,调动积极性讲授新课 一、打印输出五角星组成的图案观察“九九乘法表”,如果把每一个算式视作一个五角星,那么乘法表可以简化成由五角星组成的三角形(如图所示)。根据活动四所学,可以按列输出这个三角形第1列输出9个五角星,第2列输出8个五角星······第9列输出1个五角星此外,还可以按行输出:第1行输出1个五角星,第 2行输出2个五角星··....第9行输出9个五角星。说说做做:编写程序,实现按行输出上述图案for i in range(4): for j in range(3-i):print(" ",end='') for j in range(2*i+1):print("*",end='') print()二、打印“九九乘法表”1.分析问题以按行的顺序来打印“九九乘法表”,也就是从第1行开始,输出每一行中所有算式直到输出第9行所有算式结束。其中,每一行输出算式数量是逐渐增加的。第 1行有1个算式,第2行有2个算式··...·第9行有9个算式。2.设计算法要解决这个问题,可以设计有两个循环结构的算法: 第一个循环结构负责使行数递增:第二个循环结构负责依次输出某行的所有算式。我们把这种结构称为循环嵌套。如果使用while 语句表示,结构如下:再来观察算式的变化规律。设行数为 row,列数为 col,算式的被乘数与算式所在的列数相同,乘数与所在的行数相同,即每个算式可表为:col x row。每一行最后一个算式的乘数与被乘数相同两个循环结构的条件:条件1:行数 row从1递增到9。条件2:每行算式列数 col从1递增到 row。用流程图表示算法说说做做:for i in range(1,10): for j in range(1,i+1): print(“{}*{}={}”.format(j,i,i*j),end=" ") print ()如果按列打印“九九乘法表”,你能找出每列算式的规律吗 尝试用自然语言或流程图描述其算法。三、编写程序提示板:1. print0 函数输出时默认是换行的。end="t"表示在末尾输出一个制表符,使输出的文本在垂直方向保持对齐说说做做:1.如果在程序中删除语句 end="\t",会对程序执行结果产生什么影响 2.如果把语句 print和row=row+1 顺序对调,会出现什么结果 1.end="\t"表示在末尾输出一个制表符,使输出的文本在垂直方向保持对齐,如果去掉输出的乘法表就无法垂直对齐。2.把语句 print()和 rw=row+1 顺序对调,程序不会自动换行而且编写会提前结束四、运行,调试程序运行、调试程序,观察运行结果,分析程序有无错误。若有,尝试解决.知识链接 Python 中的占位符 占位符,顾名思义就是插在输出里占位的符号。%d是整数型(int)占位符,既可以表示整数 int,也可以表示浮点数 float(去除整数部分)。%s 是字符串型 (str)占位符,既可以表示字符串 str,也可以表示整数 int和浮点数 float。%of是浮点型(float)占位符,既可以表示浮点数 float,也可以表示整数 int(默认保留6位小数)。 知识链接 Python 中的输出换行与不换行1.print0函数的输出是默认换行的按行打印“九九乘法表时,除了第 1行打印 1个算式外,其他每行都需要至少打印 2 个算式再换行。通过设置函数 print0 的参数 end,就可以解决换行问题。2.设置 end=",",输出的元素用逗号间隔3.设置end="",输出的元素用空格间隔4.除了换行设置,还可以设置 end="t”"t”是制表符,这样输出元素在垂直方向保持对齐。这样“乘法表”中的算式可以像在表格中一样按列对齐。5.当一行输出结束,再使用 print0 进行换行说说做做:1.将程序中的 while 循环修改成 for 循环。2.如果需要一次打印多张“九九乘法表”,则该如何修改程序 答:1.for i in range(1, 10): for j in range(1, i+1): print('{} * {} = {}'.format(j, i, i*j), end='\t') print()2.import mathdef print_table(): for i in range(10): table = [] for j in range(i+1): result = str(j) + " × " + str(i-j+1) + " = " + str((j)*(i-j+1)) table.append(result) # 输出每张表格 for row in table: print("{:<2}".format(row), end="\t") print() print_table()知识链接 自定义函数自定义函数的语法格式如下:def 函数名(参数): 函数体解决打印“九九乘法表”问题时,可以自定义“九九乘法表”函数:>>> def 九九乘法表(): row=1 while row<=9: co1=1 while col<=row:print("%dx%d=%d"%(col,row,col*row),end="\t”) co1=co1+1print()row=row+1调用函数:在 Python 中直接输入函数名即可执行该函数如果我们想连续 3 次输出“乘法表”,可以用一个循环,直接调用该函数而不必复制3 次同样的代码。单元挑战下列活动按能力要求分成三类,请从这三类活动中依次各选一项去挑战,并按照完成的情况给自己加星。 1.选择一种程序设计语言,通过网上学习,了解这种程序设计语言产生、发展的历史与过程。C语言及其发展史C 语言的诞生C语言是由美国计算机科学家丹尼斯·里奇(Dennis Ritchie)在20世纪70年代初设计和开发的一种高级编程语言。起初,C语言是用来开发UNIX操作系统的工具,但随着时间的推移,它逐渐发展成为一种通用的编程语言。发展过程:诞生阶段:在1972年至1973 年期间,丹尼斯·里奇在贝尔实验室为开发UNIX操作系统而设计了C语言。他基于早期的编程语言B语言进行了改进,并最终形成了C语言的雏形标准化阶段:C语言的设计受到了许多计算机科学家的关注,逐渐在学术界和工业界流行起来。为了统一C语言的规范,ANSI( American National Standards Institute)于1983 年成立了一个委员会,负责制定C语言的标准.发展阶段:C语言的标准化过程于1989 年完成,该标准被称为ANSI C。此后,C 语言在各个操作系统和计算机平台上得到广泛应用。在20世纪90年代,C++语言的出现进一步推动了 C语言的发展,使得C语言成为一种更加强大和灵活的编程语言现代应用:C语言在嵌入式系统、操作系统、编译器、数据库网络编程等领域被广泛使用。它具有高效、可移植、灵活、易学易用等特点,成为了很多计算机科学专业的教学语言.2.试编写一个程序,输入正方形的边长,输出正方形的周长和面积1.从键盘上输入小时、分和秒,把它们转换为总秒数并输出2.尝试编程绘制更多有规律的几何图形。3.尝试用计算机写带横批的春联分别用 while 和 for 语句编写程序,计算 s=1+2+3+4+···+100。编写一个让用户做加法测试题的程序知识拓展:用户决定花瓣数from turtle import *pencolor("purple")pensize(2)n=int(numinput("花瓣数","请输入花瓣数:"))for i in range(n): circle(100) left(360/n)作业布置 请同学们运用循环语句编写感兴趣的图形代码,完成单元挑战的内容。 学生理解、思考自主学习反复探索自主学习,知识拓展,更准确理解课堂内容。Python基础知识拓展,学生理解并学习举一反三,学以致用单元学习总结,将本单元学习的东西结合运用起来。 将计算机与数学生活联系在一起让学生在反复探索尝试的过程中训练思维方式,理解变量可控的重复执行让学生体验Python 编程的强大功能,初步感受用编程技术驾驭计算机高效解决问题。能够更好地掌握python知识和更熟练运用。通过结合所学知识完成练习,拓展延伸学生知识,增加学生知识技能学生巩固复习知识,学以致用。课堂练习 完成书上的说说做做 学生完成课堂练习 巩固所学知识课堂小结 学习了循环语句学会运用循环语句打印“九九乘法表”复习整合单元内容,梳理所学知识 学生总结本节课的学习内容 总结概括本节课的学习知识内容板书 一、打印输出五角星组成的图案二、打印“九九乘法表”三、编写条件结构的程序四、运行,调试程序21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)HYPERLINK "http://www.21cnjy.com/" 21世纪教育网(www.21cnjy.com)(共50张PPT)《体验Python一程序与程序设计语言编程》活动五:打印“九九乘法表”沪教版 九年级上册内容总览学习目标01新知导入02打印输出五角星组成的图案03打印“九九乘法表”04目录05编写程序06运行、调试程序09071008课堂总结知识链接单元挑战课后作业教学目标1.信息意识:学习并掌握循环语句,能理解并且有效运用。2.数字化学习与创新:通过实践活动,学会运用循环语句打印“九九乘法表”,能够在实际情境下运用所学知识,解决实际问题。3.计算思维:具备用计算机编写程序解决问题的能力。4.信息社会责任:激发对计算机编程的兴趣和热情,将编程运用到生活中,锻炼自身的道德情操和品德修养,培养优秀的价值观和行为准则。新知导入观看用python“打印”九九乘法表“的视频 ,你感悟到了什么?新知导入通过上一个活动,我们已经学习了循环输出字符,逐列打印古诗。本活动我们将学习利用循环语句,来实现打印“九九乘法表”打印输出五角星组成的图案观察“九九乘法表”,如果把每一个算式视作一个五角星,那么乘法表可以简化成由五角星组成的三角形(如图所示)。根据活动四所学,可以按列输出这个三角形第1列输出9个五角星,第2列输出8个五角星······第9列输出1个五角星。说说做做编写程序,实现按行输出上述图案。for i in range(4):for j in range(3-i):print(" ",end='')for j in range(2*i+1):print("*",end='')print()打印“九九乘法表”以按行的顺序来打印“九九乘法表”,也就是从第1行开始,输出每一行中所有算式直到输出第9行所有算式结束。其中,每一行输出算式数量是逐渐增加的。第 1行有1个算式,第2行有2个算式··...·第9行有9个算式。1.分析问题打印“九九乘法表”设计有两个循环结构的算法: 第一个循环结构负责使行数递增:第二个循环结构负责依次输出某行的所有算式。我们把这种结构称为循环嵌套。如果使用while 语句表示,结构如下:2.设计算法while 条件1:while 条件2:打印“九九乘法表”设行数为 row,列数为 col,算式的被乘数与算式所在的列数相同,乘数与所在的行数相同,即每个算式可表为:colxrow。每一行最后一个算式的乘数与被乘数相同两个循环结构的条件:2.设计算法条件1:行数 row从1递增到9。条件2:每行算式列数 col从1递增到 row。打印“九九乘法表”开始row=1col<=row col=col+1结束row=row+1是否col=1输出乘法算式用流程图描述算法row<=9 是否说说做做如果按列打印“九九乘法表”你能找出每列算式的规律吗 尝试用自然语言或流程图描述其算法。说说做做for i in range(1,10):for j in range(1,i+1):print(“{}*{}={}”.format(j,i,i*j),end=" ")print ()row=1while row<=9: #条件1: 行数row从1递增到9co1=1while col<=row #条件2:每行算式列数从co1递增到rowprint("%dx%d=%d"%(co1,row,co1*row),end="\t)co1=co1+1print()row=row+1编写程序用python编写如下程序编写程序提示板:1. print0 函数输出时默认是换行的。2.end=“t”表示在末尾输出一个制表符,使输出的文本在垂直方向保持对齐。说说做做1.如果在程序中删除语句 end=“\t”,会对程序执行结果产生什么影响 2.如果把语句 print()和 row=row+1 顺序对调,会出现什么结果 说说做做1.end=“\t"表示在末尾输出一个制表符,使输出的文本在垂直方向保持对齐,如果去掉输出的乘法表就无法垂直对齐。2.把语句 print()和 row=row+1 顺序对调,程序不会自动换行而且编写会提前结束.知识链接知识链接 Python 中的占位符占位符,顾名思义就是插在输出里占位的符号。%d是整数型(int)占位符,既可以表示整数 int,也可以表示浮点数 float(去除整数部分)。%s 是字符串型 (str)占位符,既可以表示字符串 str,也可以表示整数 int和浮点数 float。%of是浮点型(float)占位符,既可以表示浮点数 float,也可以表示整数 int(默认保留6位小数)。运行,调试程序运行、调试程序,观察运行结果,分析程序有无错误。若有,尝试解决row=1while row<=9: #条件1: 行数row从1递增到9co1=1while col<=row #条件2:每行算式列数从co1递增到rowprint("%dx%d=%d"%(co1,row,co1*row),end="\t")co1=co1+1print()row=row+1知识链接知识链接 Python 中的输出换行与不换行print0函数的输出是默认换行的,例如:>>>for i in range(5):print(1)01234>>>知识链接按行打印“九九乘法表时,除了第 1行打印 1个算式外,其他每行都需要至少打印 2 个算式再换行。通过设置函数 print0 的参数 end,就可以解决换行问题。例如,设置 end=",",输出的元素用逗号间隔.>>>for i in range(5):print(1,end=”,”)0,1,2,3,4>>>知识链接设置end="",输出的元素用空格间隔>>>for i in range(5):print(1,end=” ”)0 1 2 3 4>>>知识链接除了换行设置,还可以设置 end="t””t”是制表符,这样输出元素在垂直方向保持对齐。这样“乘法表”中的算式可以像在表格中一样按列对齐。0print(“%dx%d=%d”%(co1,row,co1*row),end=”\t”)知识链接当一行输出结束,再使用 print0 进行换行.0说说做做1.将程序中的 while 循环修改成 for 循环。2.如果需要一次打印多张“九九乘法表”,则该如何修改程序 说说做做for i in range(1, 10):for j in range(1, i+1):print('{} * {} = {}'.format(j, i, i*j), end='\t')print()将程序中的 while 循环修改成 for 循环。说说做做import mathdef print_table():for i in range(10):table = []for j in range(i+1):result = str(j) + " × " + str(i-j+1) + " = " + str((j)*(i-j+1))table.append(result)# 输出每张表格for row in table:print("{:<2}".format(row), end="\t")print()print_table()一次打印多张“九九乘法表”知识链接知识链接 自定义函数在开发程序时,使用函数可以提高编写的效率以及代码的重用。在前面的活动中,我们已经使用了很多Python 的内置函数,如range0、print0。内置函数是Python 已经事先创建好,可以直接使用的函数。除了使用内置函数,我们也可以根据需要,自己创建函数,即自定义函数。知识链接知识链接 自定义函数自定义函数的语法格式如下:def 函数名(参数):函数体知识链接解决打印“九九乘法表”问题时,可以自定义“九九乘法表”函数:>>> def 九九乘法表():row=1while row<=9:co1=1while col<=row:print("%dx%d=%d"%(col,row,col*row),end="\t”)co1=co1+1print()row=row+1知识链接调用函数:在 Python 中直接输入函数名即可执行该函数知识链接如果我们想连续 3 次输出“乘法表”,可以用一个循环,直接调用该函数而不必复制3 次同样的代码>>> for i in range(3):九九乘法表()print()单元挑战1.选择一种程序设计语言,通过网上学习,了解这种程序设计语言产生、发展的历史与过程。2.试编写一个程序,输入正方形的边长,输出正方形的周长和面积.下列活动按能力要求分成三类,请从这三类活动中依次各选一项去挑战,并按照完成的情况给自己加星。单元挑战1.选择一种程序设计语言,通过网上学习,了解这种程序设计语言产生、发展的历史与过程。C语言及其发展史C 语言的诞生C语言是由美国计算机科学家丹尼斯·里奇(Dennis Ritchie)在20世纪70年代初设计和开发的一种高级编程语言。起初,C语言是用来开发UNIX操作系统的工具,但随着时间的推移,它逐渐发展成为一种通用的编程语言。单元挑战1.选择一种程序设计语言,通过网上学习,了解这种程序设计语言产生、发展的历史与过程。发展过程:诞生阶段:在1972年至1973 年期间,丹尼斯·里奇在贝尔实验室为开发UNIX操作系统而设计了C语言。他基于早期的编程语言B语言进行了改进,并最终形成了C语言的雏形标准化阶段:C语言的设计受到了许多计算机科学家的关注,逐渐在学术界和工业界流行起来。为了统一C语言的规范,ANSI( American National Standards Institute)于1983 年成立了一个委员会,负责制定C语言的标准.单元挑战1.选择一种程序设计语言,通过网上学习,了解这种程序设计语言产生、发展的历史与过程。发展阶段:C语言的标准化过程于1989 年完成,该标准被称为ANSI C。此后,C 语言在各个操作系统和计算机平台上得到广泛应用。20世纪在90年代,C++语言的出现进一步推动了 C语言的发展,使得C语言成为一种更加强大和灵活的编程语言。现代应用:C语言在嵌入式系统、操作系统、编译器、数据库网络编程等领域被广泛使用。它具有高效、可移植、灵活、易学易用等特点,成为了很多计算机科学专业的教学语言。单元挑战2.试编写一个程序,输入正方形的边长,输出正方形的周长和面积a =float(input("请输入正方形边长:"))#获取用户输入的边长,并转换成浮点类p=4*a# 计算正方形的周长s= a ** 2# 计算正方形的面积,**表示求幂运算print("该正方形的周长为: [:.2f)".format(p)) # 输出周长,保留两位小数print("该正方形的面积为: {:.2f)".format(s)) # 输出面积,保留两位小数单元挑战1.从键盘上输入小时、分和秒,把它们转换为总秒数并输出。2.尝试编程绘制更多有规律的几何图形。3.尝试用计算机写带横批的春联。单元挑战1.从键盘上输入小时、分和秒,把它们转换为总秒数并输出from datetime import timedeltadef convert_to_seconds(hours=0, minutes=0, seconds=0):total_time = timedelta(hours=hours, minutes=minutes, seconds=seconds)return int(total_time.total_seconds())# 测试样例print(convert_to_seconds(1, 30, 45)) # 输出结果为 5295单元挑战2.尝试编程绘制更多有规律的几何图形。绘制三角形单元挑战3.尝试用计算机写带横批的春联单元挑战1.分别用 while 和 for 语句编写程序,计算 s=1+2+3+4+···+100。2.编写一个让用户做加法测试题的程序。单元挑战1.分别用 while 和 for 语句编写程序,计算 s=1+2+3+4+···+100。while程序编写:i=0sum = 0while i <= 100sum += ii += 1print("1 + 2 + 3 + ...... + 100 = %d" % sum)for程序编写:sum = 0for i in range(1, 101)sum += iprint("1 + 2 + 3 + ...... + 100 = %d" % sum)单元挑战2.编写一个让用户做加法测试题的程序。知识链接知识拓展:用户决定花瓣数知识链接知识拓展:用户决定花瓣数from turtle import *pencolor("purple")pensize(2)n=int(numinput("花瓣数","请输入花瓣数:"))for i in range(n):circle(100)left(360/n)课堂总结1.学习了循环语句;2.学会运用循环语句打印“九九乘法表”;3.复习整合单元内容,梳理所学知识。作业布置请同学们运用循环语句编写感兴趣的图形代码,完成单元挑战的内容。谢谢21世纪教育网(www.21cnjy.com)中小学教育资源网站兼职招聘:https://www.21cnjy.com/recruitment/home/admin 展开更多...... 收起↑ 资源列表 《打印“九九乘法表”》教学设计.doc 打印九九乘法表.mp4 活动五:打印“九九乘法表”.pptx