内容正文:
第三章 第2节 信息的编程加工(教科版)
下面通过一个利用编程给一组数组进行大小排序的例子来说明信息编程加工的过程。
通过本节学习,你可以:
初识程序代码,初步了解程序执行的主要过程
感受利用计算机程序解决问题的独特魅力
举例思考:以运动会上的8个百米决赛数据(13.91、14.01、13.26、13.44、15.17、14.54、13.99、14.56)为例 进行由小到大排序,我们应该怎么做呢?
解决思路:这里我们引用在计算机算法当中一个非常有名的冒泡排序算法来解决问题。
交换排序的基本思想:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。冒泡排序是最常用的交换排序,它将被排序的记录数组 R[1..n] 垂直排列,每个记录 R[i]看作是重量为R[i].key 的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组 R 。凡扫描到违反本原则的轻气泡,就使其向上“漂浮”。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。
冒泡排序的全部过程
Private Sub cmdSort_Click()
Dim num(7) As String '定义运动员编号变量
Dim numTemp As String '定义用于交换运动员编号的临时变量
Dim a(7) As Single '定义运动员成绩的变量
Dim aTemp As Single '定义用于交换运动员成绩的临时变量
Dim i As Integer, j As Integer ‘定义循环变量
'从文本框中读入运动员编号和成绩
For i = 0 To 7
num(i) = txtNum(i).Text
a(i) = txtScore(i).Text
Next
'对成绩排序
For i = 1 To 7
For j = 0 To 7 - i
If a(j) > a(j + 1) Then
'交换运动员编号
numTemp = num(j)
num(j) = num(j + 1)