《第二部分必修1算法与程序实现知识点公开课.docx》由会员分享,可在线阅读,更多相关《第二部分必修1算法与程序实现知识点公开课.docx(6页珍藏版)》请在第一文库网上搜索。
1、第二部分算法与程序实现一、算法1 .算法的概念广义上讲,算法指的是解决问题或完成任务的一系列步骤集合。在计算机科学领域,算法指的是用计算机解决问题而需要让计算机有序执行、无岐义、有限的步骤集合。2 .算法的特征(1)有穷性:算法的步骤必须是有限的(2)可行性:算法中的每一步操作与要求都应该是算法执行者(人或者机器)可以实施的(3)确定性:算法中对于每个步骤的执行描述必须是明确的(4) O个或多个输入:算法执行过程中,数据可以包含在算法,也可以从外部获取数据(5) 1个或多个输出:算法必须要告诉外界问题求解的结果(显示或执行)3 .算法的要索(1)数据(初始数据、中间数据、结果数据)(2)运算(
2、3)控制转移4 .算法的描述方式(1)自然语言:英语、汉语等,通俗易懂,但容易出现歧义。(2)流程图:用一些图框、流程线以及文字说明来表示算法,直观、形象、容易理解。符号名称图形功能开始/结束框表示算法的开始与结束输入/输出框一表示数据的输入/输出处理框表示算法的各种处理操作(如赋值语句判断框O表示算法的条件判断操作b8?实例:流程图解题方法右图中包含一个循环结构,写出循环结构中的“b48?”“b”“a”,写出初值,然后开始列表计算.循环结束,输出结果.在此过程中,b8?运行了5次,b-3*a-1和a-a+1均运行了4卜3*a-IYmiBa,bN初值第1次第2次第3次第4次第5次5811a12
3、345输出a,b最后输出的结果为511(3)伪代码:风格像计算机程序语言,但没有统一、严格的规定。(4)计算机程序设计语言:如Python、C、JaVa等5 .算法的控制结构(1)顺序结构:算法的每个指令按先后顺序依次执行。(2)分支结构:判断条件是否成立,并选择某一条路径中的指令执行。(3)循环结构:首先判断条件是否成立,如果不成立则跳出循环体,如果条件成立则执行循环体内的指令,然后再次判断条件是否成立,如果条件依旧成立则再次执行循环体内的指令,直至条件不成立跳出循环体为止。二、用计算机解决问题的一般过程1 .抽象与建模:提炼问题核心要素,定义已知条件和求解目标的数学计算模型。2 .设计算法
4、:在计算模型的基础上,遵循算法特征、围绕算法要述,进行合理描述。3 .编写程序:即编写计算机程序。4 .调试运行程序:检验和验证程序是能否准确解决问题。三、算法的程序实现(Python)1.常见的数据类型整型即整数,如10-8080整型和实型统称为数值型,表示数量的值。实型即实数,如1O3.14-9.O11.0e3字符串型字母、数字、汉字、符号等字符,字符三引号进行表示,如:,3True需要用单引号、双引号或,1.7厘米E布尔型也叫逻辑型,只有TrUe和Fa1Se两种值2.变量的命名规则(1)由字母、数字和下划线组成(2)不能以数字开头(3)不能使用Python保留字(如and、if、in等)
5、(4)字母区分大小写(如tom和Toin是不同的变量)。3.运算符基本运算运算符优先级示例算术运算符乘器林17*2计算结果为49乘法*27*2计算结果为14除法/27/2计算结果为3.5整数除法/27/2计算结果为3求余除法%27%2计算结果为1加法+37+2计算结果为9减法-37-2计算结果为5字符连接+3“7“+“2“计算结果“72”关系运算符相等=47=2结果为Fa1Se不相等!=47!=2结果为True小于47472结果为True小于等于=47=47=2结果为True存在于in5,hinMHe1Io”结果为FaISe逻辑运算符非not6Not72结果为Fa1se与and7and两边都为
6、TrUe,结果才为TrUe,否则为Fa1se,例如72and72or72结果为True运算符的优先级别最高为1最低为8。进行运算时,级别高的先执行。4.表达式(1)表达式:变量、常量、运算符和圆括号等组成,如:(b*2-4*a*c)(2*a)(2)表达式不能单独作为程序中的一行代码使用,它可以作为赋值语句的右边部分,赋值给某个变量,也可以作为if语句和Whi1e语句的条件表达式。5.赋值(1)给变量赋值使用“二”,将右边的值赋给左边的变量。(2)赋值常用方法:赋值举例功能x=2将数值2赋值给变量Xx=a%1010将表达式a%1010的运算结果赋值给变量Xx=x+1将变量X的值加上1之后重新赋值
7、给变量Xx+=1等同于x=x+1,另外还有“仁”/=”=”“%=”等赋值运算X,y=1,3将1赋值给变量X,将3赋值给变量ya,b=b,a实现变量a和变量b的值交换6.基本数据结构(1)字符串:由多个生筱元索组成的字符序列。例1a=hz7z”表示变量a是一个字符串,由?“、“z“、“7“、“z“四个字符元素组成。这访问单个字符:如:访问多个字符:如:四个字符的索引号分别为0、1、2、3。字符串名索引号a0的值为“h,a2的值为“7”字符串名开始元素索引号:结束元素的后一个元索的索引号80:2的值为?2”,a1:3的值为“Z7”(2)列表:由多个数据元索组成的序列,列表中的元素可以是不同类型的数
8、据。列表用方括号“口”表示,元素之间用逗号”分隔。例2:b=31,2.4d5,7Fa1se,表示b是一个列表,由五个元素组成。列表元素312.4,d5,7,Fa1se列表索引01234访问单个元素:列表名索引号如:访问多个字符:如:b0的值为31,b2的值为Ws列表名开始元索索引号:结束元素的后一个元素的索引号b0:2的值为31,2.4,b3:5的值为7,Fa1se修改某个元索的值:如b1:32,则列表b的第2个元素的值将被修改为3.2(3)字典:字典类似于列表,可包含多个元素,用花括号“”表示,各元素用逗号分隔。每个元索由键值对组成,键和值用冒号“:”分隔。例3:c=IDF24,“姓名”:“
9、张三性别男年龄”:23,表示字典C由四个元素组成。字典元素nID:124“姓名”:“张三“性别男”“年龄”:23键ID,姓名”“性别”,年龄,值124,张三”“男”23访问字典元素值:字典名键如:c”姓名”的值为“张三”,的值为1247.内建函数函数名描述input()获取用户输入的内容(字符串型)例:a=input(“提示语”),根据提示语输入字符串,赋值给变量a如果需要输入整型或实型,则需要配合int()或f1oat。进行类型转换print(x)输出变量X的值,print(x,y)输出变量X和y的值(两值之间有空格)print(x,end=*,),多次输出的值显示在一行上。int(x)将变
10、量X的值转为整型(X为实数时,则舍去小数部分)例1:int(17)的值为1,int(-1.9)的值为-1也可以将字符串型的值转为整型,例2:X的值为2,则int(x)的值为2例3:a=int(input(提示语”)将输入的字符转为整型f1oat(x)将变量X的值转为实型str(x)将变量X的值转为字符串型,例,X的值为2,则str(x)的值为2abs(x)返回变量X的绝对值Ien(x)返回字符串X的字符数量,或返回列表X的元素个数ord(x)返回字符X对应的ASCn值,例:X的值为安,则Ord(X)的值为65chr(x)返回ASCI1值X对应的字符,例:X的值为65,则Chr(X)的值为吠实例
11、:t=chr(ord(x)-32)如果X为小写字母,则t为对应的大写字母round(x)round(x,n)对X进行四舍五入取整,例:round(3.14)的值3round(3.6)的值为4对X进行四舍五入保留n位小数,例:round(3.14,1)的值为3.1max(x)返回列表X中的最大值,InaX(X,y,z)返回多个数值中的最大值min(x)返回列表X中的最小值,max(x,y,Z)返回多个数值中的最小值if条件:语句块条件是一个表达式,当条件成立时,执行语句块中的语句。语句块中的语句需要缩进标识。if条件:当条件成立时,执行语句块1中诺包块1/e1se:的语句,否则执行语句块2中的语
12、句块2语句。if条件1:当条件1成立时,执行语句块1语句块1中的语句,否则当条件2成立e1if条件2:时,执行语句块2中的语句,当语句块2if语句和e1if子句中的条件都不成立时,末尾e1se子句中的e1if条件NX语块才会被执行。语句块N从上到下,只要某个条件成立,e1se:就会执行相应的语句块,然后就语句块N+1不再判断其它条件是否成立。8.分支结构9.循环结构(1)range函数:生成一个数值型序列,格式为range(起始值、终值、步长值)例hranged,5,1)例2:range(0,10,2)例3:range(10,2,-2)生成一个序列1,2,3,4生成一个序列0,2,4,6,8生
13、成一个序列10,8,6,4使用range函数生成的数值序列中不包含终值.例4tranged,10)等同于ranged,10,1)步长为1时可以略写例5:range(10)等同于range(0,10,1)起始值为0、步长为1时可以略写(2)序列:字符串、列表、range函数、字典等例1:a=z7z,字符串a由h、z、7、N四个元素组成例2:b=31,2.4d5,7,Fa1se,列表b由31、2.4、d5、7、Fa1Se五个元素组成例3:c=range(1,7),序列C由1、2、3、4、5、6六个元素组成(3)for语句:通过遍历庄列中的元素实现循环forin:循环体序列中的元素会被依次赋值给变量,每次赋值都会执行一次循环体中的语句。当序列中的元素全部遍历完时退出循环。例1:结果:a=*hz7zhforiina:Zprint(i)7Z例2:结果:b=31,2.4,d531foriinb:2.4print(i)d5例3:结果:c=range(1,8,2)1foriinc:3print(i)57(4)Whi1e语句:通过条件控制实现循环先判断条件