算法与程序框图

合集下载

1.1.2_程序框图与算法的基本逻辑结构

1.1.2_程序框图与算法的基本逻辑结构

N不是质数
条件结构
算法千差万别,但都是由这 三种基本逻辑结构构成的.
输入n
i=2
求n除以i的余数r
i的值增加1,仍用i表示
否 i>n-1或r=0? 是
顺序结构
是 r=0? 否 N是质数
循环结构
N不是质数
条件结构
你能说出这三种基本逻辑结构的特点吗? 条件结构与循环结构有什么区别和联系?
知识探究(二):顺序结构及框图表示
1.顺序结构:按照步骤依次执行的一个算法 2.顺序结构的流程图
语句A
语句B
例1(1)写出图中程序框图的运行结果:
开始
输入a,b a=2 b=4
S=a/b+b/a
输出S 结束
图中输出S= 5/2 ;
(2)写出下列算法的功能。
开始
输入a,b
d=a2+b2
c= d
输出c 结束
左图算法的功能 是 求两数平方和的算术平方根 ;
开始 输入a,b,c
a+b>c,b+c>a,c+a>b是否 同时成立? 是

存在这样的三角形 结束
不存在这样的三角 形
例5 设计一个求解一元二次方程
ax 2 bx c 0
的算法,并画出程序框图表示.
例5程序框图也可设计为
开始 输入a,b,c Δ=
b2-4ac
Δ≥0?


是 Δ=0? 否
第二步,判断x与3的大小,若x>3,则 费用为m= 5+(x-3)×1.2=1.2x+1.4; 若x≤3,则费用为m=5. 第三步,输出m.
x>3? Y
y=1.2x+1.4

12.1 算法与程序框图

12.1  算法与程序框图

(2)框中y=-x2+mx的含义是什么?
(3)该程序框图解决的是怎样的一个问题? (4)若输入的x值为0和4时,输出的值相等,则 ①当输入的x值为3时,输出的值为多大? ②要想使输出的值最大,输入的x值应为多少? ③按照这个程序框图,当输入的x的值都大于 2时,x值大的输出的y值反而小,为什么?

该算法对应的程序框图如图所示:
探究提高 顺序结构的算法写好后,按顺序依次
画出流程图.在变量赋值时,以后赋的为准,前边 赋过值的变量,有新的数值时,原来的值无效.
知能迁移2
如图所示的框图是解决某个
问题而绘制的程序框图,仔细分析各 图框内的内容及图框之间的关系,回 答下面的问题: (1)框中x=a的含义是什么?
并画出程序框图.

算法如下:
第一步:令S=1,i=1; 第二步:若i≤99成立,则执行第三步; 否则输出S,结束算法; 第三步:S=S×i; 第四步:i=i+2,返回第二步. 程序框图:
方法一 当型循环程序框图
方法二 直到型循环程序框图
思想方法 感悟提高
方法与技巧
1.在设计一个算法的过程中要牢记它的五个特征:
第五步,输出d.
Z2
程序框图:
探究提高 给出一个问题,设计算法应注意:
(1)认真分析问题,联系解决此问题的一般数学
方法; (2)综合考虑此类问题中可能涉及的各种情况; (3)将解决问题的过程划分为若干个步骤; (4)用简练的语言将各个步骤表示出来.
知能迁移1

写出求过两点M(-2,-1)、N(2,3)的
第三步:输出函数值y.
相应的程序框图如图所示.
探究提高 利用条件结构解决算法问题时,要引入

算法与程序框图(算法流程图)

算法与程序框图(算法流程图)

程序框图的发展趋势
可视化编程
随着可视化技术的发展,程序框 图成为一种直观的编程方式。通 过图形化的方式描述程序逻辑, 降低了编程难度,提高了开发效 率。
交互式编程
交互式编程让用户在编程过程中 能够实时查看程序运行结果,及 时调整代码。这种编程方式提高 了开发效率和程序质量。
智能生成与自动优

基于机器学习和人工智能技术, 程序框图可以自动生成和优化程 序代码。这大大减少了编程工作 量,提高了开发效率。
算法的复杂度分析
随着计算机科学的发展,算法的复杂度分析越来越受到重 视。人们不断探索更高效的算法,以提高计算效率和准确 性。
机器学习与人工智能算法
随着人工智能的兴起,机器学习与人工智能算法成为研究 热点。这些算法能够从大量数据中自动提取有用的信息, 为决策提供支持。
并行计算与分布式算法
为了处理大规模数据和复杂问题,并行计算和分布式算法 成为研究重点。这些算法能够充分利用多核处理器和分布 式系统的优势,提高计算性能。
算法的表示方法
01
自然语言描述
用简洁明了的文字描述算法的步骤。
流程图
用图形符号表示算法的步骤和流程。
03
02
伪代码
用类似于编程语言的简化和结构化 形式描述算法。
程序代码
用编程语言实现算法的具体代码。
04
算法的复杂度分析
时间复杂度
评估算法执行时间随输入规 模增长的情况,表示为 O(f(n))。
空间复杂度
选择结构是根据条件判断选择不同的执行路径的程序框图 结构。它使用判断框来表示条件判断,根据条件的结果选 择不同的执行路径。选择结构可以有效地处理具有多个分 支的情况,提高程序的灵活性和适应性。

知识讲解_高考总复习:算法与程序框图

知识讲解_高考总复习:算法与程序框图

高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。

2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。

【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。

(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。

(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。

2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。

3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。

要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。

考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。

2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。

算法与程序框图

算法与程序框图

算法与程序框图一、基础知识1.算法(1)算法通常是指按照一定规则解决某一类问题的明确和有限的步骤. (2)应用:算法通常可以编成计算机程序,让计算机执行并解决问题. 2.程序框图程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. 3.三种基本逻辑结构 (1)顺序结构(2)条件结构(3)循环结构三种基本逻辑结构的适用情境(1)顺序结构:要解决的问题不需要分类讨论. (2)条件结构:要解决的问题需要分类讨论.(3)循环结构:要解决的问题要进行许多重复的步骤,且这些步骤之间有相同的规律.考点一 顺序结构和条件结构[例1] (2019·沈阳质检)已知一个算法的程序框图如图所示,当输出的结果为0时,输入的实数x 的值为( )A .-3B .-3或9C .3或-9D .-3或-9[解析] 当x ≤0时,y =⎝⎛⎭⎫12x -8=0,x =-3;当x >0时,y =2-log 3x =0,x =9.故x =-3或x =9,选B.[答案] B[例2] 某程序框图如图所示,现输入如下四个函数,则可以输出的函数为( )A .f (x )=cos x x ⎝⎛⎭⎫-π2<x <π2,且x ≠0 B .f (x )=2x -12x +1C .f (x )=|x |xD .f (x )=x 2ln(x 2+1)[解析] 由程序框图知该程序输出的是存在零点的奇函数,选项A 、C 中的函数虽然是奇函数,但在给定区间上不存在零点,故排除A 、C.选项D 中的函数是偶函数,故排除D.选B.[答案] B[解题技法] 顺序结构和条件结构的运算方法(1)顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.解决此类问题,只需分清运算步骤,赋值量及其范围进行逐步运算即可.(2)条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断.(3)对于条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支.[题组训练]1.半径为r 的圆的面积公式为S =πr 2,当r =5时,计算面积的流程图为( )解析:选D 因为输入和输出框是平行四边形,故计算面积的流程图为D. 2.运行如图所示的程序框图,可输出B =______,C =______.解析:若直线x+By+C=0与直线x+3y-2=0平行,则B=3,且C≠-2,若直线x+3y+C=0与圆x2+y2=1相切,则|C|12+(3)2=1,解得C=±2,又C≠-2,所以C=2.答案:3 2考点二循环结构考法(一)由程序框图求输出(输入)结果[例1](2018·天津高考)阅读如图所示的程序框图,运行相应的程序,若输入N的值为20,则输出T的值为()A.1B.2C.3 D.4[解析]输入N的值为20,第一次执行条件语句,N=20,i =2,Ni =10是整数,∴T =0+1=1,i =3<5;第二次执行条件语句,N =20,i =3,N i =203不是整数,∴i =4<5;第三次执行条件语句,N =20,i =4,Ni =5是整数,∴T =1+1=2,i =5,此时i ≥5成立,∴输出T =2. [答案] B[例2] (2019·安徽知名示范高中联考)执行如图所示的程序框图,如果输出的n =2,那么输入的 a 的值可以为( )A .4B .5C .6D .7[解析] 执行程序框图,输入a ,P =0,Q =1,n =0,此时P ≤Q 成立,P =1,Q =3,n =1,此时P ≤Q 成立,P =1+a ,Q =7,n =2.因为输出的n 的值为2,所以应该退出循环,即P >Q ,所以1+a >7,结合选项,可知a 的值可以为7,故选D.[答案] D[解题技法] 循环结构的一般思维分析过程 (1)分析进入或退出循环体的条件,确定循环次数.(2)结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.(3)辨析循环结构的功能. 考法(二) 完善程序框图[例1] (2018·武昌调研考试)执行如图所示的程序框图,如果输入的a 依次为2,2,5时,输出的s 为17,那么在判断框中可以填入( )A .k <n?B .k >n?C .k ≥n?D .k ≤n?[解析] 执行程序框图,输入的a =2,s =0×2+2=2,k =1;输入的a =2,s =2×2+2=6,k =2;输入的a =5,s =2×6+5=17,k =3,此时结束循环,又n =2,所以判断框中可以填“k >n ?”,故选B.[答案] B[例2] (2018·全国卷Ⅱ)为计算S =1-12+13-14+…+199-1100,设计了如图所示的程序框图,则在空白框中应填入( )A .i =i +1B .i =i +2C .i =i +3D .i =i +4[解析] 由题意可将S 变形为S =⎝⎛⎭⎫1+13+…+199-⎝⎛⎭⎫12+14+…+1100,则由S =N -T ,得N =1+13+…+199,T =12+14+…+1100.据此,结合N =N +1i ,T =T +1i +1易知在空白框中应填入i =i +2.故选B.[答案] B[解题技法] 程序框图完善问题的求解方法(1)先假设参数的判断条件满足或不满足;(2)运行循环结构,一直到运行结果与题目要求的输出结果相同为止; (3)根据此时各个变量的值,补全程序框图.[题组训练]1.(2018·凉山质检)执行如图所示的程序框图,设输出的数据构成的集合为A ,从集合A 中任取一个元素a ,则函数y =x a ,x ∈[0,+∞)是增函数的概率为( )A.47B.45C.35D.34解析:选C 执行程序框图,x =-3,y =3;x =-2,y =0;x =-1,y =-1;x =0,y =0;x =1,y =3;x =2,y =8;x =3,y =15;x =4,退出循环.则集合A 中的元素有-1,0,3,8,15,共5个,若函数y =x a ,x ∈[0,+∞)为增函数,则a >0,所以所求的概率为35.2.(2019·珠海三校联考)执行如图所示的程序框图,若输出的n 的值为4,则p 的取值范围是( )A.⎝⎛⎦⎤34,78B.⎝⎛⎭⎫516,+∞C.⎣⎡⎭⎫516,78D.⎝⎛⎦⎤516,78解析:选A S =0,n =1;S =12,n =2;S =12+122=34,n =3;满足条件,所以p >34,继续执行循环体;S =34+123=78,n =4;不满足条件,所以p ≤78.输出的n 的值为4,所以34<p ≤78,故选A.3.(2019·贵阳适应性考试)某程序框图如图所示,若该程序运行后输出的值是137,则整数a 的值为( )A .6B .7C .8D .9解析:选A 先不管a 的取值,直接运行程序.首先给变量S ,k 赋值,S =1,k =1,执行S =S +1k (k +1),得S =1+11×2,k =2;执行S =1+11×2+12×3,k =3;……继续执行,得S =1+11×2+12×3+…+1k (k +1)=1+⎝⎛⎭⎫1-12+⎝⎛⎭⎫12-13+…+⎝⎛⎭⎫1k -1k +1=2-1k +1,由2-1k +1=137得k =6,所以整数a =6,故选A.考点三 基本算法语句[典例] 执行如图程序语句,输入a =2cos 2 019π3,b =2tan 2 019π4,则输出y 的值是( )A .3B .4C .6D .-1[解析] 根据条件语句可知程序运行后是计算y =⎩⎪⎨⎪⎧a (a +b ),a <b ,a 2-b ,a ≥b ,且a =2cos 2 019π3=2cos π=-2,b =2tan 2 019π4=2tan 3π4=-2.因为a ≥b ,所以y =a 2-b =(-2)2-(-2)=6, 即输出y 的值是6. [答案] C[变透练清]1. 执行如图所示的程序,输出的结果是________.i =11S =1DOS =S*ii =i -1LOOP UNTIL i<9PRINT S END解析:程序反映出的算法过程为 i =11⇒S =11×1,i =10; i =10⇒S =11×10,i =9; i =9⇒S =11×10×9,i =8;i =8<9退出循环,执行“PRINT S ”. 故S =990. 答案:9902.阅读如图所示的程序.a 的值是________. 解析:由题意可得程序的功能是计算并输出a =⎩⎪⎨⎪⎧2+a ,a >2,a ×a ,a ≤2的值, 当a >2时,由2+a =9得a =7; 当a ≤2时,由a 2=9得a =-3, 综上知,a =7或a =-3. 答案:-3或7[课时跟踪检测]1.(2019·湖北八校联考)对任意非零实数a ,b ,定义a *b 的运算原理如图所示,则(log222)*⎝⎛⎭⎫18-23=( )A .1B .2C .3D .4解析:选A 因为log222=3,⎝⎛⎭⎫18-23=4,3<4,所以输出4-13=1,故选A. 2.执行如图所示的程序框图,则输出的x ,y 分别为( )A .90,86B .94,82C .98,78D .102,74解析:选C 第一次执行循环体,y =90,s =867+15,不满足退出循环的条件,故x =90;第二次执行循环体,y =86,s =907+433,不满足退出循环的条件,故x =94;第三次执行循环体,y =82,s =947+413,不满足退出循环的条件,故x =98;第四次执行循环体,y =78,s =27,满足退出循环的条件,故x =98,y =78.3.(2018·云南民族大学附属中学二模)执行如图所示的程序框图,若输出的k 的值为6,则判断框内可填入的条件是( )A .s >12?B .s >710?C .s >35?D .s >45?解析:选B s =1,k =9,满足条件;s =910,k =8,满足条件;s =45,k =7,满足条件;s =710,k =6,不满足条件.输出的k =6,所以判断框内可填入的条件是“s >710?”.故选B.4.(2019·合肥质检)执行如图所示的程序框图,如果输出的k 的值为3,则输入的a 的值可以是( )A .20B .21C .22D .23解析:选A 根据程序框图可知,若输出的k =3,则此时程序框图中的循环结构执行了3次,执行第1次时,S =2×0+3=3,执行第2次时,S =2×3+3=9,执行第3次时,S =2×9+3=21,因此符合题意的实数a 的取值范围是9≤a <21,故选A.5.(2019·重庆质检)执行如图所示的程序框图,如果输入的x =0,y =-1,n =1,则输出x ,y 的值满足( )A .y =-2xB .y =-3xC .y =-4xD .y =-8x解析:选C 初始值x =0,y =-1,n =1,x =0,y =-1,x 2+y 2<36,n =2,x =12,y=-2,x 2+y 2<36,n =3,x =32,y =-6,x 2+y 2>36,退出循环,输出x =32,y =-6,此时x ,y 满足y =-4x ,故选C.6.(2018·南宁二中、柳州高中联考)执行如图所示的程序框图,若输出的结果s =132,则判断框中可以填( )A.i≥10? B.i≥11?C.i≤11? D.i≥12?解析:选B执行程序框图,i=12,s=1;s=12×1=12,i=11;s=12×11=132,i =10.此时输出的s=132,则判断框中可以填“i≥11?”.7.(2019·漳州八校联考)执行如图所示的程序,若输出的y的值为1,则输入的x的值为() INPUT xIF x>=1THENy=x2ELSEy=-x2+1END IFPRINT yENDA.0 B.1C.0或1 D.-1,0或1解析:选C当x≥1时,由x2=1得x=1或x=-1(舍去);当x<1时,由-x2+1=1得x=0.∴输入的x的值为0或1.)8.执行如图所示的程序框图,若输入的n=4,则输出的s=(C.20 D.35解析:选C执行程序框图,第一次循环,得s=4,i=2;第二次循环,得s =10,i =3; 第三次循环,得s =16,i =4; 第四次循环,得s =20,i =5.不满足i ≤n ,退出循环,输出的s =20.9.(2018·洛阳第一次统考)已知某算法的程序框图如图所示,则该算法的功能是( )A .求首项为1,公差为2的等差数列的前2 018项和B .求首项为1,公差为2的等差数列的前2 019项和C .求首项为1,公差为4的等差数列的前1 009项和D .求首项为1,公差为4的等差数列的前1 010项和解析:选D 由程序框图得,输出的S =(2×1-1)+(2×3-1)+(2×5-1)+…+(2×2 019-1),可看作数列{2n -1}的前2 019项中所有奇数项的和,即首项为1,公差为4的等差数列的前1 010项和.故选D.10.(2018·郑州第一次质量测试)执行如图所示的程序框图,若输出的结果是7,则判断框内m 的取值范围是( )A .(30,42]B .(30,42)C .(42,56]D .(42,56)解析:选A k =1,S =2,k =2;S =2+4=6,k =3;S =6+6=12,k =4;S =12+8=20,k =5;S =20+10=30,k =6;S =30+12=42,k =7,此时不满足S =42<m ,退出循环,所以30<m ≤42,故选A.11.(2019·石家庄调研)20世纪70年代,流行一种游戏——角谷猜想,规则如下:任意写出一个自然数n ,按照以下的规律进行变换,如果n 是奇数,则下一步变成3n +1;如果n 是偶数,则下一步变成n2.这种游戏的魅力在于无论你写出一个多么庞大的数字,最后必然会落在谷底,更准确地说是落入底部的4-2-1循环,而永远也跳不出这个圈子,下列程序框图就是根据这个游戏而设计的,如果输出的i 值为6,则输入的n 值为( )A .5或16B .16C .5或32D .4或5或32解析:选C 若n =5,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.若n =32,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.当n =4或16时,检验可知不正确,故输入的n =5或32,故选C.12.(2018·贵阳第一学期检测)我国明朝数学家程大位著的《算法统宗》里有一道闻名世界的题目:“一百馒头一百僧,大僧三个更无争.小僧三人分一个,大小和尚各几丁?”如图所示的程序框图反映了对此题的一个求解算法,则输出的n 的值为( )A .20B .25C .30D .35解析:选B 法一:执行程序框图,n =20,m =80,S =60+803=8623≠100;n =21,m =79,S =63+793=8913≠100;n =22,m =78,S =66+783=92≠100;n =23,m =77,S =69+773=9423≠100;n =24,m =76,S =72+763=9713≠100;n =25,m =75,S =75+753=100,退出循环.所以输出的n =25.法二:设大和尚有x 个,小和尚有y 个, 则⎩⎪⎨⎪⎧x +y =100,3x +13y =100,解得⎩⎪⎨⎪⎧x =25,y =75, 根据程序框图可知,n 的值即大和尚的人数,所以n =25.13.已知函数y =lg|x -3|,如图所示程序框图表示的是给定x 值,求其相应函数值y 的算法.请将该程序框图补充完整.其中①处应填________,②处应填________.解析:由y =lg|x -3|=⎩⎪⎨⎪⎧lg (x -3),x >3,lg (3-x ),x <3及程序框图知,①处应填x <3?,②处应填y=lg(x -3).答案:x <3? y =lg(x -3)14.执行如图所示的程序框图,若输入的N =20,则输出的S =________.解析:依题意,结合题中的程序框图知,当输入的N =20时,输出S 的值是数列{2k -1}的前19项和,即19(1+37)2=361.答案:36115.执行如图所示的程序框图,则输出的λ是________.解析:依题意,若λa +b 与b 垂直,则有(λa +b )·b =4(λ+4)-2(-3λ-2)=0,解得λ=-2;若λa +b 与b 平行,则有-2(λ+4)=4(-3λ-2),解得λ=0.结合题中的程序框图可知,输出的λ是-2.答案:-216.执行如图所示的程序框图,如果输入的x ,y ∈R ,那么输出的S 的最大值为________.解析:当条件x ≥0,y ≥0,x +y ≤1不成立时,输出S 的值为1,当条件x ≥0,y ≥0,x +y ≤1成立时,输出S =2x +y ,下面用线性规划的方法求此时S 的最大值.作出不等式组⎩⎪⎨⎪⎧x ≥0,y ≥0,x +y ≤1表示的平面区域如图中阴影部分所示,由图可知当直线S =2x +y 经过点M (1,0)时S 最大,其最大值为2×1+0=2,故输出S 的最大值为2.答案:2。

第12章 算法与程序框图

第12章 算法与程序框图
解:算法
第一步 投票 第二步 统计票数,如果有一座城市的得票数 超过总票数的一半,那么该城市就获得举办权; 否则将得票数最少的城市淘汰,并转而执行第一步
第三步 输出举办城市
算法步骤 第一步:投票 第二步 统计票数 第三步 输出举办城市
开始 投票
有一座城市的得票数 超过总票数的一半

输出该城市为举办城市
P42例5
新课引入
算法是由一系列明确和有限的步骤组成,我们可以用自然语言表示一 个算法,但往往过程复杂,缺乏简洁性,因此必须引入一种使算法表达 的更直观,更准确的方法,这就是今天我们要学习的程序框图。
程序框图基本概念:
程序框图又称流程图,是一种用规定的框、带箭头的线(也称为流程 线或指向线)及文字说明来准确、直观地表示算法的图形。
(2)确切性 算法中的每一个步骤都是确切的,能有效的执行且能得到确定的结果,不能模 棱两可,不存在歧义 (3)可行性(或有效性) 算法的每一个步骤都是可执行的操作,即每一步都可以在有限的时间内完成。 (4)有0个、1个、或多个输入,用于刻画运算对象的初始情况。 (5)有1个或多个输出,用以反映对输入数据加工后的结果,没有输出的算法 是毫无意义的。
结束
将得票数最少 的城市淘汰 否
二、算法的三种基本逻辑结构:
开始 输入n
i=2
①顺序结构 求n除以i的余数r i的值增加1,仍用i表示
③循环结构
i>n-1或r=0?



r=0?
否否
N不是质数
N是质数
②条件结构
结束
算法千差万别,但都是由这 三种基本逻辑结构构成的.
输入n
i=2
求n除以i的余数r
i的值增加1,仍用i表示

算法与程序框图PPT优秀课件

算法与程序框图PPT优秀课件
《复习课》
算法与程序框图
算法 程序框图
算法的三种基本逻辑 结构和框图表示
顺序结构 条件分支结构
循环结构
算法
可以理解为由基本运算及规定的运 算顺序所构成的完整的解题步骤,或
者看成按照要求设计好的有限的确切
的计算序列,并且这样的步骤或序列
能够一类问题解决.
自然语言、数学语言、形式语言、框图。
程序框图 用一些通用图形符号构成一张图来 表示算法,这种图称作程序框图 (简称框图).
――[阿萨·赫尔帕斯爵士] 115.旅行的精神在于其自由,完全能够随心所欲地去思考.去感觉.去行动的自由。――[威廉·海兹利特]
116.昨天是张退票的支票,明天是张信用卡,只有今天才是现金;要善加利用。――[凯·里昂] 117.所有的财富都是建立在健康之上。浪费金钱是愚蠢的事,浪费健康则是二级的谋杀罪。――[B·C·福比斯] 118.明知不可而为之的干劲可能会加速走向油尽灯枯的境地,努力挑战自己的极限固然是令人激奋的经验,但适度的休息绝不可少,否则迟早会崩溃。――[迈可·汉默] 119.进步不是一条笔直的过程,而是螺旋形的路径,时而前进,时而折回,停滞后又前进,有失有得,有付出也有收获。――[奥古斯汀] 120.无论那个时代,能量之所以能够带来奇迹,主要源于一股活力,而活力的核心元素乃是意志。无论何处,活力皆是所谓“人格力量”的原动力,也是让一切伟大行动得以持续的力量。――[史迈尔斯] 121.有两种人是没有什么价值可言的:一种人无法做被吩咐去做的事,另一种人只能做被吩咐去做的事。――[C·H·K·寇蒂斯] 122.对于不会利用机会的人而言,机会就像波浪般奔向茫茫的大海,或是成为不会孵化的蛋。――[乔治桑] 123.未来不是固定在那里等你趋近的,而是要靠你创造。未来的路不会静待被发现,而是需要开拓,开路的过程,便同时改变了你和未来。――[约翰·夏尔] 124.一个人的年纪就像他的鞋子的大小那样不重要。如果他对生活的兴趣不受到伤害,如果他很慈悲,如果时间使他成熟而没有了偏见。――[道格拉斯·米尔多] 125.大凡宇宙万物,都存在着正、反两面,所以要养成由后面.里面,甚至是由相反的一面,来观看事物的态度――。[老子]

1.1.2算法与程序框图

1.1.2算法与程序框图

循环结构分为当型循环结构和 循环结构分为当型循环结构和直到型循环结构 当型循环结构
循环体 循环体 是 满足条件? 满足条件? 否 当型循环结构 满足条件? 满足条件? 是 直到型循环结构 否
差异:循环终止条件不同 检验条件是否成立的先后次序也不同 差异 循环终止条件不同,检验条件是否成立的先后次序也不同 循环终止条件不同 检验条件是否成立的先后次序也不同. 当型循环结构:先判断后执行循环体 先判断后执行循环体. 当型循环结构 先判断后执行循环体 直到型循环结构:先执行循环体后判断条件是否成立 先执行循环体后判断条件是否成立. 直到型循环结构 先执行循环体后判断条件是否成立
1.1.2 程序框图 与 算法的基本逻辑结构
程序框
名称
终端框 起止框) (起止框) 输入、 输入、输出框 处理框 执行框) (执行框)
功能
表示一个算法的起始和结束 表示一个算法输入和 输出的信息 赋值、 赋值、计算
判断框
判断某一条件是否成立, 判断某一条件是否成立,成立 时在出口处标明“ 时在出口处标明“是”或“Y”; ; 不成立时标明“ 不成立时标明“否”或“N”. . 连接程序框
结束
判断整数n(n>2)是否为质数”的算法: 判断整数n(n>2)是否为质数”的算法: n(n>2)是否为质数
开始 输入n 输入 i=2 设n是一个大 是一个大 的整数. 于2的整数 的整数
一般用i=i+1 一般用 表示. 表示
除以i的余数 求n除以 的余数 除以 的余数r
i=i+1 i的值增加 仍用 表示 的值增加1仍用 的值增加 仍用i表示
循环结构一定包含条件结构,用以控制循环过程 避免出现 循环结构一定包含条件结构 用以控制循环过程,避免出现 用以控制循环过程 死循环” 判断框内写上条件 判断框内写上条件,两个出口分别对应终止条件成 “死循环”.判断框内写上条件 两个出口分别对应终止条件成 立与否,其中一个指向循环体 经过循环体回到判断框的入口处. 其中一个指向循环体,经过循环体回到判断框的入口处 立与否 其中一个指向循环体 经过循环体回到判断框的入口处
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1+2+3+…+100 例8、设计一个计算13+23+33+…+1003的值的算法,并画出程序框图。(p9例5) 算法分析:只需要一个累加变量和一个计数变量,将累加变量的初始值设 为0,计数变量的值可以从1~100。 开始 程序框图 i=1 Sum=0 问题:框图中哪一个是累加 变量?哪一个是计数变量? i=i+1
i=1 Sum=0
i=i+1 sum=sum+i2
i≤100
输出sum 结束
3、算法步骤 第一步:输入人数x,设收取的卫生费为m元。 第二步:判断x与3的大小,若x>3,则费用为m=5+(x-3)×1.2;若x≤3,则费用 为m=5。 开始 第三步:输出m 程序框图: 输入人数x y X>3 n
m=5+(x-3)×1.2
Sum=sum+i
i≤100
否 是
输出sum
结束
思考:根据对条件的不同处理,循环结构又分为两种——当型(while型) 和直到型(until型)。 当型循环在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循 环体,不满足则停止; 直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不 满足时执行循环体,满足则停止。 按照这种分类,例8的循环结构属于哪一种?你能用另一种形式来表达这个问 题的算法吗? 开始 开始 i=1 直到型(until型) i=1 Sum=0 Sum=0 当型(while型) i=i+1 Sum=sum+i i≤100
1.1算法与程序框图
袁清文 龙川县田家炳中学
例1、树高百尺,一只蜗牛从树底往上爬,白天爬3尺夜晚 退2尺,问几天能爬到树顶? 解决步骤: 第一步:树高:100尺 第二步:蜗牛爬的速度:(3-2)尺/天 第三步:最后三尺用的时间:1天;
97 第四步:爬完前97尺用的时间: 天; 3 2 97 第五步:总结出爬到树顶需时间:1 3 2 天。
(1)False或.F.
(2)True或.T. (3)True或.T.
例6、已知一个三角形的三边边长分别为2,3,4,利用海伦—秦九韶公式 设计一个算法,求出它的面积,画出算法的程序框图。(p7例3) (海伦—秦九韶公式:已知三角形三边边长分别为a、b、c,则三角形的面 积为 s p( p a)( p b)( p c)其中p a b c )
所以我们需要对x的符号进行判断,根据判断的结果决定|x|的取值。 开始 输入x 是
程序框图
X≥0?

输出x
输出-x
结束
习题1.1 A组 1、下面是关于城市居民生活用水收费的问题。 为了加强居民的节水意识,某城市制定了以下生活用水收费标准:每户每月 用水未超过
2、算法分析:用循环结构解决本题,设累加变量为sum,其初始值为0,计 数变量为I,其值从1变到100。 具体算法用程序框图表示如下: 开始
各类表达式
表达式类型
算术表达式
表达式 (5-3)*6 2^3 25^(1/2) 8 14/7+15 6-ABS(3-12)
表达式的值 12 8 5 8 17 -3
.T. .F. .F. .T. .T. .F. „Good‟ „Good morning‟
.T. 4<3 逻辑表达式 32>=100 2<>3 NOT(4<3) (4<3)AND(6>5)OR(7>8) „Good‟ 字符串表达式 „Good‟+‟Morning‟
否 是
Sum=sum+i
i=i+1
i>100
是 否
输出sum
结束
输出sum 结束
例5、任意给定一个大于1的整数n,设计一个算法对n是否为 质数做出判定。(质数:只能被1和自身整除的大于1的整数.) (P3例1)
开始
算法分析:
根据质数的定义,很容易设计 出下面的步骤: 第一步:判断n是否等于2, 若n=2,则n是质数;数n>2,则 执行第二步。 第二步:依次从2~(n-1) 检验是不是n的因数,即整除n 的数。若有这样的数,则n不 是质数;若没有这样的数,则 n是质数。
一、算法的概念 算法(algorithm)这个词出现于12世纪,指的是用阿拉伯 数字进行运算的过程。在数学中,现代意义上的“算法”通常 是指可以有计算机来解决的某一类问题的程序或步骤,这些程 序或步骤必须是明确和有效的,而且能够在有限步之内完成。
处理同一个问题可能有不同的算法,采用什么样的算法更简 单、方便呢 例2、著名数学家华罗庚“烧水泡茶”的两个算法。 算法一 第一步:烧水; 第二步:水烧开后,洗刷茶具; 第三步:沏茶。 算法二 第一步:烧水; 第二步:烧水过程中,洗刷茶具; 第三步:水烧开后沏茶。 大家讲讨论一下这两个算法的区别在哪里? 哪 个算法更高效?为什么? 区别是在什么时间洗刷茶具。第二个算法的科学性 在于应用了“统筹方法”。因此,我们可以明白一个好 算法必须用到科学的方法。我们应该好好学习各学科处 理问题的科学方法。
练习:计算下列表达式的值 1、6^3-SQRT(36) 2、NOT(NOT(3>=4)) 3、(2>3)OR(3>4) 1、210 2、.F. 3、.F.
将下列数学表达式改写成程序语言表达式:
(1). cos a sin b ab
b b 2 4ac (2). 2a
(3).a x b
输入n
Flag=1

n是大于1的整数
n>2

d =2
d整除n?

flag=0

D=d+1

d<=n-1且 flag=1?
是 Flag=1?
这是判断一个大于上的整 数是否为质数的最基本的算法
n是质数 结束
n不是质数
探究:画出用二分法求方程x22=0的近似根(精确度为0.005) 的程序框图,并指出哪些部分构 成顺序结构、条件结构和循环结 构?
图形符号 名称 终端框(起止框) 输入、输出框 处理框(执行框) 说明 表示一个算法的开始或者结束 框内标输入、输出内容 框内标明所进行的处理 框内标明判断条件,框外标明 条件成立及不成立的不同流向 表示从某一框到另一框的流向
判断框 带箭头的流线
例4、用流程图描述求一元二次方程:
ax bx c 0(a 0)
m=5
输出m 结束
习题1.1 B组 1、算法步骤: 第一步:把计数变量n的初值 设为1. 第二步:输入一个成绩r,判断 r与6.8的大小,若r≥6.8,则执 行下一步;若r<6.8, 则输出r, 并执行下一步。 第三步:使计数变量n的值增 加。 第四步:判断计数变量n与成 绩个数9的大小,若n≤9,则返 回第二步;若n>9, 则结束。 是
例3、求1+2+3+·+100的和。 · ·
算法分析:
第一步:对称地取前后两数相加,即1+100,2+99, 3+98,·,50+51,得出两数之和都是101的规律。 · · 第二步:这样的和式共有
100 2
个,即50个 ;
100 第三步:总结出计算方法:101× 2
第四步:计算上式得出结果5050。 方法二:直接累加求1+2+3+ ·+100的和,虽然也能求得 · · 结果,但是要做99次加法,这显然是十分烦琐的。
开始 n=1输入rR Nhomakorabea6.8 是

输出r
n=n+1
n≤9?
否 结束
A1x+b1y=c1 A2x+b2y=c2
① ②
a u 2 ,由②+①×u得 第一步:判断a1是否等于0,如果a1≠0,令 a1
(b2+b1)y=c2+c1u 如果a1=0,计算 第二步:
1.2
基本算法语句
• 计算机完成任何一项任务都需要算法。但是,我们用 自然语言或程序框图描述的算法,计算机是无法“理 解”的,因此还需要将算法用计算机能够理解的程序 设计语言(programming language)翻译成计算机程序。 • 程序设计语言有很多种。为了实现算法中三种基本的 逻辑结构:顺序结构、条件结构和循环结构,各种程 序设计语言中都包含下列基本的算法语句。
2
实数根的算法(如下图)
用程序框图来表示算法,算法的基本逻辑结构展现得非常清 楚,一共有三种不同的基本逻辑结构,分别称为顺序结构、条件 结构和循环结构。 顺序结构:完全按照框图的排列顺序执行的结构。如下图:
语句1 语句2
不成立
条件
成立
条件不成立时 要处理的问题
条件成立时要 处理的问题
语句3
顺序结构
A+b>c,a+c>b, b+c>a是否同 时成立 是
存在这样的 三角形 结束

不存在这样 的三角形
从某处开始,按照一定条件,反复执行一处理步骤,就是循环结构。反复执 行的处理步骤循环体。显然,循环结构中一定包含条件结构。 在循环结构中,通常都有一个起到循环计数作用的变量,这个变量的取值一 般都含在执行或中止循环体的条件中。
x y (4).2 sin x y
(1).ABS(cos a+sin b)/(a+b) (2).(-b+SQRT(b^2-4*a*c))/2*a
(3).a < = x < = b
(4).2*sin ((x-y)/(x+y))
请用True或False填写表达式的值(大小写都可以)。 (1). NOT(3<4)AND(3>2) (2). NOT(5>6)AND(5<6) (3). (1>2)OR(3<4) AND NOT(6>7)
相关文档
最新文档