- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法的基本逻辑 讲授新课 判断整数n(n1)是否为质数的算法可以用下面的框图表示: 开始 投票 有一个城市 得票数超过总票 数的一半 输出该城市 结束 淘汰得票数 最少的城市 Y N 在许多算法中,需要对问题的条件作出逻辑判断,判断后依据条件是否成立而进行不同的处理方式,这就需要用条件结构来实现算法. 【1】学习优秀奖的条件如下: (1)所考五门课成绩总分超过450分; (2)每门课都在88分以上; (3)前三门(主课)每门成绩都在95分以上,其它两门(非主课)成绩都在80分以上. 输入某学生的五门课成绩,问他是否够优秀条件?画出程序框图. 备课资料 开始 sum=a+b+c+d+e 输入学 生成绩 a,b,c,d,e Y N 输出够优秀条件 Sum≥450? a≥95? b≥95? c≥95? d≥88? e≥88? 结束 输出不够 优秀条件 N N N N N Y Y Y Y Y 1 1 * §1.1.2程序框图 主页 * §1.1.2程序框图 主页 程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形. 复习回顾 1.程序框图的概念 2.常见的程序框图(ANSI,美国国家标准化协会) 功能 名称 图形符号 流程线 连接循环框 连结点 连接循环框图的两部分 功能 名称 图形符号 终端框 (起止框) 输入、 输出框 处理框 (执行框) 判断框 表示一个算法的 起始和结束 表示一个算法输 入和输出的信息 赋值、计算 判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”. 开始 输入n i=2 i=i+1 i≥n或r=0? n不是质数 结束 r=0? 1 否 是 求n除以i 的余数 1 n是质数 是 否 i=i+1 i≥n或r=0? 否 是 求n除以i 的余数 输入n i=2 n不是质数 r=0? n是质数 是 否 尽管不同的算法千差万别,但它们都是由三种基本的逻辑结构构成的,这三种逻辑结构就是顺序结构、循环结构、条件结构.下面分别介绍这三种结构. 从上面的程序框图中,不难看出以下三种不同的逻辑结构. 条件结构 循环结构 条件结构 一、顺序结构及框图表示 1.顺序结构:按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构. 语句A 语句B 2.顺序结构的流程图 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个处理步骤组成的,这是任何一个算法都离不开的基本结构. 3.画顺序结构程序框图时注意事项 左图中,语句A和语句B是依次执行的,只有在执行完语句A指定的操作后,才能接着执行语句B所指定的操作. (1)在程序框图中,开始框和结束框不可少; (2)在算法过程中,第一步输入语句是必不可少的; (3)顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤. 【例1】已知一个三角形的三边边长分别为2,3,4,利用海伦—秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图. 开始 输出S 结束 开始框 处理框 输出框 结束框 【1】求两个实数 a,b 的算术平均值 aver. S1: 输入两个实数 a,b ; S2:计算 c=a+b; S3: 计算 aver=c/2; S4: 输出 aver. 输出 aver 开 始 输入 a,b aver =c/2 结 束 解:用数学语言 【2】“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何.” 请你设计一个这类问题的通用算法.并画出算法的程序框图. 设有X 只鸡,Y 只兔.则 解: 鸡兔同笼,设鸡兔总头数为H ,总脚数为F,求鸡兔各有多少只.算法分析如下: 解方程组,得 第一步:输入总头数H, 总脚数F; 第二步:计算鸡的个数 x=(4H-F)/2; 第三步:计算兔的个数 y=(F-2H)/2; 第四步:输出 x , y 开始 输出X,Y 结束 X=(4H-F)/2 Y=(F-2H)/2 输入H和F 解:用数学语言 程序框图 第四步:计算 ; 【3】试描述求点(x0 , y0)到直线Ax+By+C=0的距离的算法,并画出算法的程序框图. 第一步:输入x0,y0,A,B,C; 第二步:计算Z1=Ax0+By0+C; 第三步:计算Z2=A2+B2; 第五步:输出d. 解:用数学语言 开始 输入x0,y0,A,B,C Z1=
文档评论(0)