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

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

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

资源简介

(共20张PPT)
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!
感谢观看

展开更多......

收起↑

资源预览