资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 算法 2.1 算法的概念 要利用计算机处理问题,光学习语言的语法规则还不够,最重要的是要学会针对各类型的问题,拟定出有效的解题方法和步骤。解题方法和步骤就是算法。,算法: 为了解决一个问题而采取的有限步骤。 计算机算法: 如何使计算机一步一步地工作的具体过程。,利用计算机处理问题的步骤: 1)设计好算法算法设计; 2)用计算机语言实现算法程序设计。 算法必须是“有效”的。 算法设计还要充分考虑算法的好坏。 衡量算法好坏的主要标准: 程序简练。 执行速度快。 占空间少。,例:考虑 的算法。 算法:直接表达。 直接用语句 s=1+2+3+4+5+6+7+8+9+10,当项数较多时该算法不适用,s=i,1,10,算法:迭代法(累加求和法) s=1+2+3+4+5+6+7+8+9+10 算法步骤: s i 使s=0 + 使i=1 累加器 记数器 s+is i+1i 若i10转,否则转 输出s,0,1,1,2,3,3,6,4,10,5,该算法通用,是好算法,2.2 算法的表示 算法需要有统一的表示方法 常用的表示方法有: 自然语言 流程图 结构化流程图 N-S流程图.,1、自然语言 对于计算 s=1+2+3+4+5+6+7+8+9+10 用自然语言表示为: 使s=0 (s为累加器) 使i=1 (i为计数器) s+is (累加求和公式) i+1i (计数器加1) 若i10转,否则转 输出s的值 特点:通俗易懂、文字冗长、含义不大严格。,2、流程图 用流程图符号表示算法。 常用的流程图符号 起止框 输入输出框 处理框 流程线 判断框,对于计算 s=1+2+3+4+5+6+7+8+9+10 用流程图表示为:,s+i s,i+1 i,S+i s,S+i s,i10,输出s,0 s,1 i,直观形象,易于理解,次序清楚,Y,N,3、结构化流程图 传统的流程图有一个弊端:对流程线没有严格的限制,对于较复杂的算法可能会变成乱麻一般(BS型算法)。 为克服这一弊端,提出了由三个基本结构组成算法流程图的思想: 结构化流程图,三个基本结构: 顺序结构 按固定顺序(从上到下或从左到右)执行的结构。,A,B,a,b, 选择结构 根据条件P选择执行哪一个分支。 成立 不成立,p,A,B,a,b,成立,不成立,例:计算 y= 1/x 当x0时 y= 10000 当x=0时 的算法流程图图: 选择结构,输入x,X=0?,10000y,1/xy,输出y,Y,N, 循环结构 重复执行某些操作的结构。 分为两种: 当型循环和直到型循环。 当型循环 直到型循环,P1,A,A,P2,a,a,b,b,Y,Y,N,N,可以看出,每个基本结构都只有一个入口和一个出口,因此,用三个基本结构构成的流程图不会象乱麻一般,用三个基本结构构成的流程图就成为结构化流程图,用结构化流程图描述的算法称为结构化算法,相应的程序设计就称为结构化程序设计。,观察前例:,0 s,1 i,S+i s,i+1 i,i10,输出s,顺序结构,循环结构,y,n,4 N-S流程图 N-S流程图的三个基本结构:,A,B,P,成立,不成立,A,B,A,B,当P1,直到P2,顺序结构,选择结构,循环结构,例:计算 y= 1/x 当x0时 y= 10000 当x=0时 的N-S流程图:,输入x,X=0?,是,否,10000y 1/xy,输出y,例: 计算 s=1+2+3+4+5+6+7+8+9+10 的N-S流程图: i10 直到i10 直到型 当型,0 s,1 i,输出s,1 i,0 s,s+i s,i+1 i,s+i s,i+1 i,输出s,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号