算法与程序的区别关系
算法是解决问题的步骤;程序是算法的代码实现算法要依靠程序来完成功能;程序需要算法作为灵魂
程序是结果,算法是手段(为编写出好程序所使用的运算方法)。同样编写一个功能的程序,使用不同的算法可以让程序的体积、效率差很多。所以算法是编程的精华所在。
算法+数据结构=应用程序。
算法是程序设计的核心,算法的好坏很大程度上决定了一个程序的效率。一个好的算法可以降低程序运行的时间复杂度和空间复杂度。先选出一个好的算法,再配合以一种适宜的数据结构,这样程序的效率会大大提高。
算法和程序都是指令的有限序列 ,但是:程序是算法,而算法不一定是 程序。
区别主要在于:
(1) 在语言描述上,程序必须是用规定的程序设计语言来写,而算法很随意;
(2) 在执行时间上,算法所描述的步骤一定是有限的,而程序可以无限地执行下去。
算法是对特定问题求解步骤的描述,它是指令的有限序列。
简单算法举例
例:求 1*2*3*4*5
步骤 1 :先求 1*2 ,得到结果 2 。
步骤 2 :将步骤 1 得到的乘积 2 再乘以 3 ,得到结果 6 。
步骤 3 :将步骤 2 得到的乘积 6 再乘以 4 ,得到结果 24 。
步骤 4 :将步骤 3 得到的乘积 24 再乘以 5 ,得到最后结果 120 。
算法与程序设计知识点总结
1. 算法的概念及特点。
(1)复述算法的概念:解决某一问题的具体的、有限的方法和步骤
(2)解释算法的主要特点: 有穷性(步骤是有限的)、确定性(每个步骤有确切的含义)、可行性(每个步骤是可行的)、有0个或多个输入和有一个或多个输出。
(3)描述用算法解决问题的一般过程: 计算机解决问题的一般过程:分析问题(确定要计算机做什么)、寻找解决问题的途径和方法(解决怎么做)和用计算机进行处理 用算法解决问题的一般过程:需求分析(做什么)、确定算法(主要是人怎么做) 编写程序(计算机怎么做)及上机调试和维护(做得更好)
2. 算法的描述方法;流程图的绘制方法;用流程图来描述算法。
(1)列举算法的描述方法(用自然语言描述、流程图描述、程序语言和伪代码描述);
(2)列举常用的流程图符号及出入口数起止框、输入输出框、处理框、判断框、流程线
3. 常量和变量的区别。
(1) 复述常量和变量的概念;
常量:相当于数学中的常数,在程序运行中不会改变值的量
变量:相当于函数中的变量,在程序运行中可以改变值的量
(2) 列举数据的基本类型(整型、实数型、字符型、逻辑型等);
整 型:相当于整数或用来存放整数的变量; 实数型:相当于实数或用来存放实数的变量; 字符型:非数据值型的数据(判断:一般不能用来加、减、乘、除的)如姓名、学号、电话号码、身份证号等 逻辑型:用关系运算符和逻辑运算符连接的数据,只有真(1)和假(0)二种结果
比较变量名和变量值的区别:Max=5:变量名为Max,其值是5;A(1)=9:A(1)是下标变量
4. 变量的作用和特点;设置和使用变量。
(1) 描述变量的基本作用和特点:作用保存数据;特点:取之不尽,一充就掉。
(2) 列举变量命名的基本规则:英文字母开头,后面跟字母或数字或下划线,系统保留字不能用
(3) 使用赋值语句对变量进行赋值;
LET 变量名=表达式,先计算表达式,后将结果赋值给左边的变量,一般LET省略
5. 运算符、运算的优先次序、表达式。
(1)列举各类运算的运算符及运算规则(算术、字符、关系、逻辑); 算术运算符:+、-、*(乘)、/(除)、^(乘方)、mod(a mod b求a÷b的余数) 字符运算符:+(连接符)”I am ”+”No.1”→”I am No.1” 关系运算符:》、《、=、《》(不等于)、≥(书写时应写成》=)、≤ 逻辑运算符:NOT(非/取反)、AND(与/并且/相当于乘法)、OR(或/相当于加法)
(2)区分各类运算符的优先级; 算术运算:( )→函数→乘方→*、/→mod→+、-
逻辑运算:( )→NOT→AND→OR 关系和逻辑运算的结果只有真和假,教材上约定真为1,假为0 先算术运算→字符→关系→逻辑
(4) 列举常用的表达式类型:也分为算术、字符、关系和逻辑表达式四种
#e#
算法的三种结构
算法的结构特点。
(1) 描述顺序结构的特点:各个操作步骤严格按照先后次序执行一次
(2)描述分支结构的特点:执行到某一操作时,会根据判断的结果选择二条分支中的一条分支执行,也 称选择结构;流程图中会出现判断框,又分单分支和双分支。
(3)描述循环结构的特点:某些操作步骤会被连续地重复执行,因此又称重复结构;流程图中会出现上 跳分支。
(4)解释循环结构中循环的要素(如:初始状态、循环体、循环条件等);
控制循环的变量一般有初始值(初始状态)和终值(循环条件)
2. 计数器、累加器、累乘器。
(1) 识别计数器、累加器、累乘器的结构;
(2)用流程图绘制计数器、累加器、累乘器。 计数器a:a=a+1(a的初值一般为0或1)或a=a-1(倒计数如10,9,8,7…) 累加器S:S=S+一个数(S的初值一般为 0) 累乘器T:T=T×一个数(初值一般为1)
3. 分支的两种不同形式。
(1)区分单分支与双分支结构
描述分支结构的适用情况:执行到某一操作时,要根据判断的结果选择不同操作
4.循环的两种不同形式。
(1) 比较两种循环结构的区别(当型循环和直到型循环);
(2) 描述当型循环的执行过程:先判断后执行循环体,循环体可能一次也不做
(3)描述直到型循环的执行过程:先执行循环体后判断,循环体至少做一次
4. 三种结构的组合。
(1) 描述分支嵌套分支的执行过程:分支结构中又出现分支的结构
(2) 描述循环嵌套分支的执行过程:循环结构中又出现分支的结构
(3)描述循环嵌套循环的执行过程(双重循环):循环结构中又出现循环的结构
算法实例
1. 枚举算法。
(1) 描述枚举算法的基本概念:列举每一种可能,并检验是否成立,也称穷举法
(2) 列举枚举算法的基本特征:先列举,后检验(用分支结构实现检验)
(3)描述枚举算法的基本实现方法:循环中嵌套分支
2. 解析算法。
(1) 描述解析算法的基本概念:用代公式的方法来计算结果的算法
(2)列举解析算法的基本特征;
(3)描述解析算法的基本实现方法:顺序或分支
(4)描述解析算法的适用情况
实现分支和循环结构的语句格式
一、分支结构
1.双分支结构
1.单分支结构
二、循环结构(连续的重复执行,又称重复结构)
1. 当循环
2.直到循环
评论
查看更多