算法与程序设计流程图
- 格式:ppt
- 大小:264.50 KB
- 文档页数:4
算法和流程图(及N-S流程图)算法和流程图2.1.1算法计算机语⾔只是⼀种⼯具。
光学习语⾔的规则还不够,最重要的是学会针对各种类型的问题,拟定出有效的解决⽅法和步骤即算法。
有了正确⽽有效的算法,可以利⽤任何⼀种计算机⾼级语⾔编写程序,使计算机进⾏⼯作。
因此,设计算法是程序设计的核⼼。
并⾮只有“计算”的问题才有算法。
⼴义地说,为解决⼀个问题⽽采取的⽅法和步骤,称为“算法”。
不要把“计算⽅法”(computational method)和“算法”(algorithm)这两个词混淆。
前者指的是求数值解的近似⽅法,后者是指解决问题的⼀步⼀步的过程。
在解⼀个数值计算问题时,除了要选择合适的计算⽅法外,还要根据这个计算⽅法写出如何让计算机⼀步⼀步执⾏以求解的算法。
对于计算机外⾏来说,他们可以只使⽤别⼈已设计好的现成算法,只需根据算法的要求给以必要的输⼊,就能得到输出的结果。
对他们来说,算法如同⼀个“⿊箱⼦”⼀样,他们可以不了解“⿊箱⼦”中的结构,只是从外部特性上了解算法的作⽤,即可⽅便地使⽤算法。
但对于程序设计⼈员来说,必须会设计算法,并且根据算法编写程序。
对同⼀个问题,可以有不同的解题⽅法和步骤。
例如,求1+2+3+…+100,可以先进⾏1+2,再加3,再加4,⼀直加到100,也可采取100+ (1+99)+(2+98)+…+(49+51)+50=100+50+49×100=5050。
还可以有其它的⽅法。
当然,⽅法有优劣之分。
有的⽅法只需进⾏很少的步骤,⽽有些⽅法则需要较多的步骤。
⼀般说,希望采⽤⽅法简单,运算步骤少的⽅法。
因此,为了有效地进⾏解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。
⼀个计算问题的解决过程通常包含下⾯⼏步:确⽴所需解决的问题以及最后应达到的要求。
必须保证在任务⼀开始就对它有详细⽽确切的了解,避免模棱两可和含混不清之处。
分析问题构造模型。
在得到⼀个基本的物理模型后,⽤数学语⾔描述它,例如列出解题的数学公式或联⽴⽅程式,即建⽴数学模型。
1.输人一个数到变.., 输出它的绝对值。
(要求用单分支和双分支结构分别设计算法)单分支结构算法:
(1)输入任意数并赋值给变量a;
(2)判断a是否小于0, 如果a 小于0 , 取a 的相反数;
(3)输出a。
双分支结构算法:
(1)输人任意数并赋值给变量 a ;
(2)判断a 是否小于0 , 如果a 小于0 则输出a 的相反数, 否则输出a 。
(3)求输入的十个数中的最大值。
2.最值问题:
(1)求输人的两个数中的最大值。
(2)求输人的三个数中的最大值。
3.循环求和(不同的控制循环方法)
1.求输.
2.个数的和。
(知道循环次数, 可以采用循环变量i 来控制循环次数)
计数法2.求输入的若干个学生成绩
的和, 输.-1表示结束。
(不能确定次数, 可以用输
入的数据的值来进行控制)
标志法
3.对输入的数据求和, 当所求
的和超.10.则停止输入并输出
求和结果(设此题中输人的数
皆为正数)。
(没有指出输人数据的具体个
数, 且不能依据对输入数据的
值来控制循环, 控制循环的关
键就在于对循环体中变量s
的判断)
(没有指出输人数据的具体个
数,且不能依据对输入数据的
值来控制循环,控制循环的关
键就在于对循环体中变量s
的判断)
输出如下图形:
**********
**********
**********
**********
**********
如下算法能输出哪种图形?(A)。
算法与程序框图一、程序框图与算法基本逻辑结构: 1.程序框图符号及作用:例:解一元二次方程:20(0)ax bx c a ++=≠2。
画程序框图的规则:为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍.(1)实用标准的框图符号.(2)框图一般按从上到下、从左到右的方向画。
(3)一个完整的程序框图必须有终端框,用于表示程序的开始和结束.(4)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号,另外,一种判断框是“是"与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果。
(5)在图形符号内用于描述的语言要非常简练清楚。
3.算法的三种基本逻辑结构: (1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一 个算法离不开的基本结构.如图,只有在执行完步 骤n 后,才能接着执行步骤n+1。
例:。
已知梯形的上底、下底和高分别为5、8、9,写出求梯形的面积的算法,画出流程图.解:算法如下: S1 a ←5;S2 b ←8;S3 h ←9; S4 S ←(a +b )×h /2;S5 输出S .流程图如下:(2)条件结构一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的。
但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题。
条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P 时,根据条件P 是否成立,选择不同的执行框(步骤A ,步骤B ),无论条件P 是否成立,只能执行步骤A 或步骤B 之一,不可以两者都执行或都不执行.步骤A 和步骤B 中可以有一个是空的。