算法与程序的区别与联系 程序算法有哪些特征( 三 )


第四轮比较:比较34和56,因为34小于56,两个数不用交换位置 。
在前面的四轮比较中,从数列左侧的第一个数开始,顺序两两比较两个数的大小,如果前面一个数比后面一个数大,就交换两数的位置,直到数列的最后一个数比较完毕 。
这四轮比较下来,称为一趟比较 。如果在该趟比较中,存在两个数交换位置的情况,就需要进行下一趟比较,直到再没有数字进行交换,算法结束 。
因为在第一趟比较中,存在两数的位置交换,因此还需要进行第二趟的比较 。
第二趟比较
第二趟比较也是从数列左侧的第一个数开始,顺序两两比较两个数的大小 。不过第二趟比较就不需要再比较数列右侧的最后一个数了,因为在第一趟比较的过程中,该数列最大的数已经被交换到数列右侧最后的一个位置了 。
第一轮比较:比较23和5,因为23大于5,因此23和5交换位置 。
第二轮比较:比较23和7,因为23大于7,因此23和7交换位置 。
第三轮比较:比较23和24,因为23小于24,两个数不用交换位置 。
至此,第二趟比较完成 。最后的一个数56就不用比较了,因为56在第一趟比较中就已经为自己找到了正确的位置 。
从第三轮的比较结果来看,排序已经完成,每个数都自己找到了正确的位置 。已经不需要再进行第三趟比较了 。
4、 算法和程序的关系
算法是解决问题的步骤,在前面也谈到了程序是执行过程的描述,那么,算法和程序是什么关系呢?
先请同学们思考一个计算长方形面积的问题,并给出算法 。
第一步,设置num1和num2两个变量,接收用户输入的长度和宽度,并存储到num1和num2两个变量;
第二步,判断num1和num2是否大于0,如果大于0,继续下一个步骤,否则提示用户长度和宽度输入错误,算法结束;
第三步,计算num1和num2的乘积,并将乘积结果存储到result变量;
第四步,显示result变量的值到屏幕 。
算法非常简单,四个步骤,如何让计算机执行这个算法呢?
实现算法的伪代码:
Begin(算法开始)声明num1、num2;输入num1、num2;IF num1 <=0 || num2 <=0{Print(“输入的长度和宽度不能小于0”);退出程序}result = num1 * num2;Printresult;End (算法结束)要让计算机执行算法,就必须要把算法用编程语言编写出来,如Java语言,如实现计算长方形面积算法的伪代码,伪代码是一种算法描述语言,可以很容易地转换为编程语言,如Java、C语言等 。可见,程序是算法的实现,算法通过某一种编程语言实现后,就是程序 。
5、练习题
1、请列举一些你在生活中经常使用的计算机程序 。
2、计算机程序和算法有什么区别?
3、对下面的一组数字用冒泡排序算法进行排序,请用文字详细描述排序过程 。
36,29,101,12,33
4、现实问题模拟:《停车场的看门人》
某大型停车场对于进入该场地的车辆有如下的规定:
(1)进入该停车场的车辆必须为客运车辆,货运车辆谢绝入内 。
(2)如果该车的乘员数量小于等于4人,则收费五元 。
(3)如果该车的乘员数量大于4人,则收费八元 。
作业要求:请根据该停车场的规定,用文字给出判断进入该场的车辆是否符合规定,应该收费多少的算法 。
5、请用文字给出一个计算长方形面积问题的算法 。
要求:接受用户输入的长度和宽度,输入的长度和宽度不能为零,如果为零,提示用户重新输入,最后将计算结果显示到显示器上 。

推荐阅读