初学者学习编程的难点在哪里?
1、编程者要将自己已经习惯了多年的思考、解决问题的方式抛开,转而按照描述每一个具体解题步骤的办法来考虑问题。
2、编程者还需同时思考这个步骤应该怎么使用程序设计语言来实现,使用哪一个语句会更有效,应该处理哪一些数据,参数。
上面两方面的问题交织,缠绕在一起时,感到编程十分困难就理所当然了
//混乱的困难是最难的,把困难分解,理清就能解决//
//困难的两种来源,思维的混乱,行动的困难//
符合计算机思维的解题步骤与已经习惯的人类解题思维有着非常大的差别,怎样才能学习并掌握这种符合机器思维的解题方法呢?
解决途径1
使用工具:流程图和伪代码
这两种工具使用在编程前,快速的描述编程者解决问题的基本思路,并构建出非常接近于最终源程序的解题流程。
流程图工具使用简介
流程图就是一种能够让用户专注于思考解决问题的步骤,又避免同时思考语言实现的有效工具。流程图就是用几何图形来展示过程中各个步骤的逻辑关系的一种图示技术。解决任何一个问题的过程,一定会存在操作步骤的先后顺序,这个顺序就是流程。流程图就是描述解题步骤先后顺序的图解。
流程图的结构:顺序结构、分支结构、循环结构
伪代码工具简介
核心思想就是首先使用自己能看懂的语言来描述解题过程,之后再对其进行修改和标准化。
使用伪代码的理由
在解决问题,特别是比较复杂的问题的时,由于解决问题步骤较多,过程较复杂,往往很难在开始的时候就对解决问题的全部细节有着很好的了解和掌握,而只能对程序的总体结构或部分细节做出较好的理解和处理。因此,一开始就使用程序设计语言对尚未整理完善的解题步骤进行编程操作时很难达到预期效果的,这样的源程序面临着一遍又一遍的修改,甚至是 重写。
//不论是什么办法,只要能有效的解决困难(问题),它就是好的办法,办法是做出来的,实践出来的,并不是想出来的//