算法就是解决问题的方法和步骤。
我想你一定知道这个小品:问把大象装冰箱需要几步?
1、打开冰箱门
2、把大象装进冰箱
3、关上冰箱门
在编程中,这种注重过程的思想,就是面向过程。
当解决问题的时候,把事情拆分成:一个个函数 ,然后按照一定的顺序,执行完这些函数,事情就搞定了。
算法描述的方法
1.自然语言
自然语言是指人们日常生活中使用的语言,汉语、英语、德语等都是自然语言。用自然语言描述算法符合我们的表达习惯,并且容易理解。用自然语言描述算法,通常是我们理解算法的第一步。
优点:通俗易懂
缺点:容易产生歧义
2.流程图
流程图也称为程序框图,它是算法的一种图形化表示方法。与使用自然语言描述算法相比,用流程图描述算法形象、直观、更容易理解。对于一些复杂的算法,直接编写代码很困难,我们可以先用流程图描述算法,然后根据流程图写出程序代码。
为了使算法的流程图看起来更加直观,需要对流程图的表示方法进行规范,目前最常用的流程图规范是由美国国家标准学会制定的一系列流程图符号。
算法的三种基本结构
算法的三种基本结构是顺序结构、分支结构和循环结构。
程序设计语言的发展
机器语言——汇编语言——高级语言
机器语言由二进制的0、1代码指令构成,能被计算机直接识别。但理解和记忆机器语言非常困难,并且容易出错,编程效率极低。
汇编语言是符号化的机器语言,采用英文助记符代替机器指令,比机器语言容易识别和记忆,从而提高了程序的可读性。但是汇编语言仍然是面向机器的语言,是为特定的计算机系统设计的,它要求软件工程师对相应的机器硬件非常熟悉,因而汇编语言属于低级语言。
高级语言更接近自然语言,并不特指某一种语言,也不依赖于特定的计算机系统,因而更容易掌握和使用,通用性也更好。比较流行的高级语言有Java、C/C++以及本书使用的Python等。用高级语言编写的程序可读性更强,也便于修改、维护。