Page 101 - 高中 信息技术 选择性必修1 数据与数据结构
P. 101

 4.1 认识抽象数据类型






                            复数减法;

                            复数乘法;
                            复数除法;

                         }ADT 复数
                         这里关于复数的数据和基本操作,是基于数学中复数的概念和运算进行抽象的,其抽
                    象的前提是可以通过计算机实现。显然,复数的抽象数据类型定义用C++语言实现起来并
                    不困难。




                      4 . 1 . 2   抽象数据类型的应用
                                             广东教育出版社


                         利用抽象数据类型定义复数,并通过编程实现,就可以使用计算机处理复数了。除了
                    数学运算外,在解决现实问题和实际编写计算机应用软件时,因为要解决的问题更复杂,
                    所以更需要大量应用抽象数据类型来描述问题和设计解决方案。

                         如项目范例中的俄罗斯方块游戏,方块的颜色、形状都有多种,每一个方块都有左
                    旋、右旋、左移、右移、下落等多种操作,变化较多。游戏程序实现的关键是如何操控这
                    些方块,可以定义一种抽象数据类型“方块”,其中包含方块的形状、颜色、中心点等,

                    以及对它的左旋、右旋、左移、右移、下落等多种操作。类似的,我们还可以将俄罗斯方
                    块游戏的区域也定义为一种抽象数据类型,从而完成游戏的设计。
                         下面我们再举两个例子。

                         (1)象棋游戏里(如图4-3所示),每一
                    个棋子上面的文字都不一样,有的是“马”、有
                    的是“兵”等,对阵双方的棋子颜色一般为黑色

                    和红色,每个棋子必须响应鼠标或键盘的控制动
                    作,实现棋子的拿起、移动、放下等操作。这里
                    可以将棋子定义为一种抽象数据类型,其数据模
                    型包括棋子的颜色、棋子的文字、棋子在棋盘上

                    的坐标等,基本操作包括拿起、移动、放下等。
                         (2)电子地图的测距、导航等问题(如图

                    4-4所示)。测距只需要计算地图上两点的距离
                    即可,但导航问题比较复杂,需要从地图上寻找
                    两个确定地点的最佳路径,这需要建立复杂的数
                    据模型,如地点的经纬度、周边的路况等,并寻
                                                                                      图4-3 中国象棋
                    找合适算法。而要利用计算机处理该数据模型,
                    就需要把其中涉及的数据模型合理存储并对这个
                    数据模型进行操作。





                                                                                                                    93 93







          21X2204.indd   93                                                                                        2019/9/26   13:53:25
   96   97   98   99   100   101   102   103   104   105   106