胡懋仁
形式化或类形式化方法
2019-10-7 08:32
阅读:3346

在读研究生的时候,选修了麦中凡教授的Fortran77程度设计的课程。在此之前,我完全没有接触过这个计算机语言。不过,选修了这门课,再通过做作业,感觉还是很有收获的。虽然学了这门课,我平时也没有可用的地方,但那种设计的思路还是给过我不少的启发。特别是麦老师讲的形式化方法,对我后来写论文还是很有帮助的。

所谓形式化方法,我查了一下百度百科,发现它说得有点简单,不能让人一目了然。所以只好根据我当时听课的记忆,来描述我对形式化方法的印象。

记得麦老师说,在编写程序时,如果这个程序不算太大,预先是不是一定要画框图都不是绝对的。当然,大一点的程序,画框图还是有帮助的。但是,再大一点的程序,只是画框图那是不够的。麦老师说,一个大的程序,下面一定会有若干次级的子程序,如果子程序也足够大,那么子程序下面还要有孙程序。这种层层套迭,是编写程序的难以回避的结构。如果用这样的方式来思考程序的编写,就会省时省力,而且思路清晰。不会出现一个goto指令,把程序层次弄得乱七八糟,让人找不到头绪。这样到处使用goto指令的程序,不光别人看不明白,程序再大一点,自己都会找不着北。所以如果使用形式化方法,先构造好整个程序的结构与层次,考虑好这样一个整体程序,要有多少个子程序,每个子程序下又要有多少孙程序,先有了大致的设想,再最终确定下来。这样你在编写程序的时候,不会滥用那么多goto指令。而且在你开始编写程序的时候,可以把这些子程序或者孙程序模块化。一个模块一个模块地写。写好了,先放在一边,再写其他的模块。模块编写的先后次序也不是一定要按着程序运行的顺序来写,你先写最后一个模块的子程序也完全可以。等到所有的模块子程序都写好了,再用一些指令把它们串起来,一个完整的程序就基本完成了。届时只做一些微调。那么程序就可以使用了。

我虽然在自己的专业中基本用不上这样的编程形式化方法,但是,我想到在写学术论文的时候,是可以尝试着运用这个方法的。后来,在写学位论文时,我也不由自主地想到了试着用一下这个方法。在写论文前,我想好了一个题目,但是,仅有题目还是不能组建起论文的结构来的。所以我要预先收集大量的资料。当时,我看到不少与论文题目有关的许多资料,都先拿过来再说。当时是用做卡片的方式,有用的文章,用卡片记下出处、页码等,有用的信息,就简略地抄录在卡片之上。我发现,虽然有了初步的想法,但不能把自己的观点固化,完全按自己观点的主观想象去找相关材料,而必须根据找到的材料来调整自己的论点。所以材料找得差不多了的时候,我再整理自己的观点,以及论述的结构与层次,再加上论述的顺序。这样多次反复思考之后,我认为可以写了,就开始构思论文的结构。

这也是最初目录的写作。目录初步设定后,每一章节的内容也开始进行填充。把所有的章节都填充得差不多了,再进行调整,需要丰富内容的,就进一步进行充实。需要精简的压缩的,也绝不吝惜。几经反复之后,我才感觉可以动笔了。

这种形式化或者类形式化方法,有这样几个好处。在论文写作之前,基本思路都是清楚的,不会在论文中出现颠三倒四的现象,不会出现前面说了,后面又可能重复的现象;也不会出现前面提出一个观点,后面的观点会出现与前面观点不相一致的现象。而这种情况我在其他的论文中多少都有所发现。这种论文,出现这样的问题,基本就算废了。在真正动笔之前,所有的材料基本都已到位。如果发现某些模块所需要的资料不太丰满,我一定会再去找,不让它们出现有的模块资料比较丰富,而有的模块资料比较贫乏的现象。等到所有模块所需要的资料看上去都比较充分了,这样就不愁写起来没有东西可写了。

这种方法也能提高写作的效率。如果对某个模块的写作还有些需要进一步考虑,而当时写到这一块的时候感觉还不太有把握,那就先写那些比较有把握的模块部分。这不会影响其他模块的思考,也不会影响那些模块观点的成立。等到有把握的部分写完了,那些还没有写或者还没有完成的部分也都有了较清晰的思路了。

在写学位论文的过程中,也会不断产生新的思想火花。那么这个火花到底放在哪个模块比较合适,也不是一件困难的事,我可以找到与之有关的相关的模块,经过调整,就可以放进去,不会影响这块模块的结构,更不会影响其观点,对整篇文章也只有好处。

后来,在写其他学术论文的时候,我基本都是沿用这样的类形式化方法。有时候已经不用刻意思考,只要开始构思论文的思路,就不自觉地会采用这样的方法。这几十年下来,感觉真是受益非浅。

公众号.jpg

欢迎关注我的微信公众号

转载本文请联系原作者获取授权,同时请注明本文来自胡懋仁科学网博客。

链接地址:https://wap.sciencenet.cn/blog-678176-1200902.html?mobile=1

收藏

分享到:

当前推荐数:1
推荐人:
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?