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

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

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

资源简介

(共16张PPT)
可以复用的代码
(函数和模块)
函数
系统函数
用户自定义函数
例:
函数名遵循变量名规则
有无参数都要加小括号
冒号结尾做生面执行命令
自定义函数的关键词
有无返回值跟函数有关
自定义函数内容函数体
def 函数名(参数)
#函数说明
语名或语句组
return 返回值
def add(x,y):
z=x+y
return z
例:
自定义函数
调用自定义函数
a=add(3,4)
print(a)
print(add(3,4))
1
2
求以下多边形的面积(自定义函数的应用)
题:
海伦公式:
a,b,c为三角形的边长,p为半周长,即p=(a+b+c)/2
三角形面积公式
分析问题
设计算法
循环控制条件
循环体
false
true
循环结束后的语句
输入多边每个三角形的边长
开始
结束
a
b
c
g
d
e
f
编写代码
import math
def s(a,b,c):
#求三角形的面积
p=(a+b+c)/2
mj=math.sqrt(p*(p-a)*(p-b)*(p-c))
#开平方根(函数)
return mj
#以下为主程序
a,b,c,d,e,f,g=3,2,3,4,3,4,5
print(s(a,e,f)+s(b,f,g)+s(g,c,d))
调试运行
书本实例
题:
六根火柴棒可以排出的最大数字
分析问题
设计算法
i<=111
i=i+1


i=0
开始
结束
i需要火柴棒6根
输出i


索引 0 1 2 3 4 5 6 7 8 9
元素 6 2 5 5 4 5 6 3 7 6
列表:match=[6,2,5,5,4,5,6,3,7,6]
列表中的顺序
每个数字需要的火柴棒
1.列出5个用6根火柴棒摆出的数字,分别是0,6,9,14,77,111
2.要摆出多位数字怎么实现?
1.数字“1”需要的火柴棒最少,所以能摆出的自然数最大是111
2.计算0和111之间的所有数字,统计需要的火柴棒
3.只要是恰好需要6根火柴棒的直接输出。
将这个数的每个数位上的数字所需要的火柴棒数加起来。实现方法是将这个数除以10取余,求得个位数;然后将这个个位数需要的火柴棒数累加;接着将这个数除以10取整,去掉个位数;重复以上步骤直到这个数为0。
去掉num的个位数

求num的个位数
num>0

求个位数需要火柴棒数
火柴棒数累加
def match_num(num):
list=[6,2,5,5,4,5,6,3,7,6]
s=0
while(num>0):
i=num%10
s=s+list[i]
num=num//10
print(s)
i=num%10


list=[6,2,5,5,4,5,6,3,7,6]
自定义函数
结束
num>0
输出s

s=0
s=s+list[i]
num=num//10
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 #返回需要多少根火柴棒数
#以下为主程序
snum=6 # 6根火柴棒
print("你可以拼出这些数字:")
for i in range(112):
if match_num(i)==snum: #如果i需要的火柴棒数等于现有火柴棒数
print (i)
input("运行完毕,请按回车键退出...")

展开更多......

收起↑

资源预览