ID: 18224245

2.4可以复用的代码 课时1 课件(共20张PPT) 2023—2024学年教科版(2019)高中信息技术必修1

日期:2024-11-30 科目:信息技术 类型:高中课件 查看:70次 大小:3408429B 来源:二一课件通
预览图 1/9
信息技术,高中,2019,教科,学年,2024
  • cover
(课件网) 2.4可以复用的代码 (第1课时) 思考 用火柴棒来表示数字0~9,每一个数字分别需要几根火柴棒? 数字 0 1 2 3 4 5 6 7 8 9 火柴棒数量 6 2 5 5 4 5 6 3 7 6 ? 活动1 如何计算一个数需要多少根火柴棒? 1 2 有6根火柴棒,列出所有能摆出的自然数 0,6,9,14,77,111 如何利用计算机程序找到这些数字呢? ? 分析问题 要找到这些数字,可以从0~111依次判断这些数是不是恰巧需要6根火柴棒。 由下图可知,在0~9这十个数字中,数字“1”需要的火柴棒最少,因此6根火柴棒可以摆出的最大数是111。 活动1 如何计算一个数需要多少根火柴棒? 数字 0 1 2 3 4 5 6 7 8 9 火柴棒数量 6 2 5 5 4 5 6 3 7 6 ? 活动1 如何计算一个数需要多少根火柴棒? 设计算法 判断数字是否符合要求 判断的数字区间 ? 活动1 如何计算一个数需要多少根火柴棒? 设计算法 1.将这个数除以10取余,求得个位数 2.将这个数除以10取整,去掉个位数 3.重复以上步骤,直到这个数为0 求解一个数各个数位上的数字,怎么做? ? 活动1 如何计算一个数需要多少根火柴棒? 设计算法 以104为例 104%10=4 104//10=10 求得个位数 去掉个位数 ? 活动1 如何计算一个数需要多少根火柴棒? 编写代码 f = [6,2,5,5,4,5,6,3,7,6] num = int(input(“请输入0-111之间的任意数字”)) while(num>0): x = num%10 total = total + f[x] num = num//10 ? 活动2 完善程序实现问题解决 如果遇到一个需求多次出现,可以借用函数来解决问题,编写一个自定义函数,“一个数字需要多少根火柴棒”的问题可以通过函数计算来实现。那么如何编写函数呢? 。 知识点1 函数 系统函数:函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编制好的程序。 例如: input()函数 print()函数 用户自定义函数:用户自己编写的一段程序 函数的基本格式: def 函数名(参数): #函数说明 语句或语句组 return 返回值 。 知识点1 函数 def 函数名(参数): #函数说明 语句或语句组 return 返回值 参数是用来向函数传递值的,当有多个参数时,各个参数之间用逗号分隔开。 函数执行完成后,由return语句将表达式值返回给调用者,结束函数。 。 知识点1 函数 def facrorial(n): #求n! s=1 for i in range(2,n+1): s=s*i return s #调用factorial函数 total=factorial(4) print(total) 例如:用函数来求n! ? 活动2 完善程序实现问题解决 设计算法 主程序部分: ? 活动2 完善程序实现问题解决 编写代码 主程序: sum=6 #6根火柴棒 print(“你可以拼出这些数字:”) for i in range(112): if match_num(i)==snum: print(i) #如果i需要的火柴棒等于现有火柴棒数 ? 活动2 完善程序实现问题解决 设计算法 函数部分 ? 活动2 完善程序实现问题解决 编写代码 函数部分: def Match_num(num): f=[6,2,5,5,4,5,6,3,7,6] #0~9分别需要多少根火柴棒 if num==0: #将火柴棒总数变量赋初值 total=f[0] else: total = 0 while (num>0): x = num%10 #取num除以10的余数,即num的个位数 total = total+f[x] #所需火柴棒数累加 num = num//10 #num整除10,即去掉num的个位数 return total #返回需要多少根火柴棒数 . 练一练 下列代码的输出结果是 ? def sum(a,b): c=a+b return c print(sum(4,5)) s W O T 9 . 课堂小结 火柴棒的算法解析 函数定义及作用 函数的流程图 . 作业 编写函数求解1!+2!+……10! 感谢观看 ... ...

~~ 您好,已阅读到文档的结尾了 ~~