发布时间 : 星期六 文章注重培养计算思维,提高应用计算机解决问题的能力 - 图文更新完毕开始阅读50896c93112de2bd960590c69ec3d5bbfc0ada6a
注重培养计算思维,提高应用计算机解决问题的能力
开言:计算机语言种类繁多,计算机应用领域广泛,编程对象各不相同,难以兼顾全面。仅就其中通性略谈些许,仅以计算实例小做分析,望对同学们有所启发和帮助。
要点:着眼于宏观层面的思维方式,侧重于科学计算的编程能力。 0、引言
研究生在学习和今后的论文课题中都离不开利用计算机解决面临的问题。
掌握一种或数种计算机语言,具备使用计算机解决问题的能力是当代高素质人才不可或缺的。
很多时候计算机的使用者特别是初学者,在使用计算机解决实际问题时,总是存在无从下手的困惑。因此,现在有很多关于编程能力和编程技巧的培训和书籍。这些培训和书籍作为程序设计训练的载体,可以促进计算机使用者多学多练,对于提高学生的编程能力会有所帮助。但是我认为:
掌握和提高编程能力,除了需要多学多练,更重要的却在于培养计算思维,把握自然语言到计算机语言的思维方式转换。
掌握计算机编程的核心问题不是语言的熟练程度、不是编程技巧,而是思维方式的转换和培养。实际上,不管是哪种计算机语言,是面向过程的还是面向对象的、是解决科学计算问题的还是处理经济管理问题的、亦或是应用各种专有目的的软件工具,我们只要以一种计算机语言为载体能够熟练应用,就可以举一反三、融会贯通于其他。
如果把利用计算机解决问题的能力简单分级的话,大致可以分成 初级阶段:会用计算机做你能做的事情。 中级阶段:会用计算机做你想做的事情。 高级阶段:会用计算机做你不能做的事情。
要从自然语言向计算机语言转换,就必须了解计算机语言与自然语言的特点。 1、
计算机语言与自然语言
思维是在表象、概念的基础上进行分析、综合、判断、推理等认识活动的过程,是人类特有的一种精神活动,而思维方式则是人类看待事物的角度。
自然语言是人类最重要的交际工具,是人们进行沟通交流的各种表达符号集合,是思维的最重要的载体。
“计算机语言”是人类设计的人与计算机进行交流的工具,是人利用计算机实现自然思维的载体。
如果我们把“计算机思维方式”解释为“根据计算机的特点、从计算机语言的角度看待事物”,那么通常所说的“编程能力”,很大程度上就指的是“人的自然思维方式到计算机思维方式的转换能力”。 (1)人类自然语言的特点
人类自然语言既是交流的工具,又是认知的工具,同时也是思维的工具。由于人类自然语言同时要满足这三种功能,它就必须达到如下要求:思想、方法、对象三者同时融于语言之中,这就是人类自然语言的“三位一体性”。
试想,如果我们用语言交流,双方却不能通过语言知晓对方的思想;我们用语言认知,却不能用语言把握对象、掌握方法;我们用语言思维,我们却不知用的什么方法,思维的对象是什么。在这样的情况下,语言对人类而言恐怕就不会有任何意义了。 (2)计算机语言的发展
计算机语言是人类所设计出的能让计算机“听懂”和“知晓”的人与计算机进行交流的工具。
计算机语言是人与计算机之间传递信息的媒介。计算机的最大特征是指令通过一种语言传达给机器。为了使计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规则,由这些字符和语法规则组成计算机各种指令或各种语句。 ■机器语言:
机器语言是指一台计算机全部的指令集合计算机可以直接识别的由二进制代码构成的计算机语言。
缺点可读性差,不易记忆;编写程序既难又繁,容易出错;程序调试和修改难度巨大,不容易掌握和使用。机器语言直接依赖于中央处理器,所以用某种机器语言编写的程序只能在相应的计算机上执行,无法在其他型号的计算机上执行,即可移植性差。 ■汇编语言
汇编语言是指用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串的计算机语言。例如使用 “ADD ”来替代加法的二进制指令,用\代表数据传递等等。
为了减轻使用机器语言编程的痛苦,20世纪50年代初,出现了汇编语言。汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。尽管汇编语言比机器语言方便,但汇编语言仍然具有许多不便之处,程序编写的效率远远不能满足需要,而且可移植性差。 ■高级语言
高级语言与自然语言和数学表达式相当接近,不依赖于计算机型号,通用性较好。 ●早期高级语言
1954年,第一个高级语言—FORTRAN问世了。高级语言的使用,大大提高了程序编写的效率和程序的可读性。与汇编语言一样,计算机无法直接识别和执行高级语言,必须翻译成等价的机器语言程序(称为目标程序)才能执行。 ●结构化高级语言
随着计算机硬件技术的日益发展,人们对大型、复杂的软件需求量剧增,需要对程序设计方法、程序的正确性和软件的可靠性等问题进行深入研究,需要对软件的编制、测试、维护和管理方法进行深入研究。结构化程序设计是一种程序设计的原则和方法。它讨论了如何避免使用GOTO语句;如何将大规模、复杂的流程图转换成一种标准的形式(NS图),使得它们能够用几种标准的控制结构(顺序、分支和循环)通过重复和嵌套来表示。C语言就是一种结构化语言。