一、算法的基本结构.
算法的基本结构及设计

课 堂 小 结
课 堂 小 结
• 由若干个依次执行 的处理步骤组成的 逻辑结构。这是任 何一个程序都离不 开的基本结构。
• 在一个算法中,经常 会遇到一些条件的判 断,算法的流程根据 条件是否成立有不同 的流向,这种算法结 构称为条件结构。
A B
真 步骤甲
条件
假
步骤乙
Tornado_lwp设计
2.1 顺序结构与选择结构 2.2 变量与赋值
2.3 循环结构
程序框图
算法框图 流程图
顺序结构与选择结构
是一种用规定的图形、指向线
及文字说明来准确、直观地表
示算法的图形。
起、止框
顺序结构与选择结构
流 程 图 常 用 图 形
输入、输出框
处理框
判断框 流程线
顺序结构与选 择结构
开始
算法分析: 输入x
设计程序框图
第一步,判断x是否大于0, 若x>0,则x的绝对值等于x,令m=x; 否 x>0 若x≤0,则执行第二步. 是 第二步, x的绝对值等于-x, 令m=-x; m=x m=-x 第三步,输出m.
输出m 结束
选 择 结 构
算法框图
• 由若干个依次执行 的处理步骤组成的 逻辑结构。这是任 何一个程序都离不 开的基本结构。
1, x 0 y 0, x 0 1, x 0
,
设计程序框图求对于任意给定x值,求y的值。
流程图
图形符号 名称
终端框(起止框) 输入、输出框 处理框(执行框) 判断框 流程线 连接点
功能
表示一个算法的起始和结束 表示输入和输出的信息 赋值和计算 用于判断,有两个出口 连接流程框,指明方向 连接程序框图的两个部分
1.1.2程序框图与算法的基本逻辑结构

解决方法就是加上一个判断,
直到型ቤተ መጻሕፍቲ ባይዱ构
例8 某工厂2005年的年生产总值为 200万元,技术革新后预计以后每年的年 生产总值都比上一年增长5℅.设计一个程 序框图,输出预计年生产总值超过300万 元的最早年份. 算法步骤: 第一步,输入2005年的年生产总值. 第二步,计算下一年的年生产总值. 第三步,判断所得的结果是否大于 300.若是,则输出该年的年份;否则,返 回第二步. (1)确定循环体:设a为某年的年生产 总值,t为年生产总值的年增长量,n为 年份,则循环体为t=0.05a,a=a+t,n=n+1. (2)初始化变量: n=2005, a=200. (3)循环控制条件: a>300
开始 输入n
i=2
顺序结构
求n除以i的余数r i的值增加1,仍用i表示 i>n-1或r=0? 是 r=0? 否 否 N是质数 结束
循环结构
是
N不是质数
条件结构
2.算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。
算法千差万别,但都是由这 三种基本逻辑结构构成的.
输入n
i=2
求n除以i的余数r
输出“ n 是质数” 结束
(1)顺序结构 顺序结构是最简单的算法结构,语句与语句 之间,框与框之间是按从上到下的顺序进行的, 它是由若干个依次执行的处理步骤组成的,它是 任何一个算法都离不开的一种基本算法结构。 顺序结构在程序框图中的体现就是用流程线 将程序框自上而下地连接起来,按顺序执行算法 步骤。
否
s=s+i i=i+1 否 i>100? 是
循环结构中都有一个计数变量和累加变量, 判断是否已经加到了 100,如果加到 计数变量用以记录循环次数,同时它的取值还 用于判断循环是否终止,累加变量用于输出结 了则退出,否则继续加。 果,累加变量和计数变量一般是同步执行的, 累加一次,计数一次 . 请填上判断的条件。
算法(流程图)的三种基本结构

功能
表示一个算法的 开始和结束
表示一个算法的 输入和输出信息
赋值,执行计算语句, 结果的传送
表示判断某一个条件 是否成立
表示执行步骤的路径 流程进行的方向
程序的三种结构
程序的三种结构
顺序结构
选择结构
循环结构
顺序结构
各操作是按先后顺序执行的。是最简单的一种基本结构。
A
B
其中A和B两个框是顺序执行的。即在完成A框所指定 的操作后,必然接着执行B框所指定的操作,
没有判断框和回指的流程线。
选择结构
又称分支结构。根据是否满足给定条件而从两组操作中选择执行 一种操作。至少有一个判断框,没有回指的流程线。 入口
成立
不成立
P
A
B
出口
选择结构
某一部分的操作可以为空操作。 入口成立Fra bibliotek不成立
P
A
出口
选择结构
某一部分的操作可以为空操作。 入口
成立
不成立
P
B
出口
再来看一个“求较小数”的流程图和程序代码。
循环结构
又称重复结构。用来描述反复执行某一部分算法的操作。 循环结构又分为直到型结构和当型结构。 有回指的流程线
当型结构
条件成立时,反复执行某一部分的操作,当条件不成立时退出 环。 特点:A可能一次也没执行到。 入口
不成立
P
成立
A
出口
直到型结构
先执行某一部分的操作,再判断条件,当条件成立时,退出循 环;条件不成立时,继续循环。
2.用表格描述算法 表格是一种常用的事物关联结构描述方法,在程 序设计中,用来表现规律化算法的一种方式,适合表 达模块关系、数据传递关系、函数变量关系等内容。
算法及其基本结构教案及反思

算法及其基本结构教案及反思教案标题:算法及其基本结构教案及反思教学目标:1. 了解算法的概念和基本结构;2. 掌握常见的算法基本结构:顺序结构、选择结构和循环结构;3. 能够用伪代码描述算法的基本结构;4. 能够分析和解决简单问题的算法。
教学准备:1. 教师:计算机、投影仪、白板、黑板笔;2. 学生:计算机、纸和笔。
教学过程:一、导入(5分钟)1. 引入算法的概念,与学生讨论算法在日常生活中的应用,如制定早上起床的步骤等。
2. 提出问题:你认为什么是算法?请举一个例子。
二、讲解算法的基本结构(15分钟)1. 讲解算法的三种基本结构:顺序结构、选择结构和循环结构。
2. 通过示例代码和图示说明每种基本结构的特点和使用场景。
三、练习算法的基本结构(20分钟)1. 给学生提供几个简单的问题,要求他们用伪代码描述解决问题的算法。
2. 学生分组讨论并展示他们的伪代码,教师进行点评和指导。
四、巩固与拓展(15分钟)1. 给学生提供更复杂的问题,要求他们分析并设计解决问题的算法。
2. 学生独立或分组完成算法设计,教师提供必要的指导和帮助。
五、反思(5分钟)1. 学生回答以下问题:你对算法的基本结构有了更深的理解吗?你觉得哪个部分最困难?你有什么需要进一步加强的地方?2. 教师总结本节课的教学内容,给予学生反馈和评价。
教学反思:本节课通过引入算法的概念和实际应用,讲解了算法的基本结构,并通过练习和设计算法的方式巩固了学生的理解和应用能力。
但在教学过程中,我发现一些学生对于伪代码的理解和书写仍存在困难,下一次教学中我将加强对伪代码的讲解和练习,帮助学生更好地掌握算法的表达方式。
此外,我还计划引入更多的实际问题和案例,让学生能够将所学的算法应用到实际生活中,提高他们的问题解决能力。
算法的三种基本逻辑结构-课件

开始 i=1 s=0
s=s+i
i=i+1
i>100? 是
输出s 结束
直到型循环结构
例5. 某工厂2005年的年生产总值为200万元,技术革 新后预计以后每年的年生产总值都比上一年增长5%. 设计一程序框图,输出预计年生产总值超过300万元的 最早年份。 算法分析:1、先写出解决本例的算法步骤:
开始
输入系数a,b,c
计算 b24ac
是 △<0? 否
设计算法,求一元二 次方程ax2+bx+c=0 (a≠0)的根,画出 相应的流程图
b b x1 2a ,x2 2a
输出x1,x2
输出无实数解
结束
③循环结构 在一些算法中,从否处开始,按照一定条件,
反复执行某一处理步骤的情况,这就是循环结构。反复执行的 处理步骤称为循环体。
•
17、一个人即使已登上顶峰,也仍要 自强不 息。2021/3/52021/3/52021/3/52021/3/5
谢谢观赏
You made my day!
我们,还在路上……
•
14、意志坚强的人能把世界放在手中 像泥块 一样任 意揉捏 。2021年3月5日星期 五2021/3/52021/3/52021/3/5
•
15、最具挑战性的挑战莫过于提升自 我。。2021年3月2021/3/52021/3/52021/3/53/5/2021
•
16、业余生活要有意义,不要越轨。2021/3/52021/3/5Marc h 5, 2021
3
开输结始出束s s
p p ( p 2 2 ) ( 3 3 p 3 4 ) ( p 4 )
②条件结构(选择结构)算法的流程根据条件是否成立有不同的流向
算法的三种基本逻辑结构和框图

“P=P+I”怎样理解?
变量P在计算机中由一个地址单元和一 个存储单元组成,计算机工作时,先找 到P的地址单元,用读写头读出存储单元 的内容,将此内容送到运算器中,进行 P+I的运算,再用读写头读出运算器的运 算结果,将它送到P的地址单元,将运算 结果写入存储单元,同时原先存储的内 容被擦去,这样就完成了用P+I代替P的 过程,这一过程也可以写成“P=P+I”.
这种循环结构称为当型循环结构,你能 指出当型循环结构的特征吗?
思考2:某些循环结构用程序框图可以表
示为:
在执行了一次循
环体后,对条件
循环体
进行判断,如果
条件不满足,就
否
满足条件?
继续执行循环体,
是
直到条件满足时
终止循环.
这种循环结构称为直到型循环结构, 你能指出直到型循环结构的特征吗?
循环结构分为当型循环结构和直到型循环结构
例3. 求过两点P1(x1,y1),P2(x2,y2)的直 线的斜率,设计该问题的算法并画出程序
框图。 解:由于当x1=x2时,过两点P1、P2的直 线的斜率不存在,只有当x1≠x2时,才可 根据斜率公式求出,故可设计如下的算法
和程序框图.
S1 输入x1,y1,x2,y2; S2 如否果则x1k=x2yx,22 输xy11出;“ 斜率不存在”; S3 输出k.
开始
输入x 1,y 1,x 2,y 2
是 输出 斜率不存在
判断x 1=x 2
否 y 2-y 1
k= x 2-x 1
输出k
结束
例4、设计求一个数x的绝对值的算法, 并画出相应的程序框图。
解:算法如下: S1:输入x; S2:如果x≥0,则y=x,
算法的三种基本结构,

算法的三种基本结构
算法的三种基本结构包括顺序结构、选择结构和循环结构。
1.顺序结构:顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的。
它由若干个依次执行的步骤组成。
2.选择结构:选择结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。
3.循环结构:在一些算法中,经常会出现从某处开始。
按照一定条件,反复执行某一处理步骤的情况,这就是循环结构。
这三种基本结构是构成所有算法的基础,任何复杂的算法都是由这三种基本结构组成的。
制表:审核:批准:。
算法框图的基本结构及设计

例2
设计一个求解一元二次方程
ax + bx + c = 0
2
开始 输入a,b,c ∆=
的算法,并画出 程序框图表示.
b 2-4ac
是 ∆<0 否
x1 =
x2 =
−b + ∆ 2a
−b − ∆ 2a
输出x 1 ,
x2
方程无实数根
结束
(3)循环结构
循环结构指的是按照一定的条件反复执行的某些算法步骤. 反复执行的步骤称为循环体.
1.2x, 0 ≤ x ≤ 7; y= 1.9x - 4.9,x > 7.
解:算法步骤: 一、输入用户每月用水量x. 二、判断输入的x是否不超过7, 若是,则计算y=1.2x,若不是,则 计算y=1.9x-4.9. 三、输出用户应交纳的水费y.
开始 输入用水量
0 ≤ x ≤ 7?
否
是
y =1.2x
1.程序框图
程序框图又称流程图,是一种用程序框、 程序框图又称流程图,是一种用程序框、流 程线及文字说明来表示算法的图形 一个程序框图包括以下几部分: 一个程序框图包括以下几部分:表示相应操 作的程序框;带箭头的流程线; 作的程序框;带箭头的流程线;程序框外必要的 文字说明。 文字说明。
构成程序框的图形符号及其作用 图形符号 名 称 功 能
解决方法就是加上一个判断,
直到型结构
P15. 设计一个算法,表示输出 1,1+2,1+2+3,…, 1+2 +3+…+(n-1)+n(n∈N*)的过程.
开始
输入n
第一步,令i=1,S=0. 第二步,计算S=S+i. 第三步,计算i=i+1. 第四步,判断i>n是否成立, 若是,则输出S;否则返回第二步..
计算机算法基础体系结构

计算机算法基础体系结构计算机算法是计算机科学的重要基础,主要用于解决各种问题和优化计算过程。
算法指的是一组明确定义的步骤,这些步骤用于解决特定的问题或达到特定的目标。
计算机算法的设计和分析是计算机科学的一个重要方向,其基本目标是提高计算机运行效率和性能。
算法的设计本质上是解决问题的方法和技术的抽象和构造过程。
计算机算法研究的基本问题包括算法的正确性、效率和复杂性等方面。
算法的正确性指的是算法所得到的结果是否符合问题的要求,并且能够在给定的时间内产生正确的结果。
算法的效率是指算法在运行时间和所使用的计算资源方面的表现。
算法的复杂性是指在最坏情况下运行时间和所使用的计算资源的增长速度。
算法的复杂性是一个非常重要的指标,用于评估算法的性能和效率。
1.数据结构:数据结构是指计算机中存储和组织数据的方式和方法。
常见的数据结构包括数组、链表、栈、队列、树、图等。
不同的数据结构适用于不同的问题和场景,选择合适的数据结构可以提高算法的效率和性能。
2.排序算法:排序算法是计算机算法中最基本和常用的一类算法。
排序算法用于将一组元素按照其中一种规则进行排列,使得元素之间具有一定的顺序关系。
常见的排序算法包括冒泡排序、插入排序、选择排序、归并排序、快速排序等。
不同的排序算法有着不同的时间复杂度和空间复杂度,选择合适的排序算法可以提高排序过程的效率。
3.查找算法:查找算法是指根据给定的条件在一组元素中查找特定的元素。
常见的查找算法包括线性查找、二分查找、哈希查找等。
不同的查找算法适用于不同的数据结构和问题,选择合适的查找算法可以提高查找过程的效率。
4.图算法:图算法是计算机算法中的一个重要部分,主要用于解决与图相关的问题。
图是一种用于表示元素之间关系的数据结构,常见的图算法包括深度优先、广度优先、最短路径算法、最小生成树算法等。
图算法在网络、社交网络、计算机网络等领域有着广泛的应用。
5.动态规划:动态规划是一种通过将问题分解成子问题,并进行存储和重复利用已解决的子问题结果的方法。
算法的三种基本逻辑结构和框图表示.ppt

输入a,b,c
否 a+b>c,a+c>b,b+c>a
是否同时成立?
是
存在这样的 三角形
不存在这样 的三角形
结束
四、应用举例
例1.已知点 P0 (x0, y0 ) 和直线 l : Ax By C 0,求点 P0 (x0, y0 ) 到直线 l 的距离 d 。 解:(1)用数学语言来描述算法: S1:输入点的坐标 x0 , y0 ,输入直线方程的系数A,B, C;
y 1
输出y 结束
当x输入,-2,0,2时运行结果
分别是
。
四、应用举例
例3.写出下列程序框图的运行结果。
(3)已知函数 f (x) | x 3 | ,程序框图表示的是给 出x值,求相应的函数值的算法。将框图补充完整。
其中①处应填写 x 3 ;
②处应填写 y x 3 。
五、课堂练习
普通高中课程标准数学3(必修)
第一章 算法初步
1.1. 3 算法的三种基本逻辑结构和 框图表示(约3课时)
第一课时
一、复习引入
1.程序框图的概念
通常用一些通用图形符号构成一张图来表示算法。 这种图称做程序框图(简称框图)也叫流程图。
程序框
名称
功能
起止框
表示一个算法的起始和结束,是任何 流程图不可少的。
概念1.顺序结构 三角形ABC的底BC为4, 高AD 为2,求三角形ABC的面积S,试 设计该问题的算法和流程。
开始
输入a=4,h=2
计算 S=1/2ah
输出S
结束
1.1.2程序框图和算法的基本逻辑结构(1)

输入r
圆的面积S=πr2;
第三步: 得到圆的面积S.
S = pr 2
输出S
你能画出这个算法的程序框图吗?
结束
课内巩固训练1:
已知P0(x0,y0)和直线l :Ax+By+C=0,写出求点P0到直线l 的 距离d 的算法,并用程序框图来描述。
开始
第一步: 输入x0 ,y0 , A , B , C . 第二步: 计算 d 第三步: 输出d.
第三步,计算 S p( p a)( p b)( p c) . 第四步,输出S.
p=
a + b+ c 2
S = p( p - a )( p - b)( p - c)
输出S
上述算法的程序框图如何表示?
结束
教材5页练习
1、任意给定一个正实数,设计一个算法求以这个数为半 径的圆的面积.
第一步: 给定一个正实数r; 第二步: 计算以r为半径的
是
0( x 0) y 1(0 x 1) x( x 1)
y=x
y=1
y=0
输出y
结束
课堂小结
顺序结构
步骤n
步骤n+1
课堂小结
条件结构
否 否
满足条件?
满足条件?
是
步骤A 步骤B
是
步骤A
(1)
(2)
边长的三角形是否存在.画出这个算法的程序框图. 开始 算法步骤如下:
第一步:输入3个正实数 a,b,c;
输入a,b,c
a+b>c, a+c > b,b+c > a是否同 时成立? 是 存在这样的 三角形 结束 不存在这样 的三角形 否
算法的三种基本逻辑结构和框图表示(一)

开始
输入x
y =lnx
S3 输出y的值.
输出y
结束
例3. 已知点P0(x0,y0)和直线l: Ax+By+C=0,求点P0(x0,y0)到直线l的 距离d. 解:(1)用数学语言表达: S1 输入点的坐标x0,y0,输入直线方程 的系数A,B,C; S2 计算z1=Ax0+By0+C; S3 计算z2=A2+B2; |z | S4 计算 d z ; S5 输出d.
3.写出右边程序流程图的运 算结果:如果输入R=8,那 么输出a= 4 。
开始Biblioteka 输入 Rb R 2
a=2b
输出 a
结束
4.已知三角形的三边a,b,c,计算该三角 形的面积。写出算法,并用流程图表示出 来。 解:算法如下: S1 输入a,b,c; S1 计算p=(a+b+c)/2;
S2 利用公式
S
S3 输出S
{输出圆的面积}.
流程图:
开始 r=10
S=πr2
输出S
结束
例5. 设计一个尺规作图的算法来确定线段 AB的一个五等分点,并画出流程图。 解:算法如下: S1 从A点出发作一条与原直线不重合的 射线; S2 任取射线上一点C,以AC为单位长 度,在射线上依次作出点E、F、G、D, 使AD=5AC ; S3 连接BD,并过点C作BD的平行线交 AB于M,M就是要找的五等分点.
1 2
流程图 :
开始
输入x0,y0, A,B,C z1=Ax0+By0+C
z2=A2+B2
d | z1 | z2
输出d 结束
例4 . 半径为r的圆的面积计算公式为 S=πr2,当r=10时,写出计算圆面积的算 法,画出流程图。 解:算法如下: S1 r=10 {把10赋给变量r}; S2 S=πr2 {用公式计算圆的面积};
算法的基本结构(2)

1、设计一个计算1+2+3+…+100的值的算 法,并画出程序框图。
算法如下: 第一步:i=1; 第二步:sum=0;
例1、设计一个计算1 +2+3+…+100的值 的算法,并画出程序
框图。
第三步:sum=sum+i;
第四步:i=i+1;
第五步:如果i不大于100,返回重新执行第三
步,第四步,第五步,否则,算法结束,最后
课堂练习
1.画出求T=1×2×3×…×100问题的程序框图. 第一步:设i=1,T =1;
第二步:如果i≤100执行第三步,否则执行第五步; 第三步:计算T×i并将结果代替T;
第四步:将i+1代替i,转去执行第二步; 第五步:输出T.
开始 i=1 T=1
T=T×i
i=i+1
否 是
i >100? 输出T 结束
得到的sum值就是1+2+3+…+100的值。
1.设计一个计算 1+2+3+…+100的 程序框图. 解:由于加数 较多,采用逐 个相加的方法 程序太长,是 不可取的,因 此应采取引入 变量应用循环 的办法。
开始 i=1 S=0
i=i+1
S=S+i
是
i≤100?
否
输出s
结束
开始
1.设计一 个计算 1+2+3+… +100的程 序框图.
第一步:从1开始将自然 数1,2,3,…,100逐个相加;
S=S + 1 S=S+ 2 S=S + 3 … S=S + 100
第二步:输出累加结果. 思考: S=S + i 1.上边的式子有怎样的规律呢? 2.怎么用程序框图表示呢? 在一些算法中,经常会出现从某处开始,反 复执行某一处理步骤,这就是循环结构.
算法的基本逻辑结构-循环结构讲解

思考1:该算法中哪几个步骤可以用顺序 结构来表示?这个顺序结构的程序框图 如何?
f(x)=x2-2
输入精确度d 和初始值a,b
m ab 2
思考2:该算法中第四步是什么逻辑结构 ?这个步骤用程序框图如何表示?
赋值、计算
)
判断框
判断某一条件是否成立,成立时 在出口处标明“是”或“Y”,不 成立时标明“否”或“N”.
流程线
连接程序框
连结点
连接程序框图的两部分
6
开始
顺
输入n
序
i=2
结
构
求n除以i的余数
循
i的值增加1,仍用i表示
环
i>n-1或r=0?
否
结
构
是
r=0?
否
条
是
件
结
n不是质数
n是质数 构
结束
2、算法的三种基本逻辑结构 顺序结构、条件结构、循环结构。
第三步,判断所得的结果是否大于300. 若是,则输出该年的年份; 否则,返回第二步.
循环结构:
(1)循环体:设a为某年的年生产总值
,t为年生产总值的年增长量,n为年份 ,则t=0.05a,a=a+t,n=n+1.
(2)初始值:n=2005,a=200.
(3)设定循环控制条件:当“a>300” 时终止循环.
否 a=m
f(a)f(m)<0? 是
b=m
思考3:该算法中哪几个步骤构成循环结 构?这个循环结构用程序框图如何表示 ?
第三步
第四步
|a-b|<d或
《算法的三种基本逻辑结构:顺序结构、条件分支结构》教学设计

《算法的三种基本逻辑结构:顺序结构、条件分支结构》教学设计教学目标:了解流程图的顺序结构、条件分支结构教学重点:条件分支结构的理解及应用.教学难点:条件分支结构的条件选择.教学过程:一、复习引入:1. 复习框图的符号和意义.2. 复习画流程图的规则3. 引入流程图的逻辑结构。
二、顺序结构1.顺序结构的概念:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
2.顺序结构一般形式顺序结构是任何一个算法都离不开的最简单、最基本的结构,用图框A 、B 、C 表示顺序结构的示意图,其中A 、B 、C 各框是依次..进行的,即在执行完A 框所指定的操作后,必然接着执行B框所指定的操作,然后再进行C 框所指定的操作。
例1.已知点),(00y x P 和直线l :Ax+By+C=0,写出求点P 到直线l 的距离d 的流程图.例2. 交换两个变量A 和B 的值,并输出交换后的值.分析:引进中间量P.解:算法如下:S1 输入A ,B 的值.S2 把A 的值赋给x.S3 把B 的值赋给A.S4 把x 的值赋给B.S5 输出A ,B 的值..注意:赋值语句提前讲授,学生能理解,否则不好画框图.例2图 例1图输入A ,B 输出A ,B 开始 结束 A=B x=A B=x三、条件分支结构1.条件分支结构:条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构.2.一般形式如图所示:图(1) 图(2)(图(1)处理2为空的情况)注意:(1)判断框根据给定的条件是否成立而选择执行某个处理。
无论条件是否成立,只能执行处理之一,不可能同时执行,也不可能都不执行。
一个判断结构可以有多个判断框。
(2)两种结构的共性:一个入口,一个出口。
特别注意:一个判断框可以有两个出口,但一个条件分支结构只有一个出口;结构中每个部分都有可能被执行,即对每一个框都有从入口进、出口出的路径。
算法的三种基本逻辑结构和框图

处输理出结S果 结束
iS 10 100 1+ …1 +100
1021 退退出 出
概念深化—循环 一起看一下如何进行循环的。
引例分析
例2 如何求1+2+4+……+263的值?
开始
开始
初始值
条件 否 是
累计变量 计数变量
处理结果 结束
初始S=值0怎,i=么1 取?
初始值
累计变量
SS==SS++22ii 循环累终计止变i<>条量6件43怎怎么么取取??
萨·班·达依尔。国王问他想要什么,他对国王说:“陛下,请 您在这张棋盘的第1个小格里赏给我一粒麦子,在第2个小格 里给2粒,第3个小格给4粒,以后每一小格都比前一小格加一 倍。请您把这样摆满棋盘上所有64格的麦粒,都赏给您的仆 人吧!” 设计程序求国王需要奖赏多少麦子。
谢谢指导
循环体
循环体
满足条件? 是
否 当型循环结构
满足条件?
否
是 直到型循环结构
差异:循环终止条件不同,检验条件是否成立的先后次序也不同. 当型循环结构:先判断后执行循环体. 直到型循环结构:先执行循环体后判断条件是否成立.
循环结构分为当型循环结构和直到型循环结构
循环体
循环体
满足条件? 是
否 当型循环结构
(2) S=S+i,i=i+1分别有何作用?
(3)能用直到型结构画出框图么?
曲径通幽
如果改为直到型结构如何修改?
开始
开始
初SS=始=00值,i,=i=11 i≤条1件00 否
是 累S计=变S+量i
计数i=i变+1量
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P=x x=y
p=x;
S2 x=y;
S3 y=p.
S4 输出x,y
y=p
输出x,y 结束
2、条件分支结构 (1)选择结构是指在算法中有时要进行判断, 判断的结果直接决定后面的执行步骤,这样的 结构叫作条件分支结构,有时也称为条件结构、 选择结构等。 (2)条件分支结构的流程图如图
是
条件
否
步骤1
步骤2
流程图如图所示:
开始 输入a,b,c 计算Δ=b2-4ac
Δ<0
N
Y
x1
b b , x2 2a 2a
输出x1,x2
输出无实数解
结束 程序2
例2 设计一个算法,任意 输入一个x,计算y = | x | , 并输出 y 的数值。
解:算法步骤 (1)输入x; (2)若x < 0,则y = - x ; (3)若x≥0,则y = x ; (4)输出y
开始
输入x x<0
是 否
y=-x
y=x
输出y 结束
思考题
关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年, 一回归年长365日5时48分46秒。因此,公历规定有平年和闰年,平 年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四 年增加一日,这一年有366日,就是闰年。但四年增加一日比四个 回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年, 也就是在400年中只设97个闰年,这样公历年的平均长度与回 归年就相近似了。由此规定:年份是整百数的必须是400的倍数才 是闰年,例如1900年、2100年就不是闰年。
例、试设计一个求一元二次方程ax2+bx+c=0(a≠0) 的根的算法,并画出流程图。
解:算法步骤如下:
(1)计算Δ=b2-4ac;
(2)如果Δ<0,则原方程无实数解;否则 ( Δ≥0),令 x1 b , x2 b
2a 2a
(3)输出解x1 ,x2或实数解的信息。 程序框图
一、算法的基本结构
尽管不同的算法千差万别,但它们都是由三种基本的 逻辑结构构成的,这三种逻辑结构就是:
1、顺序结构 2、条件分支结构
3、循环结构
1、顺序结构 (1)顺序结构:框与框之间按照从上到下的 顺序进行,这是一种最简单的算法结构,也是 任何一个算法必不可少的逻辑结构。 (2)顺序结构的程序框图:
| z1 | z2
(5)输出d. 程序框图
流程图如图所示:
开始 输入x0,y0,A,B,C Z1:=Ax0+By0+C
Z2:=A2+B2
d
| z1 | z2
输出d 结束 程序1
例1. 已知两个单元分别存放了变量x和y 的值,试交换这两个变量值,并写出一个 算法,并用流程图表示;
开始
算法 S1
A
B
例、己知点P(x0,y0)和直线l:Ax+By+C=0,求点P 到直线的距离d,设计一个算法,解决这一问题, 并画出程序框图。 解:算法步骤如下: (1)输入点的坐标x0,y0,输入直线方程的系数A, B和常数C; (2)计算:z1=Ax0+By0+C; (3)计算:z2=A2+B2; (4)计算:d
闰年有两种情况,设年份为year,则: (1)当year是4的整倍数,但不是100的倍数时为闰年 (2)当year是400的整倍数时为闰年
开始 输入y
是 否y是4的倍数源自否y是100的倍数
是 否
是
y是400的倍数
输出y是闰年
输出y不是闰年
结束