3.2算法及其描述《数据与计算》粤教版_第1页
3.2算法及其描述《数据与计算》粤教版_第2页
3.2算法及其描述《数据与计算》粤教版_第3页
3.2算法及其描述《数据与计算》粤教版_第4页
3.2算法及其描述《数据与计算》粤教版_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

粤教版普通高中教科书信息技术必修1数据与计算3.2算法及其描述3.2.1算法角度概念专业规则求解某一问题有限步骤明确定义通俗方法-有穷集合动作或指令机械地执行3.2.1讨论问题:学期结束时,老师打算花50块钱购买一些笔记本奖励表现优秀的同学,请班长小明帮忙,小明决定买三种单价分别为6元、5元、4元的笔记本,请问可以买多少本?3.1.1探究“6x+5y+4z=50正整数解的个数t”①t=0;②x=1;③y=1;④z=1;⑤如果满足6x+5y+4z=50,则解的个数加1,并输出这个解。⑥z=z+1;⑦如果z≤12则转步骤⑤,否则继续步骤⑧;⑧y=y+1;⑨如果y≤10则转步骤④,否则继续步骤⑩;⑩x=x+1;⑪如果x≤8则转步骤③,否则继续步骤⑫;⑫结束。3.2.1算法的特征特征解释有穷性计算步骤有限确定性每一个步骤都是明确的数据输入零个或多个数据输出一个或多个可行性能够得到结果3.2.2算法的描述算法描述优势不足自然语言表示法用人们日常所用的语言,比较容易掌握。当算法中含有多分支或循环操作较多时很难清晰地表示出来,由于自然语言的歧义性,容易导致算法执行的不确定性。流程图表示法用程序框图来描述,流程描述清晰简洁。所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。伪代码表示法用介于自然语言和计算机语言之间的文字和符号来描述,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。由于编程语言的种类繁多,伪代码的语句不容易规范,有时会产生误解。3.2.2流程图描述法-流程图的基本图形及其功能图形名称功能开始/结束算法的开始或结束输入/输出变量的输入或输出处理变量的计算与赋值判断算法中的条件判断流程线表示算法中的流向◦连接点表示算法中的连接3.2.2流程图描述法x的循环次数8y的循环次数10z的循环次数12总的循环次数:8×10×12=960从中找出所有成立的解3.2.2伪代码描述法概念解释伪代码描述法介于自然语言文字和符号计算机语言特点易于转变为计算机程序t=0forxinrange(1,9):

foryinrange(1,11):

forzinrange(1,13):

if(x*6+y*5+z*4==50)

{t=t+1;给出解的个数t及对应的三个整数x,y,z}3.2.2求方程“6x+5y+4z=50正整数解的个数t”程序及运行结果t=0forxinrange(1,9):foryinrange(1,11):forzinrange(1,13):ifx*6+y*5+z*4==50:t=t+1print(x,y,z)print("总数:",t,"个")方案xyz合计114611218110322711426210534310642410762193.2.2求最大公约数-辗转相除法-自然语言描述法①以m除以n,令所得的余数为R。②若R=0,则输出结果n,算法结束;否则,继续步骤③。③令m=n,n=R,并返回步骤①继续进行。求最大公约数步骤:3.2.2求最大公约数-辗转相除法-程序框图开始结束输入m,nR=m%nR!=0?输出nm=n,n=RYN在输入两个数字m和n时,是否需要保证m大于n?3.2.2求最大公约数-辗转相除法-伪代码m=int(input(“m=”))#接收一个数并转换成整数n=int(input(“n=”))#接收另一个数并转换成整数R=m%n#求余数whileR!=0:#当余数不为0时循环m=n#将除数给mn=R#将余数给nR=m%n#求余数print(n)#输出最大公约数3.2.2求最大公约数-更相减损术-自然语言描述法①以m减去n,令所得的差为R。②若R=0,则输出结果n,算法结束;否则,继续步骤③。③令m=n,n=R,并返回步骤①继续进行。求最大公约数步骤:3.2.2求最大公约数-更相减损术-程序框图开始结束输入m,nR=m-nR!=0?输出nm=n,n=RYN在输入数据时,要确保m比n大,否则,要在程序中将m和n调换。3.2.2求最大公约数-更相减损术-伪代码m=int(input(“m=”))#接收一个数并转换成整数n=int(input(“n=”))#接收另一个数并转换成整数ifm<n:

m,n=n,m#如果m<n,则两者交换R=m-nwhileR!=0:m=n;n=R;ifm<n:m,n=n,mR=m-nprint(n)3.2.2求最小公倍数算法:两数相乘,除以最大公约数m=int(input(“m=”))n=int(input(“n=”))s=m*n#两者相乘R=m%nwhileR!=0:m=nn=RR=m%nprint(int(s/n))#除以最大公约数3.2.2三种基本控制结构3.2.2三种基本控制结构基本结构作用顺序按先后顺序执行选择条件→分支单选、双选和多选循环满足条件重复执行直到条件不满足使用三种基本控制结构的组合来描述算法,可以改善算法的清晰度,提高算法的可读性。讨论试结合教材P50“图3-8求整数解的流程图”当中的三种基本控制结构图1顺序结构图2选择结构

温馨提示

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

最新文档

评论

0/150

提交评论