- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高中 算法与程序精要
算法的描述与设计 一、算法的概念 算法:即解决问题的方法和步骤 举例子(一) 鸡兔同笼问题:一群鸡和兔在一个笼子里。已知笼子里共有a个头,b只脚。求鸡和兔各有多少只。 假设鸡和兔各有x,y只,根据已知条件列方程: x+y=a 2x+4y=b 联立解得: x=(4a-b)/2 y=(b-2a)/2 step1、输入a,b step2、求x,y step3、输出x,y step4、结束 举例子(二) 求能被3除余2,被4除余3,被5除余4的最小正整数。 方法一: step1、先求出3,4,5的最小公倍数为3*4*5=60 step2、再根据同差减差的原则,满足以上条件的最小正整数为:60-1=59 方法二: step1、取最小正整数x=1 step2、带入判断能否满足以上条件 step3、若满足条件,则输出x,并结束;若不满足条件,则x增加1,转到step2 举例子(三) 水仙花数是这样一个三位整数,它的各位数上的立方和等于它本身。求出所有水仙花数。 step1、取最小正整数x=100 step2、带入判断能否满足条件 step3、若满足条件,则输出x; Step4、x增加1,转到step2,直到x999结束 举例子(四) 三个野人与三个传教士 第一步:先过去两个食人兽,再回来一个;(或先过去一个传教士和一个兽,传教士回来)第二步:再过去两个食人兽,再回来一个; (再过去两个兽,再回来一个兽,下面的一样)第三步:过去两个传教士,再回来一个传教士和一个食人兽;第四步:再过去两个传教士,回来一个食人兽;第五步:过去两个食人兽,再回来一个食人兽;第六步:最后两个食人兽过去。 算法的特征 有穷性:执行有限步骤后结束,且每一步执行的时间都是有限的。 确定性:每一步骤都有确切的含义。 输入:0个或多个输入。 输出:1个或多个输出。 可行性:原则上能精确运行。 算法的描述 自然语言 流程图 伪代码 流程图 流程图:也叫程序框图,是算法的一种图形化表示方法。 开始或结束 输入或输出框 流程线 判断框 数据处理框 举例子(五) 判断任意输入的整数x是奇数还是偶数。 举例子(六) 举例子(七) 国家法定工作日内,每周工作时间满工作量为40小时,每小时工资8元;如需要加班,则加班时间每小时工资为10元.某人在一周内工作时间为x小时,个人住房公积金、失业险等合计为10%.试画出其净得工资y元的算法的程序框图.(注:满工作量外的工作时间为加班) [解析] 由题意知,当0x≤40时,y =8x(1-10%)=7.2x, 当x 40时,y=[40×8+(x-40)×10]×(1-10%)=9x-72, ∴y=7.2x ?0x≤40? y=9x-72 ?x40? 此函数为分段函数,故用条件结构表达,条件为x40,程序框图为: 举例子(八) 根据 设计算法并画出程序框图,求输入x的值,输出y的值. -11 x10 Y= 0 x=10 4 x10 算法如下: 第一步:输入x. 第二步:如果x10,那么y=-11; 如果x=10,那么y=0;如果x10,那么y=4; 第三步 :输出y值. [注意] 使用选择结构,有两种可能则用一个判断框,有三种可能结果则用两个判断框,依此类推. 举例子(九) 相传古代印度国王舍罕要褒赏他聪明能干的宰相达依尔(国际象棋的发明者),问他需要什么,达依尔说:“国王只要在国际象棋的棋盘第一格子上放一粒麦子,第二个格子上放两粒,第三个格子上放四粒,以后按此比例每一格加一倍,一直放到第64格(国际象棋8×8=64格),我就感恩不尽,其他什么也不要了.”国王想:“这有多少,还不容易!”让人扛来一袋小麦,但不到一会儿就全用没了,再扛来一袋很快又没有了,结果全印度的粮食用完还不够,国王很奇怪.一个国际象棋棋盘能放多少粒小麦,试用程序框图表示其算法. [分 析] 根据题目可知:第一个格放1粒=2^0,第二个格放2粒=2^1,第三个格放4粒=2^2,第 四个格放8粒=2^4,…,第六十四格放2^63粒. 则此题就转化为求1+2^1+2^2+2^3+2^4+…+2^63的和的问题.我们可引入一个累加变量S,一个计数变量i ,累加64次, 就能算出一共有多少粒小麦. [解析] 一个国际象棋棋盘一共能放1+2^1+2^2+2^3+2^4+…+2^63粒小麦.程序框图如图所示. 举例子(十) 求1+2+3+…+100的数的和。 Step1:假设一个累加变量s=0,一个计数变量i=1 step2:将s增加i,i增加1 Step3:判
文档评论(0)