2024新教科版(2019)《高中信息技术》必修第一册 第一至第五单元 知识点(5)份(全册打包).rar
第 l 单元 初识数据与计算1.1 我们身边的数据1.1 我们身边的数据1、数据1、数据在我们身边存在着各种数据,如刷公交卡时刷卡机显示的本次扣款金额和卡内余额、电子手表上显示的日期和时间、教科书封底下端的国际标准书号(ISBN)、体育课上测量的各项运动成绩等。这些数字都是数据。我们的名字、诗人创作的诗句、奥运会的主题曲、记载学校运动会的视频等都不是数字,那么它们是数据吗?实际上,数据的表现形式多种多样,除了数字以外,还有文字、图形、图像、声音和视频等形式。在日常生活中,有些数据是固定不变的有些数据是固定不变的。例如,不管圆有多大,它的周长与直径的比值总是一个固定的数,也就是我们常说的圆周率;再如,一个标准大气压下,冰水混合物的温度为 0C。有些数据是不断变化的有些数据是不断变化的,例如家庭每天的用电量、国际黄金价格、气温等。这些数据随着时间而改变,因此在运用此类数据时要注意时效性,否则有可能造成计算无效。有些数据是随机出现的有些数据是随机出现的。比如抛硬币,是正面向上还是反面向上是随机的。但若抛几百次、几千次,正面向上的可能性就稳定在 50%左右。这时,数据的出现往往又有-定的概率。2、信息2、信息单纯的数据不能表达具体的含义,例如我们并不清楚像 28 和 90%这样的数值在生活中的具体意义。在对数据进行处理或赋予其具体的情境后,这些数据就成了有意义的信息。28 和 90%可以分别用于表达今日的最高气温 28C,相对湿度 90%,此时数据就成了有意义的信息。数据是信息的符号表示;信息是数据的内涵,是对数据的语义解释。数据是信息的符号表示;信息是数据的内涵,是对数据的语义解释。数据处理就是把原始数据转换成人们所需要的信息的过程。完整的数据处理过程一般包括数据的采集、加工、传输、存储、检索和输出六个环节完整的数据处理过程一般包括数据的采集、加工、传输、存储、检索和输出六个环节。数据处理的目的是把数据转化成有用的信息以满足用户的需求。数据处理的目的是把数据转化成有用的信息以满足用户的需求。一般而言,不管是什么样的信息,它们通常都具有-些特征,如载体依附性、价值性、时效性、共享性等。不管是什么样的信息,它们通常都具有-些特征,如载体依附性、价值性、时效性、共享性等。以天气预报信息为例,该信息不能独立存在,需要依附于一定的载体,它可以显示在网页上,也可以显示在报纸上,体现了信息的载体依附性;人们可以利用天气预报作为穿衣或出行的参考,体现了信息的价值性;天气预报只是预报了未来某一特定时段的天气状况,它 会随着时间的推移而变化,体现了信息的时效性;作为一种资源,天气预报往往可以被多个信息接收者接收并且多次使用,这就体现了信息的共享性。3、知识.3、知识.知识是信息经过加工提炼后形成的抽象产物。它表述的是事物运动的状态和状态变化的规律。知识是信息经过加工提炼后形成的抽象产物。它表述的是事物运动的状态和状态变化的规律。可以说,知识是一类高级的、抽象的,而且具有普遍适应性的信息。知识是一类高级的、抽象的,而且具有普遍适应性的信息。知识是人类求知活动的结晶。例如,人们发现感冒的发生除了与病毒感染有关外,天气条件也是一个重要因素。冷空气的人侵,造成大幅度降温,或者冷空气经过后出现冷高压天气,特别是大气压高于 1030 百帕的晴好天气,就会有大批人感冒。感冒指数的计算方法,是经专家调查研究和演算归纳出来的。知识是认识世界的结果,同时也是改造世界的依据。数据、信息和知识可以看作人类对客观事物感知的三个不同阶段数据、信息和知识可以看作人类对客观事物感知的三个不同阶段。数据是对事物属性的客观记录,信息是经过组织的有结构的数据,知识是经过人的思维整理过的信息、数据、形象、价值标准以及社会的其他符号化产物。数据是对事物属性的客观记录,信息是经过组织的有结构的数据,知识是经过人的思维整理过的信息、数据、形象、价值标准以及社会的其他符号化产物。4、数据的来源4、数据的来源按照获取数据的渠道,可以将数据分为两类:直接数据和间接数据数据分为两类:直接数据和间接数据。统计调查或科学实验通常是数据的直接来源,由此得到的原始数据一般称为直接数据或一手数据;而通过查阅资料获得的数据或他人对原始数据处理过的数据,一般称为间接数据或二手数据。例如,我 们用温度计实际测量得到的气温值是直接数据,而从网上搜索到的气温值是间接数据。5、数据的收集方法5、数据的收集方法直接数据的收集方法有很多,如调查法、访谈法、观察法、实验法等直接数据的收集方法有很多,如调查法、访谈法、观察法、实验法等。随着技术的发展,收集数据的手段日益丰富。例如,在农田中使用传感器可以实时收集农田土壤含水率,用以指导精确灌溉;利用车载尾气检测技术可以获取实时的动态尾气数据,用以协助调整交通策略及城市规划;利用中国嫦娥四号探测器收集月球表面成分的第-手资料。间接数据一般都已经过加工处理,使用起来更加方便。收集间接数据的方法也有很多间接数据一般都已经过加工处理,使用起来更加方便。收集间接数据的方法也有很多,如查阅文献资料、关注媒体资源、浏览权威网站、利用搜索引擎在网络中进行检索、从相关数据公司购买等如查阅文献资料、关注媒体资源、浏览权威网站、利用搜索引擎在网络中进行检索、从相关数据公司购买等。在收集这类数据时要综合考虑数据的时效性、可信度以及经济条件等方面的因素。6、数据分析6、数据分析数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息,并形成结论的过程数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息,并形成结论的过程。针对调查问卷收集的数据,我们可以分析问卷中不同指标的分布、所占比例等情况,也可以进一步对问卷指标进行交叉分析,如性别不同,穿衣情况比例是不是也有所差异等,然后在分析的基础上得出结论。很多网络调查平台为用户提供了一些分析功能。1.2 数据的计算1.2 数据的计算1、计算“数据”在“运算符”的操作下,按“规则”进行的数据变换,如“3+3=6”“3x2=6”,这是简单计算中的算术运算。通过建立分析模型和设计有效的步骤、方法,利用自动计算工具来进行规律预测和发现,这是计算机领域的计算。人类分析问题常采用的方法是计算,因此计算可以看作是一种获得信息的过程。2、电子表格软件.电子表格软件是面向大众的计算工具,它的图形用户界面及“所见即所得”的编辑技术等使对数据进行计算更加易于操作,从而更充分地实现人和计算机的优势互补,提高人机协作效率。3、数据的排序利用电子表格软件排序功能可以依据关键字对表中的数据进行升序或降序排列,从而更清晰地了解各种分类信息。例如,我们希望找到身高最高的几位同学,可以依据身高进行排序。如果需要按照多个条件排序,可以进行多个关键字的设定。如图 1.2.1 所示,通过设置主要关键字、次要关键字,能很容易地找出女生中身高最高的几位同学。4、数据的筛选根据一定的规则成批筛选数据,有助于我们发现某类特定数据蕴含的信息。筛选会依据条件显示需要的数据,其余的内容都会被隐藏起来筛选会依据条件显示需要的数据,其余的内容都会被隐藏起来。同时,筛选不会以任何方式更改数据,取消筛选之后,所有数据都会重新出现。例如,筛选性别为男、爱好为篮球的数据,筛选后的结果如图 1.2.2 所示。第 2 单元 编程计算2.1 计算机解决问题的过程2.1 计算机解决问题的过程1、算法1、算法简单地说,算法就是解决问题的方法和步骤算法就是解决问题的方法和步骤。“最强大脑”游戏问题的求解过程就代表着一种算法。其实,我们在日常生活中也经常使用算法。例如,我们到超市购物,首先确定要购买的物品,然后进行挑选、比较,最后到收银台结账付款,这一系列活动流程与策略就 是所谓的算法。解决问题的过程,就是实现算法的过程。找到算法之后,不能只是自己心知肚明,还需要准确、具体地将它描述出来。要让计算机解决问题,必须明确地告诉它要处理的具体对象和每一步的准确处理过程,否则计算机就无法工作。因此,对算法的描述要求尽可能精确、详尽。描述算法可以有多种方法,比如可以使用自然语言或流程图进行描述。2、使用自然语言描述算法2、使用自然语言描述算法自然语言是指人们日常生活中使用的语言,汉语、英语、德语等都是自然语言。用自然语言描述算法符合我们的表达习惯,并且容易理解。用自然语言描述算法,通常是我们理解算法的第一步3、使用流程图描述算法3、使用流程图描述算法流程图也称为程序框图,它是算法的一种图形化表示方法。与使用自然语言描述算法相比,用流程图描述算法形象、直观、更容易理解。对于一些复杂的算法,直接编写代码很困难,我们可以先用流程图描述算法,然后根据流程图写出程序代码。为了使算法的流程图看起来更加直观,需要对流程图的表示方法进行规范,目前最常用的流程图规范是由美国国家标准学会制定的一系列流程图符号,如图 2.1.1 所示。起止框:表示一个算法的开始和结束。输人/输出框:表示从外部输人数据到计算机内部或者从计算机内部输出数据到计算机外部。处理框:表示操作的内容。判断框:表示判断的条件。满足条件,执行标识为“是”的路径;不满足条件,则执行标识为“否”的路径。流程线:指向算法运行的方向。连接符:表示流程图的接续。在相互联系的流程图内,流程线将在具有相同数字或字母的另一连接符处继续下去。4、三种基本结构的流程图算法的三种基本结构是顺序结构、分支结构和循环结构。算法的三种基本结构是顺序结构、分支结构和循环结构。顺序结构是一种最简单的基本结构,按照自上而下的先后顺序依次执行程序语句顺序结构是一种最简单的基本结构,按照自上而下的先后顺序依次执行程序语句。在如图 2.1.2 所示的顺序结构示意图中,先执行处理框 A,再执行处理框 B。分支结构也称为选择结构,是一种根据给定的条件进行判断的结构。分支结构也称为选择结构,是一种根据给定的条件进行判断的结构。如图 2.1.2 所示的分支结构中必定包括一个判断框,若满足条件则执行处理框 A,若不满足条件则执行处理框 B。循环结构是一种重复某一部分操作的结构。循环结构是一种重复某一部分操作的结构。如图 2.1.2 所示的循环结构中,若满足条件则执行循环体(处理框 A),若不满足条件则跳出循环,执行循环结构后面的代码。5、Python 语言的开发环境Python 是一种程序开发工具。6、程序设计语言的发展除 Python 语言之外,还有很多其他程序设计语言。程序设计语言经历了从机器语言、汇编语言到高级语言的发展过程。程序设计语言经历了从机器语言、汇编语言到高级语言的发展过程。机器语言由二进制的 0、1 代码指令构成,能被计算机直接识别。但理解和记忆机器语言非常困难,并且容易出错,编程效率极低。汇编语言是符号化的机器语言,采用英文助记符代替机器指令,比机器语言容易识别和记忆,从而提高了程序的可读性。但是汇编语言仍然是面向机器的语言,是为特定的计算机系统设计的,它要求软件工程师对相应的机器硬件非常熟悉,因而汇编语言属于低级语言。高级语言更接近自然语言,并不特指某一个种语言,也不依赖于特定的计算机系统,因而更容易掌握和使用,通用性也更好。比较流行的高级语言有 Java、C/C+以及本书使用的 Python 等。用高级语言编写的程序可读性更强,也便于修改、维护。2.2 做出判断的分支2.2 做出判断的分支常量在程序运行过程中值始终保持不变的量称为常量。所有的常数都是常量变量在程序运行过程中值允许改变的量称为变量。计算机在处理数据时,首先要将数据调入内存单元,然后进行各种操作。变量是创建时在内存中开辟的一个存储空间,变量名是内存中存放数据的存储单元的标签,存放的数据叫变量的值。在 Python 中,变量的命名需遵循以下几条规则。必须以字母或下划线开头,后面可以是字母、数字或下划线。必须以字母或下划线开头,后面可以是字母、数字或下划线。区分大小写。区分大小写。不能使用保留字。不能使用保留字。程序中的变量与数学中的变量含义略有不同。数学中的变量隐含着“未知”;在程序中,程序执行的每个瞬间,变量的值是确定的,但在程序执行的整个过程中,它的值是可以改变的。运算符与表达式表达式由一个或多个操作数通过运算符组合而成。例如“2+3”它由运算符“+”和操作数“2”“3”两部分构成。运算符是进行某种运算的标识符号,它标明对操作数所进行的运算。常见的运算符如表 2.2.1 所示。赋值语句赋值语句的基本格式如下:变量=表达式,功能是将右边表达式的值赋值给左边的变量。输入和输出语句在 Python 中,使用“input()”从键盘输人数据,使用“print()”在屏幕上输出数据“input()”从键盘输人数据,使用“print()”在屏幕上输出数据。如果有多个输出项,可以使用“,”有多个输出项,可以使用“,”分隔。数据类型为了便于数据的表示与处理,Python 提供了整数、浮点数和字符串等常见的数据类型。下面给出一些函数,它们可以把数据从一种类型转换为另一种类型。float():根据一个字符串或整数创建一个新的浮点数(小数)。float():根据一个字符串或整数创建一个新的浮点数(小数)。int():根据一个字符串或浮点数创建一个新的整数。int():根据一个字符串或浮点数创建一个新的整数。str():根据一个数(也可以是任何其他类型)创建一个新的字符串。str():根据一个数(也可以是任何其他类型)创建一个新的字符串。分支语句当程序中需要根据不同的条件判断来决定程序执行的走向时,可以 使用 if 分支语句实现,其基本格式如下。2.3 周而复始的循环2.3 周而复始的循环1、列表列表在 Python 中的作用非常强大,它可以包含多个数据元素,同时它是一个有序的集合。下面通过一个简单的例子来熟悉列表的使用方法。2、计数循环循环重复次数一定时,我们通常称为计数循环。在 Python 中,使用 for 语句来创建这类循环。for 语句的基本格式如下通常我们将一组重复执行的语句称为循环体。Python 对循环体的定的格式是,循环体必须相对关键词 for 有缩进Python 对循环体的定的格式是,循环体必须相对关键词 for 有缩进。在 for 语句中,in 后也可以是 range()函数,它可以生成某个范围内的数字列表。例如:range(1,6)就会生成1,2,3,4,5这样一个列表,而 range(8)会生成0,1,2,3,4,5,6,7这样一个列表。3、条件循环条件循环一般用于循环次数未知的情况。只有当循环条件成立时,才执行循环体。在Python 中,使用 while 语句来创建这类循环。while 语句的基本格式如下。如:在本例中,循环体是两条语句,因此这两条语句相对于关键词 while 均要缩进循环体是两条语句,因此这两条语句相对于关键词 while 均要缩进。程序执行过程是:变量 s 初值为 0,判断“s=30”是否成立;如果成立则执行循环体(s 值增加10,输出 s 的值),不断重复直到“s=30”不成立,退出循环。在此我们需要特别关注语句“s=s+10。在编程时,形如“s=s+x”的语句可以起到累加的作用,如果 x=1,即 s=s+1 可以起到计数的作用。一般在使用累加器或计数器时将变量赋初值为 0。也有一类特殊的关系表达式,如数字 0 表示假,非 0 数字表示真。如果循环是以“while 1:”开头,那么在不加干预的情况下,程序就会“不知疲倦”地一直执行下去。如果你想停止这个程序,按快捷键 Ctrl+C 即可。通常情况下,我们不会让程序陷人这种“死循环”的境地。2.4 可以复用的代码2.4 可以复用的代码1、函数函数可分为系统函数和用户自定义函数两种类型。系统函数即函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编制好的程序。在前面单元使用过的print()和 input()函数都是系统函数。前者用于将字符串按指定格式输出到屏幕上;后者用于接收键盘的输人,并存储于相应变量中。用户自定义函数则是用户自己编写的一段程序。函数一般包括函数名、参数、返回值和函数体等四部分。其中,函数名和函数体是必不可少的函数一般包括函数名、参数、返回值和函数体等四部分。其中,函数名和函数体是必不可少的,参数和返回值可根据需要进行定义。定义函数的基本格式如下。参数是用来向函数传递值的,当有多个参数时,各个参数之间用逗号分隔开。函数执行完成后,由 return 语句将表达式值返回给调用者,结束函数。函数的调用采用函数名(参数)的方式。如:用函数来求 n!。上例中,程序执行时由于 def 块中的代码不是主程序的一部分,因此会跳过该段代码,从主程序的第一行 total=factorial(4)开始运行。在遇到函数的调用语句 factorial(4)时,转到丽数中的第一行代码开始执行。函数运行时,变量 n 会被赋值为 4。函数执行完成返回变量 s 的值即 24,然后回到语句 total=factorial(4),将返回值赋给变量 total,最后输出。2、发布代码通过模块发布代码可以让很多人受益于你的工作。如:有 6 根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。火柴数字如图所示。在 D:创建一个文件夹 mymodule,其中包含 mymodule.py 和 setup.py 两个文件。mymodule.py 是一个模块文件,其内容就是 match_ num 函数。mymodule.pysetup.py打开 mymodule 所在的目录,构建发布文件。最后将发布文件安装到你的 Python 本地副本中。安装完成后,mymodule 文件夹包含了如图 2.4.4 所示的文件。如果你想让全世界都分享你的成果,你可以在互联网上发布你的代码。3、导入模块并使用已经构建发布的模块必须先导人程序才能使用。导人时使用语句“import mymodule”,调用模块内的函数时用“mymodule.match_ num()”来实现。第 3 单元 认识数据3.1 数据编码3.1 数据编码1、模拟信号与数字信号1、模拟信号与数字信号按照取值特征,可以将信号分为模拟信号和数字信号模拟信号和数字信号。用传感器直接获得的信号一般为模拟信号直接获得的信号一般为模拟信号,如声音、温度、压强等。模拟信号的值是随时间连续变化的,波形光滑模拟信号的值是随时间连续变化的,波形光滑。模拟信号的值称为模拟数据。数字信号随时间的变化是非连续的数字信号随时间的变化是非连续的,数字信号可以由模拟信号转换得来,数字信号的值即数字数据,直接用计算机所能理解的二进制表示直接用计算机所能理解的二进制表示,以方便计算机对其进行处理。2、声音的数字化2、声音的数字化我们不能把连续的音频信号存放在计算机中,必须将模拟声音数据转换为数字数据。将模拟声音数据转换为数字数据的这一过程,称为声音的数字化。将模拟声音数据转换为数字数据的这一过程,称为声音的数字化。通常先对模拟声音信号按给定的时间间隔进行采样采样,然后对采样数据进行量化量化,最后将量化后的数据用计算机能够存储和处理的二进制数值表示,即编码编码。3、进制与数制转换3、进制与数制转换计算机外部的各种形式的数据经过编码后,都以二进制数的形式存储在计算机中。二进制数中只有 0 和 1 两个数字符号,其计数特点是“逢二进一”即 1+1=10。计算机中存储数据的最小单位是二进制位,用比特(bit)表示,1 比特能表示两种(21)状态(即 0 或 1),2比特可以表示 00、01、10、11 四种(22)状态,3 比特可表示八种(23)状态.计算机存储数据的基本单位是字节(Byte,简写为B),8比特构成1字节,1字节二进制数可表示2*(256)种状态。在二进制数中,每一个数字在不同的位置上具有不同的权值,各位上的权值是基数 2的若干次幂。比如二进制数 10010,5 个位置上的权值从右往左可以表示为:将二进制数转换为十进制数时,只要将该二进制数的每个位置上的数字与其对应位置的权值相乘,然后求和即可。比如,把十进制非负整数转换为二进制数,可使用短除法,即“除二取余”法。例如,把十进制整数 18 转换为二进制数的过程如图 3.1.7所示,结果为。由于二进制数位数较多,书写不便,故常改用十六进制数表示。我国古代曾经在重量单位上使用过十六进制,如规定 16 两为 1 斤。十六进制十六进制需要使用 16 个不同的基本数字,除了阿拉伯数字 0 到 9 外,一般用字母 A 到 F0 到 9 外,一般用字母 A 到 F(或 af)依次表示后续数字(相当于十进制数中的 1015)。十六进制的基本计数规则是“逢十六进 1”,即 F+1=10。一般地,十进制非负整数转换成 R 进制数(R2)采用“除 R 取余法”,把 R 进制非负整数转换成十进制数采用“按权展开求和法”。4、文本数据的编码4、文本数据的编码文本数据是用来表示一定意思的一系列字符,包括字母、数字、标点符号、汉字等。文本数据的编码通过对其中每一个字符进行编码实现。用于文本数据字符编码的方案有多种类型,其中 ASCII 码和 Unicode 是最为典型的两种编码方案。1.ASCI 码1.ASCI 码ASCII 码(American Standard Code for Information Interchange,美国信息交换标准码)用 7 位(标准 ASCII 码)或 8 位(扩展 ASCII 码)二进制数表示一个字符。ASCII 码(American Standard Code for Information Interchange,美国信息交换标准码)用 7 位(标准 ASCII 码)或 8 位(扩展 ASCII 码)二进制数表示一个字符。标准 ASCII 码字符集中定义了大小写英文字母、标点符号和数字等字符和符号,共 128 个共 128 个。计算机内部用一个字节来存放一个 ASCII 码字符,最高位用 0 表示。例如,“A”的 ASCII 码为01000001,即 65。堂用的 ASCII 码如表 3.13 所示2.Unicode 码2.Unicode 码Unicode 是为了解决传统字符编码方案的局限性而产生的Unicode 是为了解决传统字符编码方案的局限性而产生的。例如,它可以用两个字节来表示一个符号,这样就有 2 的 l6 次方(65536)种不同的二进制编码2 的 l6 次方(65536)种不同的二进制编码,能表示很多国家的常用字。目前,Unicode 还可以用更多字节来对字符进行编码。为了简化 ASCII 与 Unicode之间的转换,Unicode 的设计者还使其兼容 ASCII 码。原来用 ASCII 码能表示的字符,其对应的 Unicode 码只是在原来的 ASCII 码前加上 8 个 0。比如,“a”的 ASCII 码是01100001,而它的 Unicode 码是 000000001100001。计算机要处理汉字,必须对汉字进行编码,显然每个汉字至少需要两个字节每个汉字至少需要两个字节。我国先后制定了多个汉字编码方案:(1)GB2312GB2312-1980 字符集共收录 6763 个汉字,其中一级汉字3755 个,二级汉字 3008 个;同时收录了包括拉丁字母、希腊字母等在内的 682 个字符;(2)GBKGBK 字符集,兼容 GB2312-1980 标准,收入 21003 个汉字,883 个符号,共计 21886 个字符;(3)GB18030-2000GB18030-2000 字符集,包含 GBK 字符集和 CJK 统一汉字扩充 A 的汉字,共计 27533个汉字;(4)GB18030-2005GB18030-2005 字符集,在 GB18030-2000 的基础上,增加了 CJK 统一汉字扩充B 的汉字及其他汉字,共计 70244 个汉字。Unicode 字符集,是全球可以共享的编码字符集,涵盖了世界上主要文字的字符,其中包括简繁体汉字,共计 74686 个汉字。如汉字“男”的 Unicode 编码为 30007(十进制),用十六进制表示为 7537,用二进制表示为 0111010100110111。3.2 数据与结构3.2 数据与结构A、数据类型A、数据类型数据类型用来定义一系列值及应用于这些值的一系列操作。比如,在 Python 语言中,有整数、浮点数、字符串、布尔等数据类型。整数类型的范围几乎仅受内存限制,能够进行加、减、乘、除等多种计算操作。大多数程序设计语言都定义了两类数据类型:简单数据类型和复合数据类型。简单数据类型不能分解成更小的数据类型,复合数据类型则由简单数据类型或者复合数据类型组成。在 Python 语言中,整数、浮点数、字符串、布尔属于简单数据类型,列表、字典等属于复合数据类型整数、浮点数、字符串、布尔属于简单数据类型,列表、字典等属于复合数据类型。订单数据中的商品名称可以抽象为字符串类型的数据,是一个基本数据项,商品数量可以抽象为整数类型的数据,也是一个基本数据项。每个订单数据包括商品名称、单价、数量、金额、收货地址等基本数据项,所以订单数据需要抽象为复合数据类型。如图 3.2.1(a)所示的订单数据用 Python 的列表存储,列表名称为 OrderList。OrderList=2374761814130XXX,语文:生命的,文学的,美学的,34.66列表中前两个数据是字符串类型,最后一项是浮点数类型。我们还可以把很多订单数据排列在一起,形成订单表,用更复杂的列表存储。B、数据结构B、数据结构数据结构是存在特定关系的数据元素的集合。在解决有些问题时,一些相关联的数据将集中在一起,形成一个数据的集合,这种集合能够单独或作为一个整体被访问和处理。C、线性数据结构C、线性数据结构线性数据结构又称为线性表。在线性数据结构中,除首元素没有前趋元素、尾元素没有后继元素外,其他元素都只有一个前趋元素和一个后继元素,如图 3.2.2 所示。线性表中数据元素之间是一对一的关系。线性表中数据元素之间是一对一的关系。D、队列D、队列队列是一种有限制的线性结构,它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)队列是一种有限制的线性结构,它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)。典型的例子如超市里排队付款的队伍。许多程序设计语言定义了复杂数据类型,以实现对数据结构更高层级的抽象。复杂数据类型可以封装并隐藏数据结构中的操作细节,让程序设计者更多地关注数据结构能做什么,便于利用数据结构解决问题。Python 中的列表数据类型,可以实现线性结构组织的数据元素的存储和操作。列表的使用者只需要知道列表上有哪些可用的操作,而不需要知道这些操作是如何进行的。比如在上述代码中,listque 是列表类型的数据,存放了一组字符串类型的数据,表示订单编号。我们可以通过对应的方法对列表进行操作:pop(0)方法可以删除列表的首元素,append 方法可以在列表尾部添加一个数据元素。利用列表,我们可以模拟队列中数据元素进队和出队的操作。E、树结构E、树结构树结构是一种具有层次关系的非线性结构。树结构是一种具有层次关系的非线性结构。树是由 n(n0)个节点组成的有限集合。若 n=0,则称为空树。任何一个非空树均满足以下两个条件:(1)仅有一个称为根的节点;(2)当 n0 时,其余节点可分为 m(m0)个互不相交的有限集合,其中每个集合又是一棵树,并称为根的子树。在图 3.2.3 中,节点 A 为根节点,B、C、D 为 A 的子树的根节点。同理,E、F、G 是 B 的子树的根节点,B 是 E、F、G 的父节点。在树结构中,数据元素之间是一对多的关系树结构中,数据元素之间是一对多的关系。快递到达目的地城市后,物流图的结构呈树状,如图 3.2.4 所示。F、图结构F、图结构图结构是由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构图结构是由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构。图结构中的每个顶点都可以与其他顶点有边相连,图结构中数据元素之间是多对多的关系图结构中数据元素之间是多对多的关系。图 3.2.6 表示的是商品从供货点到收货点的派送过程的图结构。图 3.2.7 也是一个图结构,其中,标为“1”的顶点与两条边相连,顶点“4”与“2”“8”“9”相连。在物流网络中,分拨中心、配送中心、货物需求点等可以抽象为图的顶点,城市道路、各级铁路等可以抽象为图的边,如城市以及城市之 间的运输道路就是图结构。利用图结构,我们还可以解决物流中的许多问题,如道路网络分析、车辆运营安排等。某同学网购的书已经到达家附近的快递门店,需要他自己去取。不巧的是,这次购买的三本书是三个不同的物流公司派送的,他家与各快递门店的位置如图 3.2.8 所示。下图可以更清晰地知道数据间的关系,从而解决问题。(在图 3.2.9 中,每条边上的数值表示两个位置间的步行时间,称为边的权”,这样的图称为“加权图”)从起点出发,把当前可以到达的下一个位置列举出来,再从列举出的新位置出发,继续列举下一步可以到达的位置,以此类推,直到返回起点。我们把所有可能的做法用图形描述,如图 3.2.10 所示,图下方圆圈中的数值是该走法的总用时。我们发现,分析过程的图形是树结构,树中的节点表示当前所在的位置,边表示选择的线路。利用树结构,我们能够更清晰地实现不重复、不遗漏地列举所有做法,更利于通过比较得到最优解。3.3 数据与系统3.3 数据与系统1、图形用户界面1、图形用户界面图形用户界面图形用户界面(Graphical User Interface,GUIGUI)又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。在 Python 语言中,tkinter 是实现图形用户界面的模块,可以快速创建 GUI 应用程序。我们需要先导人模块,上面所示的代码用“from tkinter import*”导人 tkinter 模块,然后就可以运用相应代码创建矩形容器(Frame)、文本框(Entry)、命令按钮(Button)、文本标签(Label)等交互对象。在现代程序设计中,我们用“对象”建立计算机世界的实体与客观世界的实体相一致的映射关系,问题的解决方案可以用一些彼此交互的对象来形象化表示。比如在“旅行线路”例子中,我们利用 Python 提供的按钮类创建按钮对象,通过单击按钮的交互方式完成代码的执行过程。示例:将以下旅行线路“桂林市区一龙脊梯田一漓江漂流一骑行之旅一遇龙河漂流。”添加至“旅行线路.txt”文本中在面向过程的程序设计中,我们关注的是各种类型的数据及其操作;而在面向对象的程序设计中,我们将数据及其操作隐藏细节后封装为类,函数调用式的计算演变为对象之间的交互。2、文件2、文件在解决问题的过程中,我们可以根据需要将数据组织在-起形成 队列、树或图等逻辑结构,这时的数据一般存储在内存中,当退出程序时,相关数据也将丢失。如果需要更持久地存储数据,我们可以将数据以文件的形式存储到外存储设备中。“线路数据”是用文件的形式存储在计算机的磁盘里的。文件是存储在外存储设备中的相关数据的集合。3、Python 读写文本文件在 Python 语言中,用 open 函数把外存储器里的文本文件(.txt)打开,用 write 方法将内存中的数据存储到外存储器的文件中,文件操作结束时一定要用 close 方法关闭文件。用 open 函数把外存储器里的文本文件(.txt)打开,用 write 方法将内存中的数据存储到外存储器的文件中,文件操作结束时一定要用 close 方法关闭文件。Python 还提供了读写电子文档和电子表格等多种类型文件的模块,可以很方便地建立起不同计算工具间的联系。在数据管理技术的发展历程中,文件的使用有助于长期保存数据,并且实现由专门的软件对数据进行管理,从而减轻人工管理数据的负担。数据的存储传统上是使用单独的没有关联的文件。将一些文件建立关联,形成数据库文件。4、数据库4、数据库在日常生活中,我们通常用电子表格软件来管理数据。但电子表格软件中的表是有行数限制的,而且在多人共享和联表查询方面也存在不足,因此当数据量比较大,且管理比较复杂时便需要采用更科学的数据管理方法。数据库是以一定的组织方式存储在计算机中的相互关联的数据集合。5、数据表图 3.3.4图 3.3.4在数据库中,数据是以二维表的形式组织存储的称为表。以如图 3.3.4 所示的“武汉至成都车次”表为例,表中的一列称为一个字段表中的一列称为一个字段,一个字段对应车次实体的一个属性,每个字段都有一个名字,称为字段名,如车次编号、出发站等。表中的一行称为一条记录表中的一行称为一条记录,一条记录对应于一个车次实体,保存有关实体属性的数据。可以唯一确定一条记录的字段称为主键,如车次编号。若千个车次数据的集合就组成了“武汉至成都车次”表。我们可以对数据表进行插入、删除、更新等操作。需要指出的是,数据库中的表与表之间也可以是相互关联的。为不同表中的两个字段建立关联后,两表中的记录就可以通过这个关系联系在一起。比如,在图 3.3.4 所示的两个表中,换乘站既是前段车程的到达站,又是下段车程的出发站,可以通过这一点建立关系。6、数据库管理系统6、数据库管理系统在数据库技术中,数据是如何被科学地组织和存储的?又是如何被高效地获取和维护的?完成这些任务的是一个系统软件一数据库管理系统。数据库管理系统是定义、创建、维护数据库的一种工具。它允许用户管理和控制数据库中的数据。常见的数据库管理系统有 Sybase、ORACLE、MySQL、Access 等。关系就像绳子将两个“表”联结在一起,我们可以利用“查询”面板中的“查询设计”选项按照提示创建选择查询,得到查询结果。但查询结果并不一定理想,比如没有考虑换乘时间的合理性等。武汉三个火车站之间利用地铁换乘,大约用时半小时。为此,修改查询表达式为:SELECT 厦门至武汉车次.*,武汉至成都车次.*FROM厦门至武汉车次INNER JOIN武汉至成都车次ON厦门至武汉车次.到达时间+0.05武汉至成都车次.出发时间式中 0.05 的单位为天,即 0.05*24 小时=1.2 小时,预留了武汉三站之间的换乘时间及在火车站的出站、进站时间。执行查询,结果如图 3.3.6 所示。在图中,“厦武”为“厦门至武汉”的简称,“武成”为“武汉至成都”的简称。这个结果可以作为换乘方案。7、查询准则7、查询准则如果只是简单地查找某个字段为特定值的记录,只要在该字段对应的“条件”栏中输入该值即可,如果不仅是查找某个特定值,在准则中可以使用表达式。在表达式中可通过操作符设置查询范围。数据库的建立、使用和维护等工作仅靠数据库管理系统还远远不够,还要有专门的人员来完成,这些人被称为数据库管理员。数据库管理员通过数据库管理系统可以对数据库进行操作和维护。但对于广大普通用户来说,很难像专业的数据库管理员那样操作数据库,而具有良好交互性的数据库应用系统可以满足人们简单、方便地使用数据的需求。8、数据库系统8、数据库系统数据库系统是由数据库、数据库管理系统(及其应用开发工具)、数据库应用系统、数据库管理员和用户组成的存储、管理、处理和维护数据的系统。数据库主要用于存储数据,需要足够大的内存储器和外存储器等硬件平台的支持。软件部分除了操作系统和数据库管理系统外,还包括支持特定应用环境开发的软件工具以及开发完成的数据库应用系统。12306 网站是一个大型数据库应用系统,其他如各类财务管理系统、人事管理系统、图书管理系统等软件也都是数据库应用系统。设计数据库应用系统时,我们一般自顶向下进行。首先设计总体结构,然后再逐层深人,直至进行每一个模块的设计。我们需要先大体地勾画出系统以及每个模块大致的计算机处理流程,将头脑中构想的处理过程描述下来。比如,首先单击“成员管理”按钮,然后出现“成员管理”子窗口,利用该子窗口可以添加成员信息、修改成员信息和删除成员信息.。“旅行小助手系统”还可能包含“旅行记录管理”“旅行线路管理”等模块。根据处理过程,可以设计系统功能和相关界面。利用 Python 访问 Access 数据库一般可
收藏
编号:7475080
类型:共享资源
大小:1.06MB
格式:RAR
上传时间:2024-01-25
10
文币
- 资源描述:
-
第 l 单元 初识数据与计算1.1 我们身边的数据1.1 我们身边的数据1、数据1、数据在我们身边存在着各种数据,如刷公交卡时刷卡机显示的本次扣款金额和卡内余额、电子手表上显示的日期和时间、教科书封底下端的国际标准书号(ISBN)、体育课上测量的各项运动成绩等。这些数字都是数据。我们的名字、诗人创作的诗句、奥运会的主题曲、记载学校运动会的视频等都不是数字,那么它们是数据吗?实际上,数据的表现形式多种多样,除了数字以外,还有文字、图形、图像、声音和视频等形式。在日常生活中,有些数据是固定不变的有些数据是固定不变的。例如,不管圆有多大,它的周长与直径的比值总是一个固定的数,也就是我们常说的圆周率;再如,一个标准大气压下,冰水混合物的温度为 0C。有些数据是不断变化的有些数据是不断变化的,例如家庭每天的用电量、国际黄金价格、气温等。这些数据随着时间而改变,因此在运用此类数据时要注意时效性,否则有可能造成计算无效。有些数据是随机出现的有些数据是随机出现的。比如抛硬币,是正面向上还是反面向上是随机的。但若抛几百次、几千次,正面向上的可能性就稳定在 50%左右。这时,数据的出现往往又有-定的概率。2、信息2、信息单纯的数据不能表达具体的含义,例如我们并不清楚像 28 和 90%这样的数值在生活中的具体意义。在对数据进行处理或赋予其具体的情境后,这些数据就成了有意义的信息。28 和 90%可以分别用于表达今日的最高气温 28C,相对湿度 90%,此时数据就成了有意义的信息。数据是信息的符号表示;信息是数据的内涵,是对数据的语义解释。数据是信息的符号表示;信息是数据的内涵,是对数据的语义解释。数据处理就是把原始数据转换成人们所需要的信息的过程。完整的数据处理过程一般包括数据的采集、加工、传输、存储、检索和输出六个环节完整的数据处理过程一般包括数据的采集、加工、传输、存储、检索和输出六个环节。数据处理的目的是把数据转化成有用的信息以满足用户的需求。数据处理的目的是把数据转化成有用的信息以满足用户的需求。一般而言,不管是什么样的信息,它们通常都具有-些特征,如载体依附性、价值性、时效性、共享性等。不管是什么样的信息,它们通常都具有-些特征,如载体依附性、价值性、时效性、共享性等。以天气预报信息为例,该信息不能独立存在,需要依附于一定的载体,它可以显示在网页上,也可以显示在报纸上,体现了信息的载体依附性;人们可以利用天气预报作为穿衣或出行的参考,体现了信息的价值性;天气预报只是预报了未来某一特定时段的天气状况,它 会随着时间的推移而变化,体现了信息的时效性;作为一种资源,天气预报往往可以被多个信息接收者接收并且多次使用,这就体现了信息的共享性。3、知识.3、知识.知识是信息经过加工提炼后形成的抽象产物。它表述的是事物运动的状态和状态变化的规律。知识是信息经过加工提炼后形成的抽象产物。它表述的是事物运动的状态和状态变化的规律。可以说,知识是一类高级的、抽象的,而且具有普遍适应性的信息。知识是一类高级的、抽象的,而且具有普遍适应性的信息。知识是人类求知活动的结晶。例如,人们发现感冒的发生除了与病毒感染有关外,天气条件也是一个重要因素。冷空气的人侵,造成大幅度降温,或者冷空气经过后出现冷高压天气,特别是大气压高于 1030 百帕的晴好天气,就会有大批人感冒。感冒指数的计算方法,是经专家调查研究和演算归纳出来的。知识是认识世界的结果,同时也是改造世界的依据。数据、信息和知识可以看作人类对客观事物感知的三个不同阶段数据、信息和知识可以看作人类对客观事物感知的三个不同阶段。数据是对事物属性的客观记录,信息是经过组织的有结构的数据,知识是经过人的思维整理过的信息、数据、形象、价值标准以及社会的其他符号化产物。数据是对事物属性的客观记录,信息是经过组织的有结构的数据,知识是经过人的思维整理过的信息、数据、形象、价值标准以及社会的其他符号化产物。4、数据的来源4、数据的来源按照获取数据的渠道,可以将数据分为两类:直接数据和间接数据数据分为两类:直接数据和间接数据。统计调查或科学实验通常是数据的直接来源,由此得到的原始数据一般称为直接数据或一手数据;而通过查阅资料获得的数据或他人对原始数据处理过的数据,一般称为间接数据或二手数据。例如,我 们用温度计实际测量得到的气温值是直接数据,而从网上搜索到的气温值是间接数据。5、数据的收集方法5、数据的收集方法直接数据的收集方法有很多,如调查法、访谈法、观察法、实验法等直接数据的收集方法有很多,如调查法、访谈法、观察法、实验法等。随着技术的发展,收集数据的手段日益丰富。例如,在农田中使用传感器可以实时收集农田土壤含水率,用以指导精确灌溉;利用车载尾气检测技术可以获取实时的动态尾气数据,用以协助调整交通策略及城市规划;利用中国嫦娥四号探测器收集月球表面成分的第-手资料。间接数据一般都已经过加工处理,使用起来更加方便。收集间接数据的方法也有很多间接数据一般都已经过加工处理,使用起来更加方便。收集间接数据的方法也有很多,如查阅文献资料、关注媒体资源、浏览权威网站、利用搜索引擎在网络中进行检索、从相关数据公司购买等如查阅文献资料、关注媒体资源、浏览权威网站、利用搜索引擎在网络中进行检索、从相关数据公司购买等。在收集这类数据时要综合考虑数据的时效性、可信度以及经济条件等方面的因素。6、数据分析6、数据分析数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息,并形成结论的过程数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息,并形成结论的过程。针对调查问卷收集的数据,我们可以分析问卷中不同指标的分布、所占比例等情况,也可以进一步对问卷指标进行交叉分析,如性别不同,穿衣情况比例是不是也有所差异等,然后在分析的基础上得出结论。很多网络调查平台为用户提供了一些分析功能。1.2 数据的计算1.2 数据的计算1、计算“数据”在“运算符”的操作下,按“规则”进行的数据变换,如“3+3=6”“3x2=6”,这是简单计算中的算术运算。通过建立分析模型和设计有效的步骤、方法,利用自动计算工具来进行规律预测和发现,这是计算机领域的计算。人类分析问题常采用的方法是计算,因此计算可以看作是一种获得信息的过程。2、电子表格软件.电子表格软件是面向大众的计算工具,它的图形用户界面及“所见即所得”的编辑技术等使对数据进行计算更加易于操作,从而更充分地实现人和计算机的优势互补,提高人机协作效率。3、数据的排序利用电子表格软件排序功能可以依据关键字对表中的数据进行升序或降序排列,从而更清晰地了解各种分类信息。例如,我们希望找到身高最高的几位同学,可以依据身高进行排序。如果需要按照多个条件排序,可以进行多个关键字的设定。如图 1.2.1 所示,通过设置主要关键字、次要关键字,能很容易地找出女生中身高最高的几位同学。4、数据的筛选根据一定的规则成批筛选数据,有助于我们发现某类特定数据蕴含的信息。筛选会依据条件显示需要的数据,其余的内容都会被隐藏起来筛选会依据条件显示需要的数据,其余的内容都会被隐藏起来。同时,筛选不会以任何方式更改数据,取消筛选之后,所有数据都会重新出现。例如,筛选性别为男、爱好为篮球的数据,筛选后的结果如图 1.2.2 所示。第 2 单元 编程计算2.1 计算机解决问题的过程2.1 计算机解决问题的过程1、算法1、算法简单地说,算法就是解决问题的方法和步骤算法就是解决问题的方法和步骤。“最强大脑”游戏问题的求解过程就代表着一种算法。其实,我们在日常生活中也经常使用算法。例如,我们到超市购物,首先确定要购买的物品,然后进行挑选、比较,最后到收银台结账付款,这一系列活动流程与策略就 是所谓的算法。解决问题的过程,就是实现算法的过程。找到算法之后,不能只是自己心知肚明,还需要准确、具体地将它描述出来。要让计算机解决问题,必须明确地告诉它要处理的具体对象和每一步的准确处理过程,否则计算机就无法工作。因此,对算法的描述要求尽可能精确、详尽。描述算法可以有多种方法,比如可以使用自然语言或流程图进行描述。2、使用自然语言描述算法2、使用自然语言描述算法自然语言是指人们日常生活中使用的语言,汉语、英语、德语等都是自然语言。用自然语言描述算法符合我们的表达习惯,并且容易理解。用自然语言描述算法,通常是我们理解算法的第一步3、使用流程图描述算法3、使用流程图描述算法流程图也称为程序框图,它是算法的一种图形化表示方法。与使用自然语言描述算法相比,用流程图描述算法形象、直观、更容易理解。对于一些复杂的算法,直接编写代码很困难,我们可以先用流程图描述算法,然后根据流程图写出程序代码。为了使算法的流程图看起来更加直观,需要对流程图的表示方法进行规范,目前最常用的流程图规范是由美国国家标准学会制定的一系列流程图符号,如图 2.1.1 所示。起止框:表示一个算法的开始和结束。输人/输出框:表示从外部输人数据到计算机内部或者从计算机内部输出数据到计算机外部。处理框:表示操作的内容。判断框:表示判断的条件。满足条件,执行标识为“是”的路径;不满足条件,则执行标识为“否”的路径。流程线:指向算法运行的方向。连接符:表示流程图的接续。在相互联系的流程图内,流程线将在具有相同数字或字母的另一连接符处继续下去。4、三种基本结构的流程图算法的三种基本结构是顺序结构、分支结构和循环结构。算法的三种基本结构是顺序结构、分支结构和循环结构。顺序结构是一种最简单的基本结构,按照自上而下的先后顺序依次执行程序语句顺序结构是一种最简单的基本结构,按照自上而下的先后顺序依次执行程序语句。在如图 2.1.2 所示的顺序结构示意图中,先执行处理框 A,再执行处理框 B。分支结构也称为选择结构,是一种根据给定的条件进行判断的结构。分支结构也称为选择结构,是一种根据给定的条件进行判断的结构。如图 2.1.2 所示的分支结构中必定包括一个判断框,若满足条件则执行处理框 A,若不满足条件则执行处理框 B。循环结构是一种重复某一部分操作的结构。循环结构是一种重复某一部分操作的结构。如图 2.1.2 所示的循环结构中,若满足条件则执行循环体(处理框 A),若不满足条件则跳出循环,执行循环结构后面的代码。5、Python 语言的开发环境Python 是一种程序开发工具。6、程序设计语言的发展除 Python 语言之外,还有很多其他程序设计语言。程序设计语言经历了从机器语言、汇编语言到高级语言的发展过程。程序设计语言经历了从机器语言、汇编语言到高级语言的发展过程。机器语言由二进制的 0、1 代码指令构成,能被计算机直接识别。但理解和记忆机器语言非常困难,并且容易出错,编程效率极低。汇编语言是符号化的机器语言,采用英文助记符代替机器指令,比机器语言容易识别和记忆,从而提高了程序的可读性。但是汇编语言仍然是面向机器的语言,是为特定的计算机系统设计的,它要求软件工程师对相应的机器硬件非常熟悉,因而汇编语言属于低级语言。高级语言更接近自然语言,并不特指某一个种语言,也不依赖于特定的计算机系统,因而更容易掌握和使用,通用性也更好。比较流行的高级语言有 Java、C/C+以及本书使用的 Python 等。用高级语言编写的程序可读性更强,也便于修改、维护。2.2 做出判断的分支2.2 做出判断的分支常量在程序运行过程中值始终保持不变的量称为常量。所有的常数都是常量变量在程序运行过程中值允许改变的量称为变量。计算机在处理数据时,首先要将数据调入内存单元,然后进行各种操作。变量是创建时在内存中开辟的一个存储空间,变量名是内存中存放数据的存储单元的标签,存放的数据叫变量的值。在 Python 中,变量的命名需遵循以下几条规则。必须以字母或下划线开头,后面可以是字母、数字或下划线。必须以字母或下划线开头,后面可以是字母、数字或下划线。区分大小写。区分大小写。不能使用保留字。不能使用保留字。程序中的变量与数学中的变量含义略有不同。数学中的变量隐含着“未知”;在程序中,程序执行的每个瞬间,变量的值是确定的,但在程序执行的整个过程中,它的值是可以改变的。运算符与表达式表达式由一个或多个操作数通过运算符组合而成。例如“2+3”它由运算符“+”和操作数“2”“3”两部分构成。运算符是进行某种运算的标识符号,它标明对操作数所进行的运算。常见的运算符如表 2.2.1 所示。赋值语句赋值语句的基本格式如下:变量=表达式,功能是将右边表达式的值赋值给左边的变量。输入和输出语句在 Python 中,使用“input()”从键盘输人数据,使用“print()”在屏幕上输出数据“input()”从键盘输人数据,使用“print()”在屏幕上输出数据。如果有多个输出项,可以使用“,”有多个输出项,可以使用“,”分隔。数据类型为了便于数据的表示与处理,Python 提供了整数、浮点数和字符串等常见的数据类型。下面给出一些函数,它们可以把数据从一种类型转换为另一种类型。float():根据一个字符串或整数创建一个新的浮点数(小数)。float():根据一个字符串或整数创建一个新的浮点数(小数)。int():根据一个字符串或浮点数创建一个新的整数。int():根据一个字符串或浮点数创建一个新的整数。str():根据一个数(也可以是任何其他类型)创建一个新的字符串。str():根据一个数(也可以是任何其他类型)创建一个新的字符串。分支语句当程序中需要根据不同的条件判断来决定程序执行的走向时,可以 使用 if 分支语句实现,其基本格式如下。2.3 周而复始的循环2.3 周而复始的循环1、列表列表在 Python 中的作用非常强大,它可以包含多个数据元素,同时它是一个有序的集合。下面通过一个简单的例子来熟悉列表的使用方法。2、计数循环循环重复次数一定时,我们通常称为计数循环。在 Python 中,使用 for 语句来创建这类循环。for 语句的基本格式如下通常我们将一组重复执行的语句称为循环体。Python 对循环体的定的格式是,循环体必须相对关键词 for 有缩进Python 对循环体的定的格式是,循环体必须相对关键词 for 有缩进。在 for 语句中,in 后也可以是 range()函数,它可以生成某个范围内的数字列表。例如:range(1,6)就会生成1,2,3,4,5这样一个列表,而 range(8)会生成0,1,2,3,4,5,6,7这样一个列表。3、条件循环条件循环一般用于循环次数未知的情况。只有当循环条件成立时,才执行循环体。在Python 中,使用 while 语句来创建这类循环。while 语句的基本格式如下。如:在本例中,循环体是两条语句,因此这两条语句相对于关键词 while 均要缩进循环体是两条语句,因此这两条语句相对于关键词 while 均要缩进。程序执行过程是:变量 s 初值为 0,判断“s=30”是否成立;如果成立则执行循环体(s 值增加10,输出 s 的值),不断重复直到“s=30”不成立,退出循环。在此我们需要特别关注语句“s=s+10。在编程时,形如“s=s+x”的语句可以起到累加的作用,如果 x=1,即 s=s+1 可以起到计数的作用。一般在使用累加器或计数器时将变量赋初值为 0。也有一类特殊的关系表达式,如数字 0 表示假,非 0 数字表示真。如果循环是以“while 1:”开头,那么在不加干预的情况下,程序就会“不知疲倦”地一直执行下去。如果你想停止这个程序,按快捷键 Ctrl+C 即可。通常情况下,我们不会让程序陷人这种“死循环”的境地。2.4 可以复用的代码2.4 可以复用的代码1、函数函数可分为系统函数和用户自定义函数两种类型。系统函数即函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编制好的程序。在前面单元使用过的print()和 input()函数都是系统函数。前者用于将字符串按指定格式输出到屏幕上;后者用于接收键盘的输人,并存储于相应变量中。用户自定义函数则是用户自己编写的一段程序。函数一般包括函数名、参数、返回值和函数体等四部分。其中,函数名和函数体是必不可少的函数一般包括函数名、参数、返回值和函数体等四部分。其中,函数名和函数体是必不可少的,参数和返回值可根据需要进行定义。定义函数的基本格式如下。参数是用来向函数传递值的,当有多个参数时,各个参数之间用逗号分隔开。函数执行完成后,由 return 语句将表达式值返回给调用者,结束函数。函数的调用采用函数名(参数)的方式。如:用函数来求 n!。上例中,程序执行时由于 def 块中的代码不是主程序的一部分,因此会跳过该段代码,从主程序的第一行 total=factorial(4)开始运行。在遇到函数的调用语句 factorial(4)时,转到丽数中的第一行代码开始执行。函数运行时,变量 n 会被赋值为 4。函数执行完成返回变量 s 的值即 24,然后回到语句 total=factorial(4),将返回值赋给变量 total,最后输出。2、发布代码通过模块发布代码可以让很多人受益于你的工作。如:有 6 根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。火柴数字如图所示。在 D:创建一个文件夹 mymodule,其中包含 mymodule.py 和 setup.py 两个文件。mymodule.py 是一个模块文件,其内容就是 match_ num 函数。mymodule.pysetup.py打开 mymodule 所在的目录,构建发布文件。最后将发布文件安装到你的 Python 本地副本中。安装完成后,mymodule 文件夹包含了如图 2.4.4 所示的文件。如果你想让全世界都分享你的成果,你可以在互联网上发布你的代码。3、导入模块并使用已经构建发布的模块必须先导人程序才能使用。导人时使用语句“import mymodule”,调用模块内的函数时用“mymodule.match_ num()”来实现。第 3 单元 认识数据3.1 数据编码3.1 数据编码1、模拟信号与数字信号1、模拟信号与数字信号按照取值特征,可以将信号分为模拟信号和数字信号模拟信号和数字信号。用传感器直接获得的信号一般为模拟信号直接获得的信号一般为模拟信号,如声音、温度、压强等。模拟信号的值是随时间连续变化的,波形光滑模拟信号的值是随时间连续变化的,波形光滑。模拟信号的值称为模拟数据。数字信号随时间的变化是非连续的数字信号随时间的变化是非连续的,数字信号可以由模拟信号转换得来,数字信号的值即数字数据,直接用计算机所能理解的二进制表示直接用计算机所能理解的二进制表示,以方便计算机对其进行处理。2、声音的数字化2、声音的数字化我们不能把连续的音频信号存放在计算机中,必须将模拟声音数据转换为数字数据。将模拟声音数据转换为数字数据的这一过程,称为声音的数字化。将模拟声音数据转换为数字数据的这一过程,称为声音的数字化。通常先对模拟声音信号按给定的时间间隔进行采样采样,然后对采样数据进行量化量化,最后将量化后的数据用计算机能够存储和处理的二进制数值表示,即编码编码。3、进制与数制转换3、进制与数制转换计算机外部的各种形式的数据经过编码后,都以二进制数的形式存储在计算机中。二进制数中只有 0 和 1 两个数字符号,其计数特点是“逢二进一”即 1+1=10。计算机中存储数据的最小单位是二进制位,用比特(bit)表示,1 比特能表示两种(21)状态(即 0 或 1),2比特可以表示 00、01、10、11 四种(22)状态,3 比特可表示八种(23)状态.计算机存储数据的基本单位是字节(Byte,简写为B),8比特构成1字节,1字节二进制数可表示2*(256)种状态。在二进制数中,每一个数字在不同的位置上具有不同的权值,各位上的权值是基数 2的若干次幂。比如二进制数 10010,5 个位置上的权值从右往左可以表示为:将二进制数转换为十进制数时,只要将该二进制数的每个位置上的数字与其对应位置的权值相乘,然后求和即可。比如,把十进制非负整数转换为二进制数,可使用短除法,即“除二取余”法。例如,把十进制整数 18 转换为二进制数的过程如图 3.1.7所示,结果为。由于二进制数位数较多,书写不便,故常改用十六进制数表示。我国古代曾经在重量单位上使用过十六进制,如规定 16 两为 1 斤。十六进制十六进制需要使用 16 个不同的基本数字,除了阿拉伯数字 0 到 9 外,一般用字母 A 到 F0 到 9 外,一般用字母 A 到 F(或 af)依次表示后续数字(相当于十进制数中的 1015)。十六进制的基本计数规则是“逢十六进 1”,即 F+1=10。一般地,十进制非负整数转换成 R 进制数(R2)采用“除 R 取余法”,把 R 进制非负整数转换成十进制数采用“按权展开求和法”。4、文本数据的编码4、文本数据的编码文本数据是用来表示一定意思的一系列字符,包括字母、数字、标点符号、汉字等。文本数据的编码通过对其中每一个字符进行编码实现。用于文本数据字符编码的方案有多种类型,其中 ASCII 码和 Unicode 是最为典型的两种编码方案。1.ASCI 码1.ASCI 码ASCII 码(American Standard Code for Information Interchange,美国信息交换标准码)用 7 位(标准 ASCII 码)或 8 位(扩展 ASCII 码)二进制数表示一个字符。ASCII 码(American Standard Code for Information Interchange,美国信息交换标准码)用 7 位(标准 ASCII 码)或 8 位(扩展 ASCII 码)二进制数表示一个字符。标准 ASCII 码字符集中定义了大小写英文字母、标点符号和数字等字符和符号,共 128 个共 128 个。计算机内部用一个字节来存放一个 ASCII 码字符,最高位用 0 表示。例如,“A”的 ASCII 码为01000001,即 65。堂用的 ASCII 码如表 3.13 所示2.Unicode 码2.Unicode 码Unicode 是为了解决传统字符编码方案的局限性而产生的Unicode 是为了解决传统字符编码方案的局限性而产生的。例如,它可以用两个字节来表示一个符号,这样就有 2 的 l6 次方(65536)种不同的二进制编码2 的 l6 次方(65536)种不同的二进制编码,能表示很多国家的常用字。目前,Unicode 还可以用更多字节来对字符进行编码。为了简化 ASCII 与 Unicode之间的转换,Unicode 的设计者还使其兼容 ASCII 码。原来用 ASCII 码能表示的字符,其对应的 Unicode 码只是在原来的 ASCII 码前加上 8 个 0。比如,“a”的 ASCII 码是01100001,而它的 Unicode 码是 000000001100001。计算机要处理汉字,必须对汉字进行编码,显然每个汉字至少需要两个字节每个汉字至少需要两个字节。我国先后制定了多个汉字编码方案:(1)GB2312GB2312-1980 字符集共收录 6763 个汉字,其中一级汉字3755 个,二级汉字 3008 个;同时收录了包括拉丁字母、希腊字母等在内的 682 个字符;(2)GBKGBK 字符集,兼容 GB2312-1980 标准,收入 21003 个汉字,883 个符号,共计 21886 个字符;(3)GB18030-2000GB18030-2000 字符集,包含 GBK 字符集和 CJK 统一汉字扩充 A 的汉字,共计 27533个汉字;(4)GB18030-2005GB18030-2005 字符集,在 GB18030-2000 的基础上,增加了 CJK 统一汉字扩充B 的汉字及其他汉字,共计 70244 个汉字。Unicode 字符集,是全球可以共享的编码字符集,涵盖了世界上主要文字的字符,其中包括简繁体汉字,共计 74686 个汉字。如汉字“男”的 Unicode 编码为 30007(十进制),用十六进制表示为 7537,用二进制表示为 0111010100110111。3.2 数据与结构3.2 数据与结构A、数据类型A、数据类型数据类型用来定义一系列值及应用于这些值的一系列操作。比如,在 Python 语言中,有整数、浮点数、字符串、布尔等数据类型。整数类型的范围几乎仅受内存限制,能够进行加、减、乘、除等多种计算操作。大多数程序设计语言都定义了两类数据类型:简单数据类型和复合数据类型。简单数据类型不能分解成更小的数据类型,复合数据类型则由简单数据类型或者复合数据类型组成。在 Python 语言中,整数、浮点数、字符串、布尔属于简单数据类型,列表、字典等属于复合数据类型整数、浮点数、字符串、布尔属于简单数据类型,列表、字典等属于复合数据类型。订单数据中的商品名称可以抽象为字符串类型的数据,是一个基本数据项,商品数量可以抽象为整数类型的数据,也是一个基本数据项。每个订单数据包括商品名称、单价、数量、金额、收货地址等基本数据项,所以订单数据需要抽象为复合数据类型。如图 3.2.1(a)所示的订单数据用 Python 的列表存储,列表名称为 OrderList。OrderList=2374761814130XXX,语文:生命的,文学的,美学的,34.66列表中前两个数据是字符串类型,最后一项是浮点数类型。我们还可以把很多订单数据排列在一起,形成订单表,用更复杂的列表存储。B、数据结构B、数据结构数据结构是存在特定关系的数据元素的集合。在解决有些问题时,一些相关联的数据将集中在一起,形成一个数据的集合,这种集合能够单独或作为一个整体被访问和处理。C、线性数据结构C、线性数据结构线性数据结构又称为线性表。在线性数据结构中,除首元素没有前趋元素、尾元素没有后继元素外,其他元素都只有一个前趋元素和一个后继元素,如图 3.2.2 所示。线性表中数据元素之间是一对一的关系。线性表中数据元素之间是一对一的关系。D、队列D、队列队列是一种有限制的线性结构,它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)队列是一种有限制的线性结构,它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)。典型的例子如超市里排队付款的队伍。许多程序设计语言定义了复杂数据类型,以实现对数据结构更高层级的抽象。复杂数据类型可以封装并隐藏数据结构中的操作细节,让程序设计者更多地关注数据结构能做什么,便于利用数据结构解决问题。Python 中的列表数据类型,可以实现线性结构组织的数据元素的存储和操作。列表的使用者只需要知道列表上有哪些可用的操作,而不需要知道这些操作是如何进行的。比如在上述代码中,listque 是列表类型的数据,存放了一组字符串类型的数据,表示订单编号。我们可以通过对应的方法对列表进行操作:pop(0)方法可以删除列表的首元素,append 方法可以在列表尾部添加一个数据元素。利用列表,我们可以模拟队列中数据元素进队和出队的操作。E、树结构E、树结构树结构是一种具有层次关系的非线性结构。树结构是一种具有层次关系的非线性结构。树是由 n(n0)个节点组成的有限集合。若 n=0,则称为空树。任何一个非空树均满足以下两个条件:(1)仅有一个称为根的节点;(2)当 n0 时,其余节点可分为 m(m0)个互不相交的有限集合,其中每个集合又是一棵树,并称为根的子树。在图 3.2.3 中,节点 A 为根节点,B、C、D 为 A 的子树的根节点。同理,E、F、G 是 B 的子树的根节点,B 是 E、F、G 的父节点。在树结构中,数据元素之间是一对多的关系树结构中,数据元素之间是一对多的关系。快递到达目的地城市后,物流图的结构呈树状,如图 3.2.4 所示。F、图结构F、图结构图结构是由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构图结构是由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构。图结构中的每个顶点都可以与其他顶点有边相连,图结构中数据元素之间是多对多的关系图结构中数据元素之间是多对多的关系。图 3.2.6 表示的是商品从供货点到收货点的派送过程的图结构。图 3.2.7 也是一个图结构,其中,标为“1”的顶点与两条边相连,顶点“4”与“2”“8”“9”相连。在物流网络中,分拨中心、配送中心、货物需求点等可以抽象为图的顶点,城市道路、各级铁路等可以抽象为图的边,如城市以及城市之 间的运输道路就是图结构。利用图结构,我们还可以解决物流中的许多问题,如道路网络分析、车辆运营安排等。某同学网购的书已经到达家附近的快递门店,需要他自己去取。不巧的是,这次购买的三本书是三个不同的物流公司派送的,他家与各快递门店的位置如图 3.2.8 所示。下图可以更清晰地知道数据间的关系,从而解决问题。(在图 3.2.9 中,每条边上的数值表示两个位置间的步行时间,称为边的权”,这样的图称为“加权图”)从起点出发,把当前可以到达的下一个位置列举出来,再从列举出的新位置出发,继续列举下一步可以到达的位置,以此类推,直到返回起点。我们把所有可能的做法用图形描述,如图 3.2.10 所示,图下方圆圈中的数值是该走法的总用时。我们发现,分析过程的图形是树结构,树中的节点表示当前所在的位置,边表示选择的线路。利用树结构,我们能够更清晰地实现不重复、不遗漏地列举所有做法,更利于通过比较得到最优解。3.3 数据与系统3.3 数据与系统1、图形用户界面1、图形用户界面图形用户界面图形用户界面(Graphical User Interface,GUIGUI)又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。在 Python 语言中,tkinter 是实现图形用户界面的模块,可以快速创建 GUI 应用程序。我们需要先导人模块,上面所示的代码用“from tkinter import*”导人 tkinter 模块,然后就可以运用相应代码创建矩形容器(Frame)、文本框(Entry)、命令按钮(Button)、文本标签(Label)等交互对象。在现代程序设计中,我们用“对象”建立计算机世界的实体与客观世界的实体相一致的映射关系,问题的解决方案可以用一些彼此交互的对象来形象化表示。比如在“旅行线路”例子中,我们利用 Python 提供的按钮类创建按钮对象,通过单击按钮的交互方式完成代码的执行过程。示例:将以下旅行线路“桂林市区一龙脊梯田一漓江漂流一骑行之旅一遇龙河漂流。”添加至“旅行线路.txt”文本中在面向过程的程序设计中,我们关注的是各种类型的数据及其操作;而在面向对象的程序设计中,我们将数据及其操作隐藏细节后封装为类,函数调用式的计算演变为对象之间的交互。2、文件2、文件在解决问题的过程中,我们可以根据需要将数据组织在-起形成 队列、树或图等逻辑结构,这时的数据一般存储在内存中,当退出程序时,相关数据也将丢失。如果需要更持久地存储数据,我们可以将数据以文件的形式存储到外存储设备中。“线路数据”是用文件的形式存储在计算机的磁盘里的。文件是存储在外存储设备中的相关数据的集合。3、Python 读写文本文件在 Python 语言中,用 open 函数把外存储器里的文本文件(.txt)打开,用 write 方法将内存中的数据存储到外存储器的文件中,文件操作结束时一定要用 close 方法关闭文件。用 open 函数把外存储器里的文本文件(.txt)打开,用 write 方法将内存中的数据存储到外存储器的文件中,文件操作结束时一定要用 close 方法关闭文件。Python 还提供了读写电子文档和电子表格等多种类型文件的模块,可以很方便地建立起不同计算工具间的联系。在数据管理技术的发展历程中,文件的使用有助于长期保存数据,并且实现由专门的软件对数据进行管理,从而减轻人工管理数据的负担。数据的存储传统上是使用单独的没有关联的文件。将一些文件建立关联,形成数据库文件。4、数据库4、数据库在日常生活中,我们通常用电子表格软件来管理数据。但电子表格软件中的表是有行数限制的,而且在多人共享和联表查询方面也存在不足,因此当数据量比较大,且管理比较复杂时便需要采用更科学的数据管理方法。数据库是以一定的组织方式存储在计算机中的相互关联的数据集合。5、数据表图 3.3.4图 3.3.4在数据库中,数据是以二维表的形式组织存储的称为表。以如图 3.3.4 所示的“武汉至成都车次”表为例,表中的一列称为一个字段表中的一列称为一个字段,一个字段对应车次实体的一个属性,每个字段都有一个名字,称为字段名,如车次编号、出发站等。表中的一行称为一条记录表中的一行称为一条记录,一条记录对应于一个车次实体,保存有关实体属性的数据。可以唯一确定一条记录的字段称为主键,如车次编号。若千个车次数据的集合就组成了“武汉至成都车次”表。我们可以对数据表进行插入、删除、更新等操作。需要指出的是,数据库中的表与表之间也可以是相互关联的。为不同表中的两个字段建立关联后,两表中的记录就可以通过这个关系联系在一起。比如,在图 3.3.4 所示的两个表中,换乘站既是前段车程的到达站,又是下段车程的出发站,可以通过这一点建立关系。6、数据库管理系统6、数据库管理系统在数据库技术中,数据是如何被科学地组织和存储的?又是如何被高效地获取和维护的?完成这些任务的是一个系统软件一数据库管理系统。数据库管理系统是定义、创建、维护数据库的一种工具。它允许用户管理和控制数据库中的数据。常见的数据库管理系统有 Sybase、ORACLE、MySQL、Access 等。关系就像绳子将两个“表”联结在一起,我们可以利用“查询”面板中的“查询设计”选项按照提示创建选择查询,得到查询结果。但查询结果并不一定理想,比如没有考虑换乘时间的合理性等。武汉三个火车站之间利用地铁换乘,大约用时半小时。为此,修改查询表达式为:SELECT 厦门至武汉车次.*,武汉至成都车次.*FROM厦门至武汉车次INNER JOIN武汉至成都车次ON厦门至武汉车次.到达时间+0.05武汉至成都车次.出发时间式中 0.05 的单位为天,即 0.05*24 小时=1.2 小时,预留了武汉三站之间的换乘时间及在火车站的出站、进站时间。执行查询,结果如图 3.3.6 所示。在图中,“厦武”为“厦门至武汉”的简称,“武成”为“武汉至成都”的简称。这个结果可以作为换乘方案。7、查询准则7、查询准则如果只是简单地查找某个字段为特定值的记录,只要在该字段对应的“条件”栏中输入该值即可,如果不仅是查找某个特定值,在准则中可以使用表达式。在表达式中可通过操作符设置查询范围。数据库的建立、使用和维护等工作仅靠数据库管理系统还远远不够,还要有专门的人员来完成,这些人被称为数据库管理员。数据库管理员通过数据库管理系统可以对数据库进行操作和维护。但对于广大普通用户来说,很难像专业的数据库管理员那样操作数据库,而具有良好交互性的数据库应用系统可以满足人们简单、方便地使用数据的需求。8、数据库系统8、数据库系统数据库系统是由数据库、数据库管理系统(及其应用开发工具)、数据库应用系统、数据库管理员和用户组成的存储、管理、处理和维护数据的系统。数据库主要用于存储数据,需要足够大的内存储器和外存储器等硬件平台的支持。软件部分除了操作系统和数据库管理系统外,还包括支持特定应用环境开发的软件工具以及开发完成的数据库应用系统。12306 网站是一个大型数据库应用系统,其他如各类财务管理系统、人事管理系统、图书管理系统等软件也都是数据库应用系统。设计数据库应用系统时,我们一般自顶向下进行。首先设计总体结构,然后再逐层深人,直至进行每一个模块的设计。我们需要先大体地勾画出系统以及每个模块大致的计算机处理流程,将头脑中构想的处理过程描述下来。比如,首先单击“成员管理”按钮,然后出现“成员管理”子窗口,利用该子窗口可以添加成员信息、修改成员信息和删除成员信息.。“旅行小助手系统”还可能包含“旅行记录管理”“旅行线路管理”等模块。根据处理过程,可以设计系统功能和相关界面。利用 Python 访问 Access 数据库一般可
展开阅读全文
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《2024新教科版(2019)《高中信息技术》必修第一册 第一至第五单元 知识点(5)份(全册打包).rar》由用户(QXX)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 关 键 词:
-
精品
高中信息技术
2024新教科版(2019)《高中信息技术》必修第一册
第一至第五单元 知识点(5)份(全册打包)
新教
高中
信息技术
必修
一册
第一
第五
单元
知识点
打包
163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。