(1).什么是程序(计算机指令)
一个程序主要包括对数据的描述(数据结构),对操作的描述(算法).
(2)数据结构:在程序中指定要用到的数据,以及这些数据的类型和数据的组织形式。
(3)算法:要求计算机进行操作的步骤
(数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。打个比方,制作菜肴,需要有菜谱,菜谱上有说明:①所用配料②操作步骤,但是每种算法的操作是不同的,就像是做菜有不同风味,所以作为程序设计人员,必须认真考虑和设计数据结构和操作方法。著名的科学家Nikiklaus Wirth提出过一个公式:算法+数据结构=程序)。
1.详细介绍算法:算法不仅是解决计算问题,更是解决一个问题而采取的方法和步骤,例如“太极拳的动作图解就是太极拳的算法,一首歌的乐谱,就是这首乐曲的算法。”
2.计算机的算法分为两大类:数值运算算法和非数值运算算法,数值运算算法的目的就是求数值解,例如求方程的解,求一个函数的定积分等。非数值运算算法则是用于事务管理领域,像是图书检索,人事管理等。目前非数值运算算法较为成熟,有现成的算法可供使用。
3.算法的特性:①有穷性(一个算法的步骤应该是有限的,如果出现循环的算法,那么超出人们认知长度的,不能看作是有效算法)。
②确定性(算法要准确无误,每个步骤一定要准确不能产生歧义性,就像是唱歌,每一句的歌词一定不能错)。
③有零个或者多个输出(就像是上面的例子,不需要输入也能解决,但有些需要输入数据才能实现,例如比大小)。
④有一个或者多个输出(算法的目的就是为了求解,没有输出的算法是没有意义的)。
⑤有效性(每个步骤都能得到有效的执行和结果)。
4.多种方式表示算法
流程图:可以表示算法(步骤),流程图有三种基本结构:顺序结构,选择结构和循环结构(当型while和直到型until)
N-S流程图表示算法
用伪代码和计算机语言(c,c++,java)表示算法(就像是普通的代码)