做中学

作业二--做中学

你有什么技能比大多人(超过90%以上)更好?

  • 游戏
  • 五子棋

针对这个技能的获取你有什么成功的经验?

  • 第一,多多去查资料,看视频。在初中时,我有一段时间都把精力放在了游戏上,那个时候刚刚接触dota,基本上什么都不懂,但是为了熟悉他们,我平时基本上除了学习之外的时间,大部分都用来去开视频,看比赛,在论坛上看英雄技能介绍,游戏中的小技巧。我高中沉迷于玩五子棋时也是这样,经常去看一些比赛,棋谱。
  • 第二,多多去实践。虽然看视频可以丰富你的理论知识,但这也仅仅停留在理论上,虽然,你有丰富的理论知识,但没有实践,你终究是无法使用出来。比如,玩dota时,你知道可以用树来卡视野,但是在真正游戏中,你并不一定是完美卡住了视野,这都是需要苦练的。再比如补刀,这和理论就没啥太大关系了,都是苦练出来的结果,把其变成一种潜意识,一种习惯。再比如拉野,如果不去练的话,就很容易拉不好仇恨。
  • 第三,多多去反思。在dota的比赛中,游戏中,每个人总会犯一些错误,但这些错误犯了就犯了,是无法改变的,我们唯一能做的就是反思自己,下次遇到这种情况应该如何去做。或者在反思中创新,创造出一种属于自己的流派(war3中Magic杨的吹风流)

与老师博客中的学习经验有什么共通之处?

都强调了 “做中学” ,也就是 实践中学习学习打乒乓球中指出要练习挥拍,挥拍成千上万遍之后动作就会定形,也就是形成了 肌肉的记忆能力 ,可以在实战中不假思索的做出来。这和我提到的练习dota的补刀、技巧和战术是一个道理。也就是做中学中写道的套路:

套路(Kata)指针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握。这个概念借鉴于武术,指的是可以独自或多人共同练习的一系列动作、招式。

所以我认为,学习一切东西,只要它不是单一理论性的事情,就都需要在做中学。

有关C语言学习的调查

  • 你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?

我学习c语言,就像我玩游戏一样,先听老师讲课,课后在照着书本结合老师讲的,进行编程练习,并且我们还有做题网站,可以上去去刷题。
我得到的经验就是: 好的编程者都是无数条代码堆积出来的,好的程序都是无数次修改改出来的

  • 目前为止估算自己写过多少行C代码?理解的情况如何?

我编了200多个程序,大概有个6000行吧。
都是根据自己记忆编的,学会了什么就用什么,编出来的都理解,但不一定是最好的方法,最简洁的代码。

  • 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

能。
数组指针:是指针,指向这个数组。
指针数组:是数组,存放的是指针。
函数指针:指向函数的指针。
指针函数:返回值是指针的函数。

  • 学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?

不会。

  • 学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?

知道,主要是指遇到问题,要先分析解决它所需要的步骤,再根据这些步骤来编辑程序。比如,我们信息安全数学基础实验,让编辑利用中国剩余定理解方程的程序,我们的思路就是要先将方程化简,然后判断是否有解,其次排除重复式子,之后再利用中国剩余定理(求M0,求格式的Mi,求逆等等)。也就是说,类似编程时提出的 “高内聚,低耦合” ,把复杂问题简单化,模块化,再结合。

  • 在C语言里面,什么是模块?你写过多个源文件的程序吗?

模块,就是一个复杂程序中需要许许多多的辅函数,每个辅函数就是一个模块。
没有。

  • 学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

就是把复杂问题简单化,模块化,再在主函数中结合,进而达到解决问题的目的。比如把程序中反复用到的算法,编辑成函数。

  • 学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。

可直接利用strcpy语句

strcpy(a,b);

可以逐个查找

for(i=0;i<;i++)
{
    if(a[i]==5)
    {
        printf("have 5")
    }
}

可用冒泡排序
升序:

mp(int a[], int n)
{
    int i,j,temp;
    for(i=0;i<n-1;i++)
    {
        for(j=1;j<n-i;j++)
        {
            if(a[j]<a[j-1])
            {
                temp=a[j];
                a[j]=a[j-1];
                a[j-1]=temp;
            }
        }
    }
}

降序:

mp(int a[], int n)
{
    int i,j,temp;
    for(i=0;i<n-1;i++)
    {
        for(j=1;j<n-i;j++)
        {
            if(a[j]>a[j-1])
            {
                temp=a[j];
                a[j]=a[j-1];
                a[j-1]=temp;
            }
        }
    }
}
  • 写一个程序,统计自己C语言共写了多少行代码。

不会

  • 你知道什么是断点吗?给出自己调试程序的例子。

不知道。

对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?

首先,要学好基础知识(语言的编写)。
其次,学好基础知识后,每天至少编2~3个程序。
最后,可以利用java编写程序,解决一些生活中的问题。
多多去编程序,程序编得多了,自然就有了编程的感觉,就学会用 编程思维 去思考问题,从而实现我的目标。

毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

我认为自己的写作能力很差,我在我的第一篇博客中就提到了。我认为写博客就能提升我的写作能力。我认为我应该多去积累一些知识,多去读一些各个方面的书(茶道,围棋,艺术等等),拓广我的知识面。这样就不会“书到用时方恨少”了。

posted @ 2016-12-14 22:35  20155210潘滢昊  阅读(224)  评论(5编辑  收藏  举报