290 likes | 442 Views
算法的基本结构及设计. 杨清孟. 课前练习:. 1. 已知点 P 0 (x 0 ,y 0 ) 和直线 L: Ax+By+C=0 ,求点 P 到直线 L 的距离 d 。设计一个算法。. 2. 给定平面内任意两点 A(x 1 ,y 1 ),B(x 2 ,y 2 ). 设计一个算法,求两点连线的斜率。. 1. 解:算法步骤如下:. (1) 输入点的坐标 x 0 ,y 0 和直线方程的系数 A.B.C. (2) 计算 Z 1 = Ax 0 +By 0 +C. (3) 计算 Z 2 = A 2 +B 2. (4) 计算. (5) 输出 d. 2. 解:算法步骤如下:.
E N D
算法的基本结构及设计 杨清孟
课前练习: 1.已知点P0(x0,y0)和直线L:Ax+By+C=0,求点P到直线L的距离d。设计一个算法。 2.给定平面内任意两点A(x1,y1),B(x2,y2).设计一个算法,求两点连线的斜率。
1.解:算法步骤如下: (1)输入点的坐标x0,y0和直线方程的系数A.B.C (2)计算 Z1=Ax0+By0+C (3)计算 Z2=A2+B2 (4)计算 (5)输出d
2.解:算法步骤如下: (1)输入点的坐标x1,y1,x2,y2 (2)判断x1是否等于x2.若x1=x2,则输出“斜率 不存在”的信息;否则计算 (3)输出k的值
(4)计算 条件 结构 顺序 结构 1.解:算法步骤如下: 2.解:算法步骤如下: (1)输入点的坐标x0,y0和直线方程的系数A.B.C (1)输入点坐标x1,y1,x2,y2 判断 (2) x1是否等于x2.若x1=x2,则输出“斜率不存在”的信息;否则计算 判断 (2)计算 Z1=Ax0+By0+C (3)计算 Z2=A2+B2 (3)输出k的值 (5)输出d
(4)计算 计算 顺序 结构 1.解:算法步骤如下: 开始 (1)输入点的坐标x0,y0和直线方程的系数A.B.C 输入x0,y0,A.B.C (2)计算 Z1=Ax0+By0+C 计算 Z1=Ax0+By0+C (3)计算 Z2=A2+B2 计算 Z2=A2+B2 (5)输出d 输出d 结束
计算 开始 开始 算法的程序框图 输入 输入x0,y0,A.B.C 计算 Z1=Ax0+By0+C 处理 计算 Z2=A2+B2 输出 输出d 结束 结束
起止框 表示一个算法的开始或结束
输入、输出框 框内标明输入、输出的内容
处理框 框内标明所进行的处理
流程线 表示从某一框到另一框的流向
计算 计算 设计算法,求一元二次方程ax2+bx+c=0(a≠0,b2-4ac>0)的根,画出相应的流程图 开始 顺序结构 输入系数a,b,c 输出X1、X2 结束
算法有三种基本逻辑结构 顺序结构、条件结构、循环结构。 顺序结构 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
A B 输入n i=2 示意图
顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作。顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作。
2 开始 输入R b= a=2b 输出a 结束 (2)图中输出a=。
开始 输入a,b d=a2+b2 c= 输出c 结束 练习1:写出下列算法的功能。 (1)右图算法的功能 是; 求两数平方和 的 算术平方根
开始 输入a,b sum=a+b 输出sum 结束 (2)右图算法的功能 是。 求两数的和
开始 输入a,b sum=a+b 输出sum 结束 (2)右图算法的功能 是。 求两数的和
(4)计算 条件 结构 顺序 结构 1.解:算法步骤如下: 2.解:算法步骤如下: (1)输入点的坐标x0,y0和直线方程的系数A.B.C (1)输入点坐标x1,y1,x2,y2 判断 (2) x1是否等于x2.若x1=x2,则输出“斜率不存在”的信息;否则计算 判断 (2)计算 Z1=Ax0+By0+C (3)计算 Z2=A2+B2 (3)输出k的值 (5)输出d
2.解:算法步骤如下: 输入系数 x1,y1,x2,y2 开始 (1)输入点的坐标x1,y1,x2,y2 (2)判断x1是否等于x2.若x1=x2,则输出“斜率不存在”的信息;否则计算 是 (3)输出k的值 x1=x2? 否 输出斜率不存在 输出k 条件结构 结束
判断框 框内标明条件,并在框外标明条件成立或不成立时的两种不同流向。
(3)一个条件结构可以有多个判断框。 (4)在许多算法中,需要对问题的条件作出逻辑判断,判断后依据条件是否成立而进行不同的处理方式,这就需要用条件结构来实现算法。如上面的问题,不能用顺序结构来表示算法,必须用条件结构来表示。
否 条件 是 处理 条件 是 否 处理1 处理2 条件结构 (1)条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。它的一般形式是:
设计算法,求一元二次方程ax2+bx+c=0(a≠0, )的根,画出相应的流程图 计算 计算 b2-4ac>0 开始 顺序结构 输入系数a,b,c 输出X1、X2 结束
开始 计算 设计算法,求一元二次方程ax2+bx+c=0( )的根,画出相应的流程图 输入系数a,b,c a≠0 是 △<0? 否 输出无实数解 条件结构 输出x1,x2 结束
小 结 程序框图又称流程图,是一种用规定的图形,指向线及文字说明来准确、直观地表示算法的图形。
课堂练习 1、写出求A(x1,y1),B(x2,y2)的两点距离的一个算法,并画出程序框图 2.写出解方程ax+3=0的算法并画出算法的程序框图。