【信息技术 】可复用的代码 课件 教科版(2019)高中信息技术必修1_第1页
【信息技术 】可复用的代码 课件 教科版(2019)高中信息技术必修1_第2页
【信息技术 】可复用的代码 课件 教科版(2019)高中信息技术必修1_第3页
【信息技术 】可复用的代码 课件 教科版(2019)高中信息技术必修1_第4页
【信息技术 】可复用的代码 课件 教科版(2019)高中信息技术必修1_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可以复用的代码/函数/发布代码/导入模块并使用/总结/2.4学习目标030201学会发布共享代码的常见方法,并能熟练使用模块解决问题。学会函数的定义和调用方法,并能熟练使用函数解决问题。了解函数的作用。当我们面对一些复杂问题时,可以采取“自顶向下、逐步细化”的方法,即将一个完整的问题分成若干个小问题,每个小问题实现一个功能,再将每个小问题逐步细化、分解为一系列具体可实现的步骤。本节我们将围绕解决“火柴棒摆数字问题”项目展开学习,通过该项目活动,体验复用和共享代码为编程带来的便利。复杂的问题子问题1孙问题1孙问题2孙问题3子问题2孙问题1孙问题2孙问题3子问题3孙问题1孙问题2孙问题3得出结论任务一用自定义函数实现摆数字问题问题:有6根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。思考:利用6根火柴棒能够列出的最大数字是多少呢?

如何计算一个数需要多少根火柴棒呢?数字0123456789需要的火柴棒62554563761..列出几个用6根火柴棒摆出的数字,分别是:

0,

6,

9,

14,

41,

77,1112.利用6根火柴棒能够列出的最大数字是多少呢?数字“1”需要的火柴棒最少,所以能够摆出的自然数最大是111。3.要摆出数字510需要多少根火柴棒?怎么计算?将这个数的每个数位上的数字所需要的火柴棒数加起来。算法分析1.数字“1”需要的火柴棒最少,所以能够摆出的自然数最大是111。2.计算0和111之间的所有数字,统计需要的火柴棒。3.将恰好需要6根火柴棒的直接输出。如何让计算机找出数字所有数位上的数字呢?如果我们要得到“206”个位上的“6”,哪种运算可以实现?除法、整除还是取模?我们定义一个变量n来接受取模运算的结果,用t来接受整除的结果:n1=206%10t1=206//10n2=t1%10t2=t1//10206%10=6如何让计算机找出数字所有数位上的数字呢?1.将这个数除以10求余,求得个位数;2.将这个数除以十取整;3.重复以上两步,直到这个数为0。实现方法:算法的流程图描述及实现(函数设计)数字0123456789需要的火柴棒6255456376defMatch_num(num):list=[6,2,5,5,4,5,6,3,7,6]#0-9的数字分别需要多少根小棒s=0num=int(input(“请输入0-111之间的任意一个数“))ifnum==0:#火柴棒总数变量赋初值

s=list[0]else:s=0 #火柴棒总数变量赋初值while(num>0):x=num%10 #取num除以10的余数,即num的个位数s=s+list[x]#所需火柴棒数累加num=num//10#num整除10,即去掉num的个位print(s)自定义函数Match_num(num)List=[6,2,5,5,4,5,6,3,7,6]S=0num>0i=num%10s=s+list[i]num=num//10输出s结束否是num==0S=list[0]是否代码实现开始sum=6i=0i<111Match_num(i)==sum?输出ii=i+1结束否否是是sum=6

i

=0while(i<=111)

:if

(Match_

num(i)==sum)

:print(i)

i=i+1else:i=i+1

函数函数可分为系统函数和用户自定义函数两种类型。系统函数即函数库中的标准函数。在前面单元使用过的print()和input()函数都是系统函数。自定义函数基本格式:def函数名(参数):#函数说明语句或语句组(函数体)return返回值参数是用来向函数传递值的,当有多个参数时,

个参数之间用逗号分隔开。

函数执行完成后,由return语句将表达式值返回给调用者,结束函数。

函数的调用采用函数名(参数)的方式。

数学运算类函数;数据转换类函数;字符串操作类函数;输人输出函数;文件操作类函数;其他类函数。案例分析:用自定义函数求n!deffactorial(n):#自定义函数名为factorial,有一个参数为ns=1

foriinrange(2,n+1):s=s*ireturns#函数返回值为s#调用factorial函数total=factorial(4)print(total)任务二发布共享代码实现火柴棒摆数字问题将“计算一个数需要多少根火柴棒”的函数matchnum转换为模块,然后发布。首先做好发布前的准备工作:在D:\创建一个文件夹mymodule,其中包含mymodule.py和setup.py两个文件。mymodule.py是一个模块文件:其内容就是match_num函数。代码发布——函数Match_num代码代码发布——Setup.py文件包含有关发布的元数据代码发布——实现然后打开mymodule所在的目录,构建发布文件。最后将发布文件安装到你的Python本地副本中。安装完成后,mymodule文件夹包含了如图2.4.4所示的文件。如果你想让全世界都分享你的成果,你可以在互联网上发布你的代码。导入模块并使用已经构建发布的模块必须先导人程序才能使用。导人时使用语句“importmymodule”,调用模块内的函数时用“mymodule.match_num()”来实现。完善下列程序,导入安装发布好的模块mymodule,实现火柴棒摆数字问题:mymodulemymodule.match_num(i)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论