一、算法的基本结构.
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不是闰年
结束