3.4 技术解惑

3.4.1 初学者的一个困惑

在大学期间学编程的时候,简单的问题可以很容易地使用编程解决,例如简单的数学运算和输出语句。到后来随着所学知识的深入,面对复杂问题时总是不知道从何下手,例如,一个简单的俄罗斯方块游戏,我不知道该如何实现方块的旋转和排列功能。后来步入职场,面对的项目越来越大,解决的问题越来越复杂,我更加不知道该如何实现了。幸亏我只是一名普通的程序员,在我上面有项目经理和软件工程师在前面冲锋陷阵,他们会告诉我具体实现方法,我只需要遵循他们的方案进行编程就可以了。

日子还是一天一天的过,我还是按部就班地听从项目经理的安排,做着接口和底层编程之类的工作。后来在听了项目经理的一番话后,我顿时明白了我现在的差距。他说程序的灵魂是算法,只有掌握了算法,才能轻松地驾驭程序。大学时就感到困惑的问题,现在终于明白了!编程不是按部就班,不是接到任务就立即思考怎么编程。正确的做法是选择一种算法去实现功能,这个算法正是解决问题的有力武器,也是对一个项目“下手”的第一步。算法能够告诉我在面对一个应用时用什么思路去实现,有了这个思路后,编程工作只需遵循这个思路去实现即可。算法是一个程序的编程思路,是我们程序员解决问题的指路明灯。

3.4.2 另外一种表示方法——N-S流程图

知识点讲解:光盘:视频\PPT讲解(知识点)\第3章\另外一种表示方法——N-S流程图.mp4

1973年,美国学者提出了N-S流程图这一概念,它也可以表示计算机的算法。N-S图也被称为盒图或CHAPIN图,流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能清晰明确地表示程序的运行过程。在使用过程中,人们发现流程线不一定是必需的,为此,人们设计了一种新的流程图,它把整个程序写在一个大框图内,这个大框图由若干个小的基本框图构成,这种流程图简称N-S图。

N-S流程图中,顺序结构表示为图3-6,选择结构表示为图3-7,循环结构表示为图3-8。

图3-6 顺序结构

图3-7 选择结构

图3-8 循环结构