- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Basic程序设计的教学文档.doc
Basic程序设计的教学文档
算法与算法的描述
一、导课:辗转相除法
设给定两个正整数为m和n,求它们的最大公约数的步骤为:
(1)以m除以n,令所得余数为r。
(2)若r=0,则输出结果n,算法结束;否则继续步骤(3)。
(3)令m=n,n=r,并返回步骤(1)继续执行。
二,算法及其特征:
1,算法:数学课上学习过了算法的基本思想和初步知识,这里通俗地讲,算法就是用计算机求解某一问题的方法,是能机械执行的动作或指令的有穷集合。
实践:
(1)112除以64,余数为48。
(2)64除以48,余数为16。
(3)48除以16,余数为0。
2,算法特征:
(1)输入。一个算法有零个或多个输入,以刻画运算对象的初始情况,如,欧几里得算法中,有两个输入m和n。
(2)确定性。算法的每一步必须要有确定的定义,即算法中所有有待执行的动作必须严格而不含混的进行规定,不能有歧义性。如,在欧几里得算法中,步骤(1)明确规定了“以m除以n”,而不能有“以m除以n”或者“以n除以m”这类有两种可能性的规定。
(3)有穷性。一个算法在执行有穷步骤后必须结束。也就是说一个算法所包含的步骤是有限的。在欧几里得算法中,由于m和n都是正整数,在步骤(1)后,r比小于n,若r不等于0,下一次执行步骤(1),n值已经减少,二正整数的递降序列最后必将终止。
(4)输出。算法有一个或多个输出,即与输入有某个特定关系的量,就是算法的最终结果。如,在欧几里得算法中,只有步骤(2)中的n。
(5)能行性。算法中的运算和操作是能够精确进行的。算法执行者不需要知道算法的确切含义就可以根据算法的每一步骤要求进行操作。
三、算法的描述:.
1,自然语言描述算法
(1)自然语言就是人们日常所用的语言,用来描述问题求解的思想方法
(2)鸡兔同笼问题:一个笼子里有鸡和兔,现在只知道里面一共有35个头和94只脚,问鸡和兔各有多少只?
(3) 分析问题:设求解的鸡数有x只,兔有y只,已知笼子的头数时a,脚数是b。根据已知条件,列出如下:
x+y=a
2x+4y=b
(4)设计算法:自然语言描述:
A 输入a和b的值;
B 求x=(2a-b)/2;
C 求y=b/2-a;
D 输出x,y;
E 结束
(5)实践
设计一个算法,求出100以内能被3整除的所有正整数。
分析问题:
设能3整除的数为I,令I=1,2,3,------,100,如果可以整除,则输出I,否则检查下一个I,指导I=100为止。
设计算法:用自然语言描述:
A 令I=1;
B 如果I能被3整除,则输出I;
C I=I+1;
D 如果I=100,则返回B;
E 结束;
2,流程图描述算法
(1)在数学课上,使用流程框图来描述算法。在程序框图中流程图是描述算法的主要工具。
(2)鸡兔同笼问题:
(3)设计一个算法,求出100以内能被3整除的所有正整数。
分析问题:
设能3整除的数为I,令I=1,2,3,------,100,如果可以整除,则输出I,否则检查下一个I,指导I=100为止。
设计算法:流程图表示:
3,伪代码描述算法
(1)伪代码就是介于自然语言和计算机语言之间的文字和符号来描述算法的工具。不使用图形符号。
(2)实例讲解:辗转相除法:
四、三种算法描述优缺点比较
1,自然语言:
(1)优点:描述的算法通俗易懂
(2)缺点:自然语言的歧义性,导致算法执行的不确定性;自然语言太长,导致用自然语言描述的算法也太长;自然语言是按照步骤的标号顺序执行,因此,当一个算法循环和分支较多时很难清晰体现出来;自然语言表示的算法不变翻译成计算机程序设计语言。
2,流程图:
(1)优点:流程描述清晰简洁,易于表达结构。不依赖任何具体的计算机和计算机程序设计语言,从而有利于不同环境的程序设计。
(2)缺点:初学者不容易理解这些框架图之间的逻辑联系。
3,伪代码:
(1)优点:书写方便,格式紧凑,易于理解,便于向程序设计语言过度。
(2)缺点:由于程序设计语言的种类众多,伪代码的语句不容易规范,有时会产生误解。
开始
输入a和b的值
I=1
求y=b/2-a
结束
输出x,y的值
开始
求x=2a-b/2
I能被3整除
I=I+1
I=100
输出I的值
结束
INPUT m,n
r=m mod n
DO WHILE r!=0
m=n
n=r
r=m mod n
LOOP
PRINT n
您可能关注的文档
最近下载
- 武汉市2025届高中毕业生四月调研考试 英语试卷(含答案详解).pdf
- 硕士研究生论文的选题与写作.ppt
- 2019年7月安徽省砀山县事业单位幼儿教师招聘考试《幼儿保教知识与能力》真题试卷(含答案).pdf VIP
- 确保室内空气质量的施工方案与技术措施.pdf
- 中小银行上云趋势研究分析报告 2024.pptx
- 证券从业人员证券投资基金基础知识题库与答案.doc
- 小学家长会英语老师课件.pptx VIP
- 第七单元《红楼梦》薛宝钗、林黛玉人物形象赏析 公开课一等奖创新教案统编版高中语文必修下册.docx VIP
- 最新部编版五年级下册语文单元教材分析(全册) .pdf VIP
- 春季学期《工业控制网络》试题.doc
文档评论(0)