第12章 算法与程序框图

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
形象地说,变量就像个盒子,可以装不同的数值,但是总是只能 装一个.当放入新数值,也就是给变量赋予新的值时,原来的值就 会被取代.
算法的概念
给变量赋值一般格式为: “变量名=表达式” 赋值号“=”的意义是将后面的表达式的值赋给变量,也就是将表达式的值替换原 来变量,存储到这个变量所对应的存储单元中. %
解:算法
第一步 投票 第二步 统计票数,如果有一座城市的得票数 超过总票数的一半,那么该城市就获得举办权; 否则将得票数最少的城市淘汰,并转而执行第一步
第三步 输出举办城市
算法步骤 第一步:投票 第二步 统计票数 第三步 输出举办城市
开始 投票
有一座城市的得票数 超过总票数的一半

输出该城市为举办城市
如何计算选手最后得分? 第一步:100+20=120 第二步: 120+30=150 第三步:150-15=135 第四步:135+50=185
如果引入变量S S=100; S=S+20; S=S+30; S=S-15; S=S+50 输出S
可使算法的表示非常简洁。
算法的概念
问题1:结合实际过程,应当如何理解“x=x+20”这样的式子? 问题2:左右两边的x的意义或取值是否一样?能不能消去?
i>n-1或r=0?


顺序结构

r=0?
循环结构 否
N不是质数
N是质数
条件结构
你能说出这三种基本逻辑结构的特点吗? 条件结构与循环结构有什么区别和联系?
1、顺序结构
顺序结构是最简单的算法结构,语句与语句之间,框与 框之间是按从上到下的顺序进行的,它是由若干个依次执行 的处理步骤组成的,它是任何一个算法都离不开的一种基本 算法结构。 顺序结构在程序框图中的体现就是用流程线将程 序框自上而下地连接起来,按顺序执行算法步骤。
练习:
A 1、下列关于程序框图的说法正确的是 ( )
A、程序框图是描述算法的语言
B、程序框图可以没有输出框,但必须要有输入框给变量赋值
C、程序框图可以描述算法,但不如自然语言描述算法直观
D、程序框图和流程图不是一个概念
例1.写出求任意两个数的平均数的算法,并
画出程序框图
程序框图
解:算法 第一步:输入两个数a,b;
广义的算法:完成某项工作的方法和步骤。
• 菜谱是做菜的算法; • 歌谱是一首歌曲的算法; • 空调说明书是空调使用的算法等
算法的概念
例1:设计一个算法,求出1+2+3+…+10的值
解:第一步算1+2=3; 第二步3+3=6;、、、第九步45+10=55
例2:现有一杯开水和一杯茶,你能设计一个算法,将两个杯子中的开水和茶对调 吗?
有农夫看管,则狼要吃羊,羊要吃白菜。但是船很小,只够农夫带 一样东西过河。问农夫该如何解此难题?
解决步骤: 1、带羊到对岸,返回;
2、带菜到对岸,并把羊带回;
3、带狼到对岸,返回;
4、带羊到对岸。
算法Βιβλιοθήκη Baidu概念
算法(algorithm):
算法是指用来解决问题的一系列明确而有效的步骤, 是解决问题的清新的指令。
步骤A
步骤B
例3 已知一个三角形的三边分别为a、b、c,
利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图。
算法步骤:(自然语言)
第一步,输入三角形三条边的边长a,b,c.
第二步,计算 p=
a+b+c 2
第三步,计算S= p(p - a)(p - b)(p - c).
第四步,输出S.
算法步骤:(自然语言)
第一步:将茶水倒入空杯中;第二步将开水倒入茶水杯中;第三步将茶水倒入开 水杯中
算法的概念
练习:
(1)给出求 1×2×…×10的一个算法 (2)设计一个算法 从12、3、-1、2、6、9、18、5、-3、17中搜 出5.
算法的概念
变量与赋值
我们发现在设计算法的过程中,解决问题 的思想方法并不难,但描 述的时候却很繁琐,为解决这一问题我们引入变量和赋值的概念。
图形符号 名称
功能
终端框 (起止框)
表示一个算法的起始和结束
输入、输出框 表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时在出口 处 标 明 “ 是 ” 或 “ Y”, 不 成 立 时 标 明 “否”或“N”.
流程线
连接程序框
画程序框图的规则: (1)使用标准的框图符号; (2)框图一般按从上到下、从左到右的次序画; (3)框图中任意两个程序框之间都存在流程线; (4)开始框只有一个出口,结束框只有一个进口,判断框一个进口两个出口, 输入输出框有一个进口和一个出口; (5)在图形框内使用的语言要简洁明了; (6)一个程序框图包括以下几部分:开始结束的起止框;表示相应操作的处理 框;输入输出框;带箭头的流程线;如有判断框,框外必须要有文字说明.
条件结构可用程序框图表示.
满足条件? 否

步骤A
步骤B
当条件成立时,执行A步骤, 不成立时执行B步骤
例5设计一个求任意实数的绝对值的算法,并画出程序框图.
开始
解:第一步 输入x
第二步 如果x≥0,则输出x,否
输入x
则输出-x
x≥0


输出x
输出-x
结束
例6.某班有40名 学生,依次输入 这40名学生的数 学考试成绩,输 入全班学生的数 学总分和平均分。 请画出解决这个 问题的算法的程 序框图
算法的概念
例: 银行一年期定期存款年利率为3.5%,如果存入10000元,每1年后自 动转存1次.问:3年后本息和是多少?请利用变量和赋值设计一个算 法.
算法的概念 练习:
算法的特征
(1)有穷性 算法应由有限步组成,必须能在执行有限个步骤之后终止,也就是说,算法的 步骤不能是无限的。
有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操 作步骤: 第1步:检验 6=3+3 第2步:检验 8=3+5 第3步:检验 10=5+5 …… 利用计算机无穷的进行下去! 请问,利用这种程序能够证明猜想的正确性吗?这是一个算法吗?
算法的概念
例.仔细阅读下列算法: 第一步 A=1,B=2,C=3; 第二步 A=A+B,B=A+1; 第三步 A=A+B+C; 第四步 输出A,B,C. 问:最后输出的A,B,C值各为多少?
可以先后给一个变量赋多个不同的值,但变量的取值只与最后一次赋值有关 .
练习: 仔细阅读下列算法:
第一步 n=1,S=1; 第二步 n=n+1,S=S×n; 第三步 n=n+1,S=S×n; 第四步 输出n,S. 问:最后输出的n,S值各为多少?
(2)确切性 算法中的每一个步骤都是确切的,能有效的执行且能得到确定的结果,不能模 棱两可,不存在歧义 (3)可行性(或有效性) 算法的每一个步骤都是可执行的操作,即每一步都可以在有限的时间内完成。 (4)有0个、1个、或多个输入,用于刻画运算对象的初始情况。 (5)有1个或多个输出,用以反映对输入数据加工后的结果,没有输出的算 法是毫无意义的。
P42例5
新课引入
算法是由一系列明确和有限的步骤组成,我们可以用自然语言表示一 个算法,但往往过程复杂,缺乏简洁性,因此必须引入一种使算法表达 的更直观,更准确的方法,这就是今天我们要学习的程序框图。
程序框图基本概念:
程序框图又称流程图,是一种用规定的框、带箭头的线(也称为流程 线或指向线)及文字说明来准确、直观地表示算法的图形。
注意:1.赋值符号“=”左边只能是变量名字 只能写成:b=2,b=a+1, 不能写成:2=b,b+1=2.
2.在一个赋值语句中,只能给一个变量赋值,不能出现两个或两个以上的“=” 号. 如a=b=5是错误的. 3.赋值符号不同于“等号”.赋值号左右可以出现同一个变量,如n=n+1,但值可 能不 相同;而在等式中n=n+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表示
开始 i=0,s=0
输入x
S=s+x
i=i+1
i≥40


a=s/40
输入s,a
结束
(3)循环结构
循环结构指的是按照一定的条件反复执行的某些算法步骤. 反复执行的步骤称为循环体.
循环体
满足条件? 否 是
执行一次循环体后,对条件进行 判断,如果条件不满足,就继续执行 循环体,直到条件满足时终止循环.
开始 输入a,b,
第二步:计算c=a+b;
C=a+b
第三步:计算x=c/2;
x=c/2
输出x
第四步:输出x
结束
例2.2008年中国北京成功举行了第29届夏季奥林匹克运动会,在申报奥运会 的最后时刻,国际奥委会对5作申办的候选城市进行表决,其程序是:每位委 员每轮只能投1座城市,新进行第一轮投票,如果有一座城市的得票数超过总 票数的一半,那么该城市就获得举办权;如果所有城市的得票数都不超过总票 数的一半,将得票数最少的城市淘汰,然后重复上述过程,知道选出一座举办 城市为止,写出该程序的算法,并画出程序框图。
第一步,输入三角形三条 边的边长a,b,c.
第二步,计算p=. 第三步,计算S= 第四步,输出S.
开始 输入a,b,c
p=
a+b+c 2
S=
p(p - a)(p - b)(p - c).
输出S 结束
例4 现有一杯开水和一杯茶,你能设计一个算法,将 两个杯子中开水和茶对调吗,并画出程序框图
解 设原来装开水的是A杯,裝茶的是B杯,
开始
空杯子是C杯,将A 中的开水倒入C杯中记
作A→C
第一步:找一个大小与A相同的空杯子C;
第二步:将A 中的开水倒入C杯中;
第三步:将B杯中的茶倒入A杯中;
A→C C→B B→A
结束
第四步:将C杯中的开水倒入B杯中。
2、条件结构
在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是
否成立有不同的流向.条件结构就是处理这种过程的结构. 分类是算法中经常发生的事情,条件结构的主要作用就是表示分类.
探究
如图是求解一元二次方程 的 算法
1、图中有哪些框、线和文字 说明?
2、这些框、线、文字说明有 什么不同意义?
开始 输入a,b,c
△=b2-4ac
△≥0 否

x1 b
b2 4ac 2a
x2 b
b2 4ac 2a
输出x1,x2
结束
输出方程“没有实数解”
构成程序框图的图形符号及其功能
(2)确切性 算法中的每一个步骤都是确切的,能有效的执行且能得到确定的结果,不能模 棱两可,不存在歧义 (3)可行性(或有效性) 算法的每一个步骤都是可执行的操作,即每一步都可以在有限的时间内完成。 (4)有0个、1个、或多个输入,用于刻画运算对象的初始情况。 (5)有1个或多个输出,用以反映对输入数据加工后的结果,没有输出的算法 是毫无意义的。
12.2 程序框图
复习
1、算法的概念
算法是指用来解决问题的一系列明确而有效的步骤,是解决问题 的清新的指令。
2、变量赋值
给变量赋值一般格式为: “变量名=表达式”
算法的特征
(1)有穷性 算法应由有限步组 成,必须能在执行有限个步骤之后终止,也就是说,算
法的步骤不能是无限的。
有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操 作步骤: 第1步:检验 6=3+3 第2步:检验 8=3+5 第3步:检验 10=5+5 …… 利用计算机无穷的进行下去! 请问,利用这种程序能够证明猜想的正确性吗?这是一个算法吗?
变量定义:在研究问题的过程中可以取不同的值的量. 变量的表示:一般由一个或几个英文字母组成,或字母加数字 表示.如 a、s、a1等. 赋值的定义:依次给予变量不同的值叫做给变量赋值.
算法的概念
大家在看娱乐类电视节目时有没有听过类似这样的话“总分再加20分”? 知识竞赛开始时,1号选手的起始分数为100. 第一环节结束,主持人报:“1号选手得分加20.” 第二环节结束,主持人报:“1号选手得分加30.” 第三环节结束,主持人报:“1号选手得分减15.” 第四环节结束,主持人报:“1号选手得分加50.”
第12章 算法与程序框图
本章目录
12.1 算法的概念 12.2 程序框图 12.3 算法与程序框图应用举例
12.1 算法的概念
算法的概念
引入
什么是算法?
问题1:计算 6+5×(4-2)的顺序?
先算括号里的
再算乘法
后算加法
算法的概念
引入
什么是算法?
问题2:有一个农夫带一条狼、一只羊和一筐白菜过河。如果没
相关文档
最新文档