3华东师范大学第二附属中学(创新班和理科班用)数学(高中下册)-5.doc

3华东师范大学第二附属中学(创新班和理科班用)数学(高中下册)-5.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第十三章复算法初步

13.1算法的概念与基本特点

算法是在有限步骤内求解某一问题所使用的一组定义明确的规则.通俗地说.就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序.都是在实施某种算法.前者是推理实现的算法,后者是操作实现的算法.

在数学中.现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤.这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.程序是为了要在计算器中解决某个问题而设计的一系列指令,由一个或多个命令行组成的集合.根据各种规定,按要求才能写出一个计算器理解的程序来.执行程序时,按输入指令的顺序执行命令行的指令.这样当我们解决问题需要计算,而这些计算的方法又都是相同的,只是数值改变,反复操作而已,我们完全可以编制程序。让计算器来帮助我们完成这些计算.

1.有穷性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束.

2.确定性:算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词·也不

能有二义性.

3.可行性:算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确

定的结果.

解:算法1按照逐一相加的程序进行

(i)计算,得到3;

(ii)将第一步中的运算结果3与3相加,得到6;

(iii)将第二步中的运算结果6与4相加.得到10.

(iii)输出运算结果.

算法用循环方法求和

说明:(1)一个问题的算法可能不唯一.

例2.已知两个单元分别俘放了变量和的值,试交换这两个变量值.

解:为了达到交换的目的,需要一个单元存放中间变量.

算法是:

(1)求它们中的最大值;

(2)在求得最大值的同时,给出这个数的序号.

分析:(2)在打擂的过程中,如果擂主换了。同时用一个变量来记录擂主的序号就可以.

解:算法如下:

明:排序问题在日常生活中是经常碰到的,也是算法中一个研究得比较多的问题.其中用得比较多的算法有:直接插入排序、冒泡排序、选择排序等等.例4采用的就是选择排序.(其他的排序算法可以参看下面的课外活动.)

基础练习

1.有、、个相同规格的玻璃瓶,装着酒精,装着醋,为空瓶,请设计一个算法,把、瓶中的酒精与醋互换.

4.一个人带三只狼和三只羚羊过河。只有一条船.同船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法.

13.2程序框图

为了使算法的步骤表达更直观.我们经常采用图形方式来表示.比如13.1节的例2和例3的算法步骤

日以依次表示为图13l:

图132就是一个程序框图.程序框图又称流程图,是一种由规定的图形、指向箭头及文字说明来表示算法的图形.常用的程序框如下:

程序框

名称

功能

起、止框

表示一个算法的开始和结束,一个算法只有一个开如,至少有一个结束

输入、输出框

表示数据的输入和输出

处理(执行)框

表示算法中的赋值、计算等指令.一个处理框只有一个人口、一个出口.(在不会旨起歧义的情况下,一个处理框可以写多条有序的指令)

判断框

判断框内是一个条件(命题),它有附带一个人口和两个出口,在一个出口标明“是”或“Y”,表示条件成立(或命题真),在另一出口处标明“否”或“N”,表示条件不成立(或命题假)

画程序框图的时候要注意以下问题(参见图133):

①使用标准的框图符号;

②框图一般按从上到下、从左到右的方向画,流程线要规范;

③除判断框外,大多数框图符号只有一个进入点和一个退出点;

④在图形符号内描述的语言要非常简练、清楚.

例如著名的“孙子问题”也可以用如图134的程序框图来表示.

从前面2个程序框图中可以看出,在算法步骤中,有毡是按顺序执行.有些需要选择执行,而另外一些需要循环执行.事实上.算法都可以由顺序结构、选择结构、循环结构这三块“积木”

通过组合和嵌套表达出来.比如以上图131和图132分别表示了算法中的顺序结构,选择结构和循环结构.

例1.设计一个求任意数的绝对值的算法.并画出程序框图.

解:(ⅰ)输入任意实数;

(ⅲ)输.

程序框图如图135.

这是一个典型的条件结构.判断框有一个入口两个出口,两个出口箭头上分别标靠“Y”和“N”,表示条件“成立”或“不成立”时选择的施行内容.上题的框图画法外也可以画成如图13-6这样.

两个出口有的时候也有一个可能有一个没有执行的内容,比如上题的算法也可以这样修改:

(ⅰ)输入任意实数;

(ⅲ)输出.

这个算法的程序框图就变成图137了.

因此一个问题的程序框图并不是唯一的,根据算法的不同略有差异.条件结构的样子也有不同.

例2.高一某班一共有50名学生,设计一个算法.统计班上数学成绩良好(分数大十80且小于90)和优秀(分数大于或等于90)的学十人数,并画出流程图.

分析:这是一个循

文档评论(0)

183****7230 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档