关于《《数据结构与程序设计》》的个人理解(第一章)

来源:互联网 发布:linux改中文 编辑:程序博客网 时间:2024/05/16 11:52

                                         第一章 编程原理

    此书的目的:描述程序方法和运用的工具并且证明以真实的尺度所建立工具的效率,写出比普通基本程序更高级的程序。 

    问题的说明:制定大的并且准确的目标,把工作分解成小问题直到被分解成能被解决的问题。

    问题设计:大的程序必须被设计好,详细的写明,完全的理解,领悟。我们应该在程序设计的开始就想好这些并成为一种习惯。

    数据结构的选择:应注意以下四点:

    1、数据间被安排有怎样的联系;

    2、哪个数据应该被保存;

    3、哪些数据在计算时需被用到;

    4、那些数据保存在文件中,并且这些文件是被怎样安排的。

    程序的准确性:

    1、减少错误数量;

    2、提前确定我们的运算是否正确;

    3、提供方法去测试自己的程序以至于确保程序不会出错。

    本书介绍了一种生存游戏:

    解释:这个游戏就是仿真的,不需要人来玩的。它发生在一个无边界的长方形网格中,在那里每个细胞可以被有机体占据或不占据。占据的称为活的,未被占据的称为死的。活着的细胞可以从一代改变到另一代根据它周围存活细胞的数量。

    解决办法:

    算法:建立生存的结构作为一个最初的活的或死的细胞的排列;

    打印出生存的结构;

    当使用者想看进一步的变化:更新结构通过申请生存游戏的规则;打印出当前的结构。

    类:对于生存游戏,我们把它称为生存类,以至于结构可以成为一个生存的目标。对于这个目标,我们将使用三种方法:initialize():建立最初的活着的,死着的细胞的结构;print():打印出当前的结构;update():将使所有的改变发生在下一阶段中。

    主程序如下:

    #include<utility.h>

    #include<life.h>

    int main()

   {

    Life configuration;

    instructions();

    configuration.initialize();

    configuration.print();

    cout<<"Contunue viewing new generations"<<endl;

    while(user_says_yes())

    {

        configuration.update();

        configuration.print();

        cout<<"Continue viewing new generations?"<<endl;

    }

    }

    以上只是本人自己对书上第一章,部分的翻译,如有问题,欢迎提出,谢谢!

                                             

 

 

 

原创粉丝点击