内容正文:
2.1 算法的概念及描述
算法的概念
广义地讲,“算法”指的是解决问题或完成任务的一系列步骤。
在计算机科学领域内,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。针对同一个问题,可能会有多种算法,每种算法的效率可能会有所差别。
换水问题
三个杯子,A杯装有“可乐” ,B杯是“雪碧”,C杯是空杯。如何把两个杯子中的饮料互换。
方法1:
A杯可乐倒入C杯中;
B杯雪碧倒入A杯中;
C杯可乐倒入B杯中。
方法2:
B杯雪碧倒入C杯中;
A杯可乐倒入B杯中;
C杯雪碧倒入A杯中。
这就是算法!
算法的特征
1、有穷性:算法必须保证它的执行步骤是有限的,即它是能终止的。
2、确定性:算法中的每个步骤必须是明确的。
错误示范:输出:L/正整数
正确示范:输出:L/10
3、可行性:算法中的每一步操作都要是可实施的。
错误示范:计算y=x+1的所有整数解
正确示范:x=5,计算y=x+1的整数解
错误示范:当d<0时输出:
正确示范:当d>0时输出:
4、有0个或多个输入:算法在执行时需从外界获取可变的数据,如果问题求解时所有数据都是不变且已知的,可以不输入数据。
5、有一个或多个输出:算法的目的是求解问题,问题求解的结果应该以一定的方式输出。没有输出的算法没有意义。
算法的特征
正确示范1:输出:3+2*8
正确示范2:输入身高h、体重w,bmi=w/h2,输出bmi
错误示范:输入身高h、体重w,计算bmi
正确示范:输入身高h、体重w,计算bmi,输出bmi
1.在求一元二次方程实数根的算法中,当方程不存在实数根时,也要求输出“方程无实数根”。这一要求主要体现了算法特征中的
A.有穷性 B.确定性
C.有1个或多个输出 D.有0个或多个输入
2.不能用算法解决“输出所有偶数”的问题,因为不符合算法特征中的
A.有穷性 B.有输出 C.确定性 D.唯一性
练一练
C
A
3.下列问题不能用算法描述的是
A.已知a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的实数解
B.计算某个班级英语成绩的平均分
C.列出方程y=2x+1的所有实数解
D.根据矩形的长和宽求面积
C
练一练
算法的要素
1、数据
参与运算的初始数据、中间数据、结果数据。
2、运算
明确每一步的运算