算法与程序设计算法概述课件.ppt
关于算法与程序设计算法概述现在学习的是第1页,共21页算法与程序设计计算机和算法现在学习的是第2页,共21页计计算算机机系系统统硬件系统硬件系统操作系统语言处理程序数据库理系统软件系统软件系统系统软件系统软件应用软件应用软件办公软件、网络应用软件、管理信息系统软件的重要组成部分是:程序软件的重要组成部分是:程序软件:解决计算机管理和各种应用问题所编写的各种程序以及与此相关的文档资料。程序:是指示计算机如何去解决问题或完成任务的一组可执行的指令。指令:指用来规定计算机操作的命令。分为:输入输出指令、数据处理指令、数据传送指令、程序控制指令。想一想:为什么要使用软件?程序的实现要经历哪些过程?想一想:为什么要使用软件?程序的实现要经历哪些过程?1.1计算机和算法现在学习的是第3页,共21页思考:为什么用电脑解决问题要设计算法?n人脑解决问题的一人脑解决问题的一般过程般过程1.分析问题分析问题2.根据已有知识、经验根据已有知识、经验进行判断、推理进行判断、推理3.尝试按一定的方法和步尝试按一定的方法和步骤去解决骤去解决n使用电脑解决问题使用电脑解决问题的一般过程的一般过程1.分析问题分析问题2.设计算法设计算法(设计出解决设计出解决某一问题的有限个求解步某一问题的有限个求解步骤骤)3.编写程序编写程序4.运行程序运行程序现在学习的是第4页,共21页1.2算法的概念n算法算法是在有限步骤内求解某一问题所使是在有限步骤内求解某一问题所使用的具有精确定义的一系列操作规则。用的具有精确定义的一系列操作规则。简而言之,算法是指简而言之,算法是指解决问题的具体方解决问题的具体方法和步骤。法和步骤。n一个完整的算法有三个部分:输入、处一个完整的算法有三个部分:输入、处理、输出。理、输出。现在学习的是第5页,共21页算法的特征n有穷性一个算法总是在执行了有穷步的运算后终止。n确定性算法的每一种运算必须有确定的意义,该种运算应执行何种动作应无二义性,目的明确。n可行性要求算法中有待实现的步骤都要能够实际做到的,而且在有限的时间内完成。n有0个或多个输入在算法运算开始之前给出算法所需数据的初值,就是要计算机处理的数据“告诉”计算机n有一个或多个输出计算机是百分百听话的,若不通知它将结果告诉用户,它是不会告诉你结果的,作为算法运算的结果,一个或多个。现在学习的是第6页,共21页练一练n根据完整算法有三部分(包括:输入、处理、输出)的要求,写出下列问题的算法:1.输入矩形的长和宽,求矩形的面积。分析与提示:如果你的程序只能计算如长为分析与提示:如果你的程序只能计算如长为5 5、宽为、宽为4 4的的矩形面积,那么这个程序也就没什么实用性。所以,矩形面积,那么这个程序也就没什么实用性。所以,长和宽应该是可变的量(变量:是计算过程中要用的长和宽应该是可变的量(变量:是计算过程中要用的数据存储单元。记录矩形的长、宽、面积可以使用三数据存储单元。记录矩形的长、宽、面积可以使用三个变量,如个变量,如a a、b b、S S。2.输入三角形的三条边长,求三角形的面积。面积计算公式:面积计算公式:其中,其中,a,b,ca,b,c是三角形的三条边长,是三角形的三条边长,p=(a+b+c)/2p=(a+b+c)/2。s=sqrt(p*(p-a)*(p-c)*(p-b),s=sqrt(p*(p-a)*(p-c)*(p-b),计算一个数的平方根可用计算一个数的平方根可用函数函数sqrtsqrt。现在学习的是第7页,共21页1输入边长a的值2输入边长b的值3输入边长c的值4如果a+bc,转到5;反之,转115如果b+ca,转到6;反之,转116如果c+ab,转到7;反之,转117p(a+b+c)/28ssqrt(p(p-a)(p-b)(p-c)9输出s的值10结束11显示“不能构成三角形!”,转112变量a13变量b14变量c15变量p16变量s开始结束输入a,b,c的值p(a+b+c)/2ssqrt(p*(p-a)*(p-b)*(p-c)输出Sa+bcb+caa+cb1输入边长a的值2输入边长b的值3输入边长c的值4如果a+bc,转到5;反之,转115如果b+ca,转到6;反之,转116如果c+ab,转到7;反之,转117p(a+b+c)/28ssqrt(p(p-a)(p-b)(p-c)9输出s的值10结束11显示“不能构成三角形!”,转112变量a13变量b14变量c15变量p16变量s现在学习的是第8页,共21页1.3 算法的表示1.3.1变量、常量及其用途1.常量:不可以改变的量。2.变量:可以改变的量。一般以字母开头,可长可短,中间没有空格便于记忆取之不尽,用之不竭3.程序中的变量与常量是计算过程中要用的数据的存储单元,因此是计算机将数据存放到存储单元中,或者称为给变量赋值。现在学习的是第9页,共21页两种特殊的变量及其使用1.计数器(counter):记录某种事件发生次数的变量2.累加器(sum):存放数据之和的变量使用前,初始置设为0赋值语句countercounter+1sumsum+a现在学习的是第10页,共21页1.3.2运算符及运算次序1.算术运算符:+、-、*、/、(指数)、(整除:即取商的整数部分)、mod(取模:即取余数)2.字符运算符&或+。3.关系运算符、=、=、=、(不等于)关系运算的结果结果是一个逻辑值:Ture(真)或False(假)4.逻辑运算符and、or、not。5.优先级:算术运算与字符运算最优先,关系运算次之,最后为逻辑运算,括号可以改变次序。现在学习的是第11页,共21页字符串运算符:、字符串运算符:、字符串运算符:、,字符串运算符:、,功能是两个字符串的连接、的区别:两边若都为字符串,则为连接运算;两边若都为数值型,则为算术加法运算;两边若一个为字符串,另一个为数值,则将出错;:两边不管是字符型还是数值型,总是以字符型连接使用时,左右两边需空一格现在学习的是第12页,共21页逻辑运算符逻辑运算符1.逻辑运算符:逻辑运算符:2.逻辑运算的结果是逻辑值true或false3.逻辑运算符运算次序:逻辑运算符运算次序:notandorABAandBAorBTTTTTFFTFTFTFFFFAnotATFFTback现在学习的是第13页,共21页1.3.3表达式1.表达式:指用运算符将常量、变量连接起来有意义的式子。2.表达式的类型:算术表达式。其结果是一个具体的数值。字符表达式。其结果是一个字符串。关系表达式。结果是一个逻辑值。逻辑表达式。结果是一个逻辑值。现在学习的是第14页,共21页练习:求下列表达式的值假设:a=1,b=2,c=3,那么1.a+b*c2.cmodb+a3.ab-a4.a05.a+bcorb+caandc+ab现在学习的是第15页,共21页练习:将下列描述用赋值表达式表示(1)设圆的半径为)设圆的半径为5cm,将它存放在变量将它存放在变量r中,将圆周中,将圆周长赋值给变量长赋值给变量c,面积赋值给变量,面积赋值给变量s。(2)假设一元二次方程的系数存放在变量)假设一元二次方程的系数存放在变量a,b,c,将判,将判别式赋给变量别式赋给变量d。(3)将)将“信息科技信息科技”字符信息赋值给变量字符信息赋值给变量title。(4)某商店一商品价格存放在变量)某商店一商品价格存放在变量price中,将中,将price打打对折,赋值给变量对折,赋值给变量price中。中。现在学习的是第16页,共21页作业n根据完整算法有三部分(包括:输入、处理、输出)根据完整算法有三部分(包括:输入、处理、输出)的要求,写出下列问题的算法:的要求,写出下列问题的算法:1.1.某学校需购买某学校需购买n n套学生课桌椅,已知每套单价套学生课桌椅,已知每套单价200200元,元,另加总价的另加总价的3.5%3.5%的送货费,请计算学校应付款是多少的送货费,请计算学校应付款是多少?(单价用变量?(单价用变量j j表示,套数用表示,套数用n n表示表示,总价用总价用m m表示表示,应应付款用付款用p p表示)表示)2.2.输入任意一个三位正整数输入任意一个三位正整数n n,输出这个三位数各位数字,输出这个三位数各位数字之和之和totaltotal。例如:输入。例如:输入456456,输出结果为,输出结果为1515。现在学习的是第17页,共21页现在学习的是第18页,共21页1.3算法的表示方法n自然语言n流程图n伪代码(介于自然语言和计算机程序语言之间的一种算法描述)现在学习的是第19页,共21页算法的流程图表示处理框输入输出框判断框连接框流程线开始结束符常用符号有:现在学习的是第20页,共21页感感谢谢大大家家观观看看现在学习的是第21页,共21页