程序要处理的数据有数值类或非数值类两种类型。数值类处理的是纯数值性的信息,如科学和工程计算。数值类数据的关系一般用数学公式或方程来描述。而非数值类问题的数据及数据间的相应关系一般无法用数学公式或方程来描述,如排序问题、检索问题,需要另外设计数据的描述方法和相应的算法来处理。
所以,用计算机解决实际问题,需要对解决的问题进行分析,提炼出问题的两个要素:信息和功能。(数据描述和数据处理的步骤描述,也就是数据结构和算法)。
分析问题中的已知信息,提炼数据和数据之间的联系(数据的逻辑结构),选用合适的存储方式(数据的存储结构)将逻辑结构(数据元素和逻辑关系)存到计算机中,然后在存储结构之上按照自顶向下逐步细化的方法给出算法。这就是程序设计思维的一般过程。