资源描述:
《1.1算法的概念讲义》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、算法的概念讲义知识要点:一、定义:我们把用來解决问题的一系列步骤叫做算法。二、算法必须符合以下条件:1、确定性:算法的每一步要做什么必须是明确的,不能含糊不清,模棱两可;例如,要把全班同学分成两队,“高个子的同学站出来”这个步骤就是不确定的,含糊的,哪些同学算高,哪些同学算矮?个子中等的同学就会不知所措。2、有限性:算法必须在有限步内完成,如果需要无限步完成,就失去了实际意义。算法的有限性往往指“在合理的范围之内”。如果让计算机执行一个历时1000年才结束的算法,虽然是有限的,但超过了合理的限度,人们也不把它视作有效算法。究竟什么算“合理限度”并无严格标准,由人们的常识和需要而定。3、顺序
2、性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一步骤只能有一个确定的后继步骤,前一步是后一步的前提,并且每一步都应当能有效的执行,并得到确定的结果。例如若6=0,则4"是无效的,不能执行的。三、设计算法的要求:1、写出的算法必须能解决一类问题,并乂能够重复使用。2、要使算法尽量简单、步骤尽量少。3、要保证算法正确且计算机能够执行。题型讲解:例1下列关于算法的说法中,正确的是(C)A、算法就是某个问题的解题过程B、算法执行后可以不产生确定的结果C、解决某类问题的算法不是唯一的D、算法可以无限地操作下去不停止例2设计一个解一元二次方程ax2+加+c=O(a工0)的算法解:第一步:计算
3、_=b2-4ac第二步:若U<0;第三步:输出方程无实数根;第四步:若U>0;第五步:计算并输出方程的根心="士血-込。2a例3写岀求/+2+3+"+5+6的值的一个算法解:第一步:取n=6;第二步:计算邑也2第三步:输出运算结果例4写出求过P(勺ej、Q@2,E)两点的直线斜率的一个算法解:第一步:取Xt=al,yl-b]yx2=a2,y2=h2;殆—*j-UzfcL弟一步:右勺=兀2;第三步:输出斜率不存在;第四步:若兀/H兀2;第五步:计算匹二七一可第六步:输出运算结果。例5已知函数/(*)={:二兀+/(二叨),设计一个算法求函数的任一函数值。解:第一步:输入"第二步:若E,则执
4、行第三步;若a<2,则执行第四步;第三步:输出a2-a+l第四步:输出Q+/随堂演练:1、写出求方程组
5、A^+s^+Q=o的解的算法:[A2x^-B2y+C2=O'-
6、-第一步:②XA厂①XA2,得(A1B2-A2B1)y+A1C2-A2C1=0;③第二步:解③,得AG;A
7、Br—A,2B
8、第三步:将尸曲-也代入①,得x=-B2C^BlC2o/A
9、B°—A-)B、z4)B°—i42B]2、写出一个求有限整数列中的最大值的算法。解:算法如下。第一步:先假定序列中的第一个整数为“最大值”。第二步:将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数。
10、第三步:如果序列中还有其他整数,重复S2O第四步:在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。3、写出解一元二次方程ax'+bx+c二O(aHO)的一个算法。解:算法如下第一步:计算△=b2-4ac第二步:如果△〈0,则方程无解;否则xl二第三步:输出计算结果xl,x2或无解信息。4、写出求1至1000的正数中的3倍数的一个算法(打印结果)解:算法如下:第一步:使i=l第二步:i被3除,得余数r第三步:如果"0,则打印i,否则不打印第四步:使i=i+l第五步:若iW1000,则返回到S2继续执行,否则算法结束。5、写岀解不等式ax2+bx+c>0(a>0)的
11、一个算法。第一步:计算△二b2-4ac;第二步:若△〉(),示出方程两根mSS(设x》x2),则不等式解集为{x
12、X>X12a或XX2二2,y2=3;第二步:计算丄二土=上二仝;J2-兀2一西第三步:在第二步结果中令x二0得到y的值m,得直线与y轴交点(0,m);第四步:在第二步结果中令y=0得到x的值n,得直线与x轴交点(n,0);第五步:计算S=-
13、m
14、•
15、
16、n
17、;2第六步:输出运算结果