
2.1 概述
如前所述,所谓编程就是针对要解决的任务,设计解决问题的步骤,使用计算机程序设计语言进行描述,最后通过编码、测试、修改等过程实现编程的目的。因此编程有两方面的要求:一是需要理解编程的任务并给出算法,二是要使用特定的计算机语言具体地表示这些算法。严格来说,前者更重要一些,后者可选择的余地则比较大,而且今天的编程语言与早先的相比,理解和掌握要容易得多。
算法是编程的核心。我们从分析两个数相加的操作过程,看看算法要考虑哪些因素。理解两个数相加的问题,比一般想象的要复杂一些,因为要考虑进行这个计算的是机器——计算机。
首先,要考虑这两个数的范围,也就是说,这两个数最大值是多少。如果要设计两个天文数字的加法,就不是一般计算机能够胜任的了。
其次,要考虑如何表达这个加法过程。简单的做法是输入一个数之后,接着输入第二个数,然后发出命令,计算机给出相加的结果。但这里要考虑已经输入的数是不是要可见。编程者可以在数据输入以后直接存入计算机内存,而屏幕上没有任何提示,也可以把输入的数显示在屏幕上。
还要考虑如果出现错误该如何处理。出现错误的可能性至少有两种:一是输入过程中出错了,包括输入了不是数字的符号在内,显然计算机不能进行非数字的算术运算;二是输出结果出错了,典型的是超过了计算机能够表达的最大范围,即结果溢出(OverFlow)。后者是计算机中最常见的错误之一。
其实我们还可以考虑更多,例如:运算结果要不要保存,是否需要查看过去运算的数据;是不是在输入过程中提供有效的信息提示,如输入了一个不可计算的符号,计算机就马上给出错误的信息等;针对不同的错误,要让计算机给出相应的信息,就要事先考虑所有可能出现的错误。
加法计算可能是计算机处理中最简单的问题了。一个复杂的任务,程序设计要解决的问题就更多、更复杂,但只要能够将复杂的问题分解为一个个较为简单的问题的组合,就可以通过编程语言实现它。我们知道,把复杂的问题简单化是科学研究的境界,因此程序设计是方法也是科学。
同样,即使你把加法处理的过程全部细化了,还要考虑对于一个并非设计者的用户,在使用编写的加法程序时,是否能够容易地理解你的设计意图,因此交互是重要的,它很大程度上决定了这个程序的可用性。
设计算法之后,就需要用语言描述或表达算法,因此理解和掌握语言的特性也是提高编程效率的重要基础。所幸的是,VB作为可视化的编程语言,在这两方面都有出色的表现。