202111算法与程序框图.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(2) 条件结构 --- 在一个算法中 , 经常会遇到一 些条件的判断 , 算法的流向根据条件是否成 立有不同的流向 . 条件结构就是处理这种过 程的结构 . 例 2: 任意给定 3 个正实数 , 设计一个算法 , 判断分 别以这 3 个数为三边边长的三角形是否存在 . 画 出这个算法的程序框图 . 算法分析 : 第一步 : 输入 3 个正实数 a,b,c; 第二步 : 判断 a+bc,a+cb,b+ca 是否同时成立 , 若是 , 则能组成三角形 ; 若否 , 则组不成三角形 . 程序框图 : 开始 输入 a,b,c a+bc,a+cb,b+ca 是否 同时成立 ? 是 存在这样的 三角形 不存在这样的 三角形 否 结束 例 1 设计一个求解一元二次方程 ax 2 +bx+c=0 的算法,并画出程序框图表示 . 理论迁移 算法分析 : 第一步,输入三个系数 a , b , c. 第二步,计算△ =b 2 -4ac. 第三步,判断△≥ 0 是否成立 . 若是,则计 算 ;否则,输出“方 程没有 实数根”,结束算法 . , 2 2 b p q a a 第四步,判断△ =0 是否成立 . 若是,则输出 x 1 =x 2 =p ,否则,计算 x 1 =p+q , x 2 =p-q , 并输出 x 1 , x 2 . 程序框图 : 开始 输入 a , b , c △ = b 2 - 4 a c △ ≥ 0 ? △ =0 ? 否 x 1 =p+q 输出 x 1 , x 2 结束 否 是 2 b p a 2 q a x 2 =p - q 输出 x 1 =x 2 =p 是 输出“方程没有 实数根” 例 3: 为了加强居民的节水意识 , 某市制订了以 下生活用水收费标准 : 每户每月用水未超过 7m 3 时 , 每立方米收费 1.0 元 , 并加收 0.2 元的城 市污水处理费 ; 超过 7m 3 的部分 , 每立方米收费 1.5 元 , 并加收 0.4 元的城市污水处理费 , 请你写 出某户居民每月应交纳的水费 y( 元 ) 与用水量 x(m 3 ) 之间的函数关系 , 然后设计一个求该函 数值的算法 , 并画出程序框图 . 解 :y 与 x 之间的函数关系为 : 1.2 , 1.9 4.9 x y x ? ? ? ? ? ( 当 0≤x≤7 时 ) ( 当 x7 时 ) 解 :y 与 x 之间的函数关系为 : 1.2 , 1.9 4.9 x y x ? ? ? ? ? ( 当 0≤x≤7 时 ) ( 当 x7 时 ) 算法分析 : 第一步 : 输入每月用水量 x; 第二步 : 判断 x 是否不超 过 7. 若是 , 则 y=1.2x; 若 否 , 则 y=1.9x-4.9. 第三步 : 输出应交纳的水 费 y. 开始 输入 x 0x≤7? 是 y=1.2x 否 y=1.9x-4.9 输出 y 结束 程序框图 例 4. 画程序框图 , 对于输入的 x 值 , 输出相应的 y 值 . 0( 0) 1(0 1) ( 1) x y x x x ? ? ? ? ? ? ? ? ? ? 开始 程序框图 x0? 是 y=0 否 0≤x1? 是 y=1 否 y=x 输出 y 结束 输入 x 是 例 5. 设计一个求任意数的绝对值的算法 , 并画出 程序框图 . ( 0 ) | | ( x x x x x ? ? ? ? ? ? 当 时 当 0 时 ) 算法分析 : 第一步 : 输入数 x; 第二步 : 判断 x≥0 是否 成立 ? 若是 , 则 |x|=x; 若否 , 则 |x|=-x. 程序框图 : 开始 输入 x x≥0? 输出 x 否 输出 -x 结束 返回 设计一个求解二元一次方程组 其中 的算法 , 并画出程序框图 . 1 1 1 2 2 2 a x b y c a x b y c ? ? ? ? ? ? ? 1 2 2 1 0 a b a b ? ? ① ② 算法分析 : 第一步 : 判断 a 1 是否等于 0. 如果 a 1 ≠0, , 2 1 a 令 u=- a 由② + ①× u, 得 (b 2 +b 1 u)y=c 2 +c 1 u; ③ 如果 a 1 =0, , c b 1 1 计算 y= 执行第三步 . 第二步 : 解③ , 得 1 1 , c c u b b u ? ? 2 2 y= 输出 y. 第三步 : 将 y 值代入② , 得 2 , c b y a ? 2 2 x= 输出 x. 开始 程序框图 输入 a 1 ,b 1 ,c 1 ,a 2 ,b 2 ,c 2 a 1 ≠0? 是 u=-a 2 /a 1 b=b 2 +b 1 u c=c 2 +c 1 u y=c/b x=(c 2 -b 2 y)/a 2 否 y=c 1

您可能关注的文档

文档评论(0)

yusuyuan + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档