信息 合格考冲刺 必修一 第一至三章 全知识点梳理



文字稿:
● 第一章 数据与大数据
●
● 1、
● 书P5
● 数据的概念
● 数据是对事物描述的记录
● 数据的表现形式多种多样,形式:
● 数字
● 文字
● 图形
● 图像
● 声音
● 对同一事物的描述记录可以有不同的数据表现形式
● 同一数据也可能描述不同的事物
● 脱离具体的情境和形式,就无法确定数据的意义
● 数据是可加工、可处理的
● 在计算机科学中,数据是计算机识别、存储和加工的对象
● 2、
● 书P8
● 信息的概念
● 信息学奠基人:香农,认为“信息是能够用来消除不确定性的东西”
● 3、
● 书P9、10
● 信息的特征
● 信息可以传播和存储
● 信息的传播和存储需要依附于一定的载体
● 载体
● 数字
● 字符
● 图像
● 声音
● 视频
● 信息的价值是相对的
● 同一条信息对于不同的持有者具有不同的价值
● 信息的价值也取决于信息接收者对信息的理解、认知和应用能力
● 信息可以被共享
● 信息具有时效性
● 信息往往反映了事物在某个特定时间的状态,信息的时效会随着时间的推移而变化
● 4、
● 书P12
● 数据、信息与知识的关系
● 数据是描述事物的记录,它能够承载信息
● 知识
● 一般知识
● 在日常生活和工作中,人们所获得的认识和经验的总和
● 科学知识
● 人们对信息的科学组织
● 5、
● 书P13
● 技术支持 · 语义分析工具
● 借助语义分析工具,我们可以用量化的方式分析文本内容
●
● 6、
● 书P16、17
● 进位计数制
● 数码
● 表示某种进位计数制的一组符号
● 如10进制的数码为0,1,2,……,9
● 基数
● 所使用的数码个数
● 如10进制的基数为10
● 位权
● 数码在不同数位上的倍率值
● 如10进制第n位位权为10的(n-1)次方
● “B”是二进制的特定字母,十进制和十六进制则分别用“D”和“H”来表示
● 十进制转换为二进制
● 除以2反向取余
● 举例:(11)₁₀=(1011)₂
● 11 余数
● 5 1
● ↑ 低位
● 2 1
● |
● 1 0
● |
● 0 1
● | 高位
● 二进制转换为十进制
● 将每位二进制数和该位的位权相乘再求和(按权展开)
● 举例:(1011)₂=1*2³+0*2²+1*2¹+1*2⁰=8+0+2+1=(11)₁₀
● 二进制转换为十六进制
● 把二进制数从低位到高位按4位1组划分,每组用一位十六进制数表示,不足4位二进制数,高位用“0”补齐
● 举例:(1011011)₂=(5B)₁₆
● 1011011
● 0101
● 5
● 1011
● B
● 十六进制转换为二进制
● 将每一位十六进制数转换为4进制数,不足4位二进制数,高位用“0”补齐
● 举例:(A3)₁₆=(10100011)₂
● A
● 1010
● 3
● 0011
● 7、
● 书P18
● 数据的存储单位
● 比特(bit)是计算机中最小的数据存储单位,即一个二进制位,一位的取值只能是0或1
● 字节(Byte)是计算机中信息组织和存储的基本数据存储单位,1字节就是8比特
● 描述存储容量的常用单位还有KB、MB、GB、TB、PB、EB
● 1KB=1024B=2的10次方B
● 1MB=1024KB=2的20次方B
● 1GB=1024MB=2的30次方B
● 1TB=1024GB=2的40次方B
● 1PB=1024TB=2的50次方B
● 1EB=1024PB=2的60次方B
● 8、
● 书P18、19
● 模拟信号和数字信号
● 模拟量
● 连续变化的物理量
● 模拟量是连续的
● 模拟信号
● 数字化可将模拟量转换为数字量
● 模拟信号经模数转换设备(如声卡等)的处理后转化为数字信号
● 数字量
● 数字量的变化在时间或数值上都是离散的
● 数字信号
● 9、
● 书P19
● 模拟信号的数字化过程
● 数字化是指将复杂多样的信息表示为计算机可以处理的二进制代码的过程
● 包括
● 采样
● 采样频率
● 每秒的采样次数
● 单位为赫兹(Hz)
● 量化
● 把采样的值用二进制数值表示出来
● 编码
● 10、
● 书P20、21
● 字符编码
● ASCII码
● 标准的ASCII码为7位二进制编码
● 存储时占用一个字节,最高位为0
● 汉字编码
● 大部分常用双字节编码
● 输入通过汉字输入码实现
● 可用字母、数字或符号对汉字进行编码
● 输出时还使用汉字字形码
● Unicode字符集和编码方案
● 为统一所有文字的编码
● 主要使用UTF-8、UTF-16、UTF-32三种编码方案
● 11、
● 书P22
● 声音编码
● 数据存储量=采样频率×量化位数×声道数÷8×持续秒数(字节)
● 关注书上例题
● 12、
● 书P22、23
● 图像编码
● 图像分辨率
● 水平方向上的像素数量乘以垂直方向上的像素数量
● 颜色深度(位深度)
● 记录每个像素点的颜色所需的二进制数的位数
● 计算机中可采用RGB颜色模型(又称为三原色光模式)来描述颜色
● 未经压缩的位图图像的数据存储量=图像分辨率×颜色深度÷8(字节)
● 关注书上例题
● 13、
● 书P23、24
● 数据压缩
● 实际上,数据压缩就是采用特殊的编码方式处理数据,使数据占用的存储空间相对减少,以便存储和传输
● 保证数据可被压缩:
● 数据中存在冗余
● 相邻数据之间经常存在相关性
● 人的耳、目对信号的时间变化和幅度变化的感受能力有一定的极限
● 常用压缩方法:
● 无损压缩
● 包括:
● WinRAR、WinRAR ZIP等
● 对于一些程序数据和文档数据而言,只能采用无损压缩
● 有损压缩
● 包括:
● JPEG
● 图像数据压缩格式
● MP3
● 音频数据压缩格式
● MPEG
● 视频数据压缩格式
●
● 14、
● 书P27、28
● 理解大数据
● 数据规模大
● 数据类型多
● 处理速度快
● 价值密度低
● 15、
● 书P29、30
● 大数据处理过程
● 数据采集
● 数据预处理
● 数据分析
● 数据挖掘应用
● 第三章 数据处理与应用
●
● 31、
● 书P83、84
● 数据采集
● 数据来源有很多种渠道,如传感设备、互联网、问卷调查、企业内部数据库等途径
● 目前广泛使用的采集数据的方法是:
● 传感数据采集
● 传感数据是由传感设备收集和测量的数据
● 互联网数据采集
● 实现步骤:
● 获取网页
● Python库:
● urllib
● Requests
● 解析网页
● Python库:
● Beautiful Soup
● PyQuery
● lxml
● 保存数据
● 32、
● 书P84、85
● 技术支持 · 网页爬取与解析
● Beautiful Soup库常用的属性和方法:
● title
● 返回网页标题
● text
● 返回去除所有HTML标签后的内容
● find()
● 返回第一个符合条件的标签,例如sp.find("a")
● find_all()
● 返回所有符合条件的标签,例如sp.find_all("a")
● select()
● 返回指定CSS样式(如id或class)的内容,例如sp.select("#id")可实现通过标签的id抓取,sp.select(".classname")可实现通过标签的类名抓取
● 【看懂即可】
● 书P84、85
● 网页请求方式
● 导入Requests库:
● import requests
● 以GET方式获取所需网页源代码的Python程序代码:
● import requests
● #导入Requests库
● url='http://www.***.cn/'
● #确定请求对象
● html=requests.get(url)
● #用GET方式获取网页数据
● html.encoding="utf-8"
● #用UTF-8文本编码
● print(html.text)
● #输出网页的源代码
● 网页解析
● 导入Beautiful Soup库:
● from bs4 import BeautifulSoup
● 解析:
● sp=BeautifulSoup(源代码,'html.parser')
● 获取网页<title>内容的Python程序代码:
● import requests
● #导入Requests库
● from bs4 import BeautifulSoup
● #导入Beautiful Soup 库
● url='http://www.***.cn/'
● #确定请求对象
● html=requests.get(url)
● #用GET方式获取网页数据
● html.encoding="utf-8"
● #用UTF-8文本编码
● sp=BeautifulSoup(html.text,'html.parser')
● #解析源代码
● title=sp.select("title")
● #用select属性抓取title数据
● print(title.text)
● #输出title数据
● 数据存储
● 将所抓取的数据存储到本地的TXT文件中,只需加上三行代码:
● with open('title.txt',"a+") as f:
● f.write(title)
● f.close()
● 【补充】:
● 读一行:print(f.readline())
● 换行:f.write('\n')
● 33、
● 书P87
● 检测与处理重复值
● 记录重复
● 特征重复
● Python的Pandas库:
● drop_duplicates()
● 只对DataFrame或者Series类型有效
● pandas.DataFrame(Series).drop_duplicates(self,subset=None,keep='first',inplace=False)
● 常用参数及其说明
● subset
● 接收字符串或序列,表示进行去重的列,默认为None,表示全部列
● keep
● 接收特定字符串,表示重复时保留第几个数据:first,保留第一个,默认为first;last,保留最后一个;False,只要有重复都不保留
● inplace
● 接收bool型数据,表示是否在原表上进行操作,默认为False
● 上机训练11、
● 书P88
● 编程与调试
● 具体代码:
● import pandas as pd
● df=pd.read_csv('test.csv',encoding="ANSI")
● #读取test.csv文件
● mydf=df.drop_duplicates(subset=['bike_id','datetime'],keep='first',inplace=True)
● #去除bike_id和datetime的重复数据
● print(df)
● 34、
● 书P88
● 检测与处理缺失值
● 缺失值是指数据中的某个或多个特征的值是不完整的
● Pandas库:
● 识别缺失值:
● isnull()
● 识别非缺失值:
● notnull()
● 删除缺失值:
● dropna()
● pandas.DataFrame.dropna(self,axis=0,how='any',inplace=False)
● 常用参数及其说明
● axis
● 接收0或1,表示轴向;0为删除观测记录(行),1为删除特征(列),默认为0
● how
● 接收特定字符串,表示删除的形式:any表示只要有缺失值存在就执行删除操作,默认为any;all表示当且仅当全部为缺失值才执行删除操作
● inplace
● 接收bool型数据,表示是否在原表上进行操作,默认为False
● 上机训练12、
● 书P89
● 编程与调试
● 具体代码:
● import pandas as pd
● df=pd.read_csv('test.csv',encoding="ADSI")
● #读取test.csv文件
● mydf=df.dropna(axis=0,inplace=True)
● #处理缺失值,按行删除
● print(df)
● 35、
● 书P89
● 检测与处理异常值
● 异常值是指数据中个别值的数据明显偏离其余的数值,有时也称为离群点
● 处理方法:
● 直接将含有异常值的记录删除
● 用前后两个观测值的平均值修正该异常值
● 将异常值视为缺失值,利用缺失值的方法进行处理
● 36、
● 书P90
● 技术支持 · Pandas库与DataFrame()方法
● Pandas库主要的数据类型
● Series
● 为一维数据结构,其用法与列表类似
● DataFrame
● 为二维数据结构,表格即为其典型结构
● 【看懂即可】
● 书P90
● 创建一个包含四种交通工具以及每种交通工具的日均客运量和占比的DataFrame,数据变量名为df
● datas=[[969.2,53.9],[602.9,33.5],[208,11.6],[13.6,0.8]]
● indexs=["轨道交通","公共汽/电车","出租车","轮渡"]
● columns=["日均客运量(万人次)","占公共交通日均客运总量(%)"]
● df=pd.DataFrame(datas,columns=columns,index=indexs)
● 37、
● 书P91、92
● 数据读取与存储
● 常见的数据源有文本文件(包括一般文本文件和CSV文件)、电子表格文件等
● CSV是一种用分隔符分隔的文件格式,又被称为字符分隔文件格式
● 文本文件的读取:
● Pandas库:
● read_csv()
● 读取CSV文件语法:
● pandas.read_csv(filepath,sep=',',header='infer',names=None,index_col=None,dtype=None,encoding=utf-8)
● 常用参数及其说明
● filepath
● 接收字符串,表示文件路径,无默认值
● sep
● 接收字符串,表示分隔符,默认为“,"
● header
● 接收int型数据,表示将某行数据作为列名,默认为infer,表示自动识别
● names
● 接收数组,表示列名,默认为None
● dtype
● 接收字典,表示写入的数据类型,默认为None
● 文本文件的存储:
● Pandas库:
● to_csv()
● 基本语法:
● DataFrame.to_csv(path_or_buf=None,sep=',',na_rep=",columns=None,header=True,index=True,index_label=None,mode='w',encoding=None)
● 常用参数及其说明
● path_or_buf
● 接收字符串,表示文件路径,无默认值
● sep
● 接收字符串,表示分隔符,默认为"."
● na_rep
● 接收字符串,表示缺失值,默认为空
● columns
● 接收列表,表示写出的列名,默认为None
● header
● 接收bool型数据,表示是否将列名写出,默认为True
● index
● 接收bool型数据,表示是否将行名(索引)写出,默认为True
● index_label
● 接收序列,表示索引名,默认为None
● mode
● 接收特定字符串,表示数据写入模式,默认为"w"
● encoding
● 接收特定字符串,表示存储文件的编码格式,默认为None
● 38、
● 书P93
● 数据安全意识
● 对数据安全的威胁主要有计算机病毒、黑客攻击、数据存储介质的损坏、自身数据管理不善等方面
● 39、
● 书P94、95
● 数据安全防护
● 数据安全
● 数据本身的安全
● 数据防护的安全
● 数据加密
● 对需要保护的数据(也称为明文)进行加密,即利用加密算法和加密秘钥将需要保护的数据转化为另外一种数据(也称为密文)
● 数据脱敏
● 是在不影响数据分析结果准确性的前提下,对需要保护的数据进行一定的变换操作
● 访问控制
● 主要由身份验证与授权两个部分组成
● 数据备份
● 往往需要定期定时进行,从而使得备份的数据能保持最新的状态
● 异地容灾
● 在相隔较远的地方,建立两套或多套功能相同的计算机系统,相互进行数据备份或应急时提供备用计算机服务
●
● 40、
● 书P98
● 数据分析基本方法
● 对比分析法
● 除去以下两种即是
● 平均分析法
● 以平均数为指标
● 结构分析法
● 计算比重,且各比重总和为100%
● 41、
● 书P98、99、100
● 数据分析常用工具
● 电子表格软件
● 在线数据分析平台
● 数据分析语言
● 主流:
● Python语言、R语言和MATLAB语言
● Numpy库
● sum()
● 求和
● mean()
● 求平均值
● min()
● 求最小值
● max()
● 求最大值
● Pandas库
● value_counts()
● 求次数和
● 【看懂即可】
● 书P101
● import numpy as np
● import pandas as pd
● df=pd.read_csv('test.csv',encoding="ANSI")
● #读取test.csv文件
● count=df[(df['year_month']>='06-21-00')&(df['year_month']<='06-21-23')&(df['local_name']=='图书馆')]
● #选出日期是6月21日且地点是“图书馆”的数据集
● thiscount=count['year_month'].value_counts()
● #按照时间进行频数统计
● print(thiscount)
● print(np.max(thiscount))
● #查看6月21日一天中共享单车单位时间内的最大开锁量
● print(np.sum(thiscount))
● #查看6月21日一天中共享单车的开锁总量
● 42、
● 书P101、102、103
● 数据可视化
● 数据可视化是将数据以图形化方式呈现
● 基本工具:
● 引入Matplotlib库/Numpy库
● import matplotlib.pyplot as plt
● import numpy as np
● 流程
● 创建画布与创建子图
● plt.figure()
● 创建一张空白画布,可指定画布大小、像素
● figure.add_subplot()
● 创建并选中子图,可指定子图的行数、列数和选中图片的编号
● 添加画布内容
● plt.title()
● 在当前图形中添加标题,可指定标题名称、位置、颜色、字体大小等参数
● plt.xlabel()
● 在当前图形中添加x轴名称,可指定位置、颜色、字体大小等参数
● plt.ylabel()
● 在当前图形中添加y轴名称,可指定位置、颜色、字体大小等参数
● plt.xlim()
● 指定当前图形x轴范围,只能确定一个数值区间,无法使用字符串标识
● plt.ylim()
● 指定当前图形y轴范围,只能确定一个数值区间,无法使用字符串标识
● plt.xticks()
● 指定x轴刻度的数目与取值
● plt.yticks()
● 指定y轴刻度的数目与取值
● plt.legend()
● 显示当前图形的图例,可指定图例的大小、位置、标签
● 保存和显示图形
● plt.savefig()
● 保存绘制的图形,可指定图形的分辨率、边缘的颜色等参数
● plt.show()
● 在本机显示图形
● 【看懂即可】
● 书P104
● 编程代码
● import numpy as np
● import matplotlib.pyplot as plt
● data=np.arange(0,1.1,0.01)
● #在[0,1.1)区间内,以0.01为间隔,创建一维数组
● plt.title('lines')
● #添加标题
● plt.xlabel('x')
● #添加x轴的名称
● plt.ylabel('y')
● #添加y轴的名称
● plt.xlim((0,1))
● #确定x轴的范围
● plt.ylim((0,1))
● #确定y轴的范围
● plt.xticks([0,0.2,0.4,0.6,0.8,1])
● #确定x轴刻度
● plt.yticks([0,0.2,0.4,0.6,0.8,1])
● #确定y轴刻度
● plt.plot(data,data**2)
● #添加y=x^2曲线
● plt.plot(data,data**4)
● #添加y=x^4曲线
● plt.legend(['y=x^2','y=x^4'])
● #添加图例
● plt.show()
● #显示图形
● 43、
● 书P104、105、106、107、108、109、110、111
● 常用的数据分析图
● 分析特征间的关系
● 散点图
● 绘制函数
● scatter()
● 语法:
● matplotlib.pyplot.scattar(x,y,s=None,c=None,marker=None,alpha=None)
● 常用参数及其说明
● x,y
● 接收数组,表示x轴和y轴对应的数据,无默认值
● s
● 接收标量或一维数组,指定点的大小,若传入一维数组,则表示每个点的大小,默认为None
● c
● 接收颜色或一维数组,指定点的颜色,若传入一维数组,则表示每个点的颜色,默认为None
● marker
● 接收特定字符串,表示绘制的点的类型,默认为None
● alpha
● 接收0~1的小数,表示点的透明度,默认为None
● 折线图
● 绘制函数
● plot()
● 语法:
● matplotlib.pyplot.plot(x,y,color=None,linestyle='-',linewidth=0.5)
● 常用参数及其说明
● x,y
● 接收数组,表示x轴和y轴对应的数据,无默认值
● color
● 接收特定字符串,指定线条颜色,默认为None
● linestyle
● 接收特定字符串,指定线条类型,默认为"-"
● linewidth
● 接收float型数据,指定线条宽度,默认为0.5
● 分析特征内部数据分布与分散状态
● 柱状图
● 绘制函数
● bar()
● 语法:
● matplotlib.pyplot.bar(left,height,width=0.8,color=None)
● 常用参数及其说明:
● left
● 接收数组,表示x轴数据,无默认值
● height
● 接收数组,表示y轴数据,无默认值
● width
● 接收0~1之间的float型数据,指定柱状图宽度,默认为0.8
● color
● 接收特定字符串或者包含颜色字符串的数组,表示柱状图颜色,默认为None
● 饼图
● 绘制函数
● pie()
● 语法:
● matplotlib.pyplot.pie(x,explode=None,labels=None,color=None,autopct=None,pctdistance=0.6,labeldistance=1.1,radius=1)
● 常用参数及其说明:
● x
● 接收数组,表示用于绘制饼图的数据,无默认值
● explode
● 接收数组,表示指定项距离饼图圆心为n个半径,默认为None
● labels
● 接收数组,指定每一项的名称,默认为None
● color
● 接收特定字符串或者包含颜色字符串的数组,表示饼图颜色,默认为None
● autoput
● 接收特定字符串,指定数值的显示方式,默认为None
● pctdistance
● 接收float型数据,指定autopct距离饼图圆心的位置相对于半径的比例,默认为0.6
● labeldistance
● 接收float型数据,指定labels距离饼图圆心的位置相对于半径的比例,默认为1.1
● radius
● 接收float型数据,表示饼图的半径,默认为1
● 箱形图
● 绘制函数
● boxplot()
● 语法:
● matplotlib.pyplot.boxplot(x,notch=None,sym=None,vert=None,whis=1.5,positions=None,widths=None,meanline=False,labels=None)
● 常用参数及其说明:
● x
● 接收数组,表示用于绘制箱线的数据,无默认值
● notch
● 接收bool型数据,表示中间箱体是否有缺口,默认为None
● sym
● 接受特定字符串,指定异常点形状,默认为None
● vertr
● 接收bool型数据,表示图形是纵向或者横向,默认为None
● whis
● 接收float型数据,指定正常值范围,默认为1.5
● widths
● 接收标量或者数组,表示每个箱体的宽度,默认为None
● meanline
● 接收bool型数据,表示是否显示均值线,默认为False
● labels
● 接收数组,指定每一个箱形图的标签,默认为None
● positions
● 接收数组,表示图形位置,默认为None
● 【看懂即可】
● 书P106、107、108、109、110、111
● 散点图
● 举例
● 当x∈[0,1.4)时,绘制曲线y=x²和y=x⁴的简单散点图
● 编程代码
● import numpy as np
● import matplotlib.pyplot as plt
● x=np.arange(0,1.4,0.1)
● #在[0,1.4)区间内,以0.1为间隔,创建一维数组
● plt.title('Scatter Plot')
● #设置标题
● plt.xlabel('x')
● #设置x轴标签
● plt.ylabel('y')
● #设置y轴标签
● plt.scatter(x,x**2,c='r',marker='o')
● #画散点图
● plt.scatter(x,x**4,c='g',marker='o')
● plt.legend(['y=x^2','y=x^4'])
● #设置图标
● plt.show()
● #显示所画的图
● 折线图
● 举例
● 绘制“某区共享单车数据”折线图
● 编程代码
● import pandas as pd
● import matplotlib.pyplot as plt
● plt.rcParams['font.sans-serif']=['SimHei']
● #支持中文,用于正常显示中文标签
● mydf=pd.read_csv('test.csv',encoding="ANSI")
● #读取test.csv文件
● plt.title('某区图书馆附近一天的共享单车流量')
● plt.xlabel('小时')
● plt.ylabel('总计')
● ax=plt.plot(mydf['index'],mydf['count'],linewidth=2)
● #绘制折线图
● plt.xticks([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])
● plt.show()
● 柱状图
● 举例
● 绘制“某区共享单车数据”柱状图
● 编程代码
● import pandas as pd
● import matplotlib.pyplot as plt
● plt.rcParams['font.sans-serif']=['SimHei']
● #支持中文,用于正常显示中文标签
● mydf=pd.read_csv('test.csv',encoding="ANSI")
● #读取test.csv文件
● plt.tick_params(labelsize=10)
● #坐标轴刻度的字号
● plt.title('7~10月,某区图书馆站点共享单车租赁情况')
● plt.xlabel('月份')
● plt.ylabel('总计')
● plt.bar(mydf['month'],mydf['count']
● #绘制柱状图
● plt.xticks([7,8,9,10])
● plt.show
● 饼图
● 举例
● 绘制“某区共享单车数据”饼图
● 编程代码
● import pandas as pd
● import matplotlib.pyplot as plt
● plt.rcParams['font.sans-serif']=['SimHei']
● #支持中文,用于正常显示中文标签
● mydf=pd.read_csv('test.csv',encoding="ANSI")
● #读取test.csv文件
● bq=['春季','夏季','秋季','冬季']
● plt.title('共享单车租赁情况')
● plt.pie(mydf['count'],labels=bq,autopct='%1.1f%%')
● #绘制饼图
● plt.axis('equal')
● plt.show()
● 箱形图
● 举例
● 绘制“某区共享单车数据”箱形图
● 编程代码
● import pandas as pd
● import matplotlib.pyplot as plt
● mydf=pd.read_csv('test.csv',encoding="ANSI")
● plt.boxplot(mydf['temp_value'],sym='o',whis=3.0)
● #绘制箱形图
● plt.show()
●
● 44、
● 书P114
● 数据分析报告的种类
● 常用的数据分析报告有专题分析报告、综合分析报告和日常数据通报等
● 45、
● 书P115
● 数据分析报告的组成
● 数据分析报告通常由标题、目录、前言、正文、结论等组成
● 46、
● 书P116
● 数据分析报告的价值
● 撰写数据分析报告的主要目的是呈现分析结果、可行性建议、问题解决方案等,其价值就在于使读者对结果做出正确的理解与判断,并可以根据其做出有针对性、操作性、战略性的决策
● 分析
● 定义问题
● 逻辑结构
● 假设检验
● 分析方法
● +
● 数据
● 准确的数据
● 完整的数据
● 有意义的数据
● 数据处理技术
● +
● 报告
● 结果呈现
● 信息传递
● 快速决策
● 形成方案
● =
● 解决方案
● 问题解决
● 第二章 算法与程序实现
●
● 16、
● 书P39
● 算法的概念
● 广义地讲,算法是在有限步骤内求解某一问题所使用的步骤和方法
● 在计算机科学领域中,算法是一系列的计算步骤,用来将输入的数据转换成输出的结果
● 17、
● 书P40
● 算法的特征
● 有穷性
● 确定性
● 可行性
● 有零个或多个输入
● 有一个或多个输出
● 18、
● 书P42、43
● 算法的描述
● 自然语言
● 流程图
● 伪代码
● 伪代码是一种介于自然语言和计算机程序设计语言之间的算法描述语言
● 19、
● 书P44、45
● 算法的基本控制结构
● 顺序结构
● 分支结构
● 分支结构也称为选择结构
● 分为:
● 双分支结构
● 单分支结构
● 嵌套结构
● 循环结构
● 循环结构也称为重复结构
● 分为:
● 当循环
● 直到循环
● 20、
● 书P46、47、48
● 编程解决问题的过程
● 抽象与建模
● 设计算法
● 编写程序
● 调试运行
● 上机训练1、
● 书P48
● tian=["甲","乙","丙","丁","戊“,"已","庚","辛","壬","癸]
● di=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"]
● basey=2000
● basetian=6
● basedi=4
● year=int(input("请输入年份"))
● print(tian[((basetian+(year-basey))%10)%10],sep="",end=""[表示不换行】)
● print(di[((basedi+(year-basey))%12)%12])
●
● 21、
● 书P51、52
● 程序设计语言
● 机器语言
● 用二进制代码标识
● 计算机能够直接识别和执行
● 一条指令就是机器语言的一条语句
● 指令包括操作码和地址码
● 汇编语言
● 也称为符号语言
● 高级语言
● 常用的高级语言有C、C++、Java、Python等
● 高级语言和汇编语言一样,编写的程序不能直接被计算机执行
● 22、
● 书P52、53
● Python常用数据类型
● 整型
● int
● Python中的整数可以是任意大小,如51、-67、0等
● 如x=int(input(“请输入年份”))
● 浮点型
● float
● 由整数部分和小数部分组成,也可以使用科学记数法表示,如3.076、-2e3等
● 如x=float(input(“请输入体重”))
● 字符串型
● str
● 由单引号(‘ ’)或双引号(“ ”)括起来的一组字符,如‘Hello’或“上海”或“\n”等
● 如x=input(“请输入年份”)
● 布尔型
● bool
● 只存在两种值:真(True)或假(False),常用于逻辑判断
● 如“a=b<c"中a
● 转换举例
● float(3)
● 将整型数据3转换为一个浮点型数据,为3.0
● int(3.6)
● 将浮点型数据3.6转换为一个整型数据,为3
● str(3)
● 将整型数据3转换为字符串型数据,为‘3’或”3“
● 23、
● 书P53
● Python中的常量、变量与赋值符
● 常量
● 是直接给定的,指在程序运行过程中不变的量
● 变量
● 指在程序运行过程中可以被改变的量
● 命名规则:
● 由大小写英文字母、数字或下划线组成
● 以英文字母或下划线为首字符
● 不能与Python保留字同名
● 大小写敏感
● 其数据类型由被赋值的数据对象的类型决定
● 赋值符
● "="为Python中的赋值符
● 24、
● 书P53、54
● Python中的运算符与表达式
● (1)算术运算符
● **
● 幂
● 优先级(数字越小越优先):1
● 如3**3,运算结果为27
● *
● 乘法
● 优先级:2
● 如5.3*20,运算结果为106.0
● /
● 除法
● 优先级:2
● 如2/5,运算结果为0.4
● %
● 取模
● 优先级:2
● 如17%6,运算结果为5
● //
● 整除
● 优先级:2
● 如25//7,运算结果为3
● +
● 加法
● 优先级:3
● 如23+45,运算结果为68
● -
● 减法
● 优先级:3
● 如78.4-34.2,运算结果为44.2
● (2)关系运算符
● ==
● 等于
● 优先级:4
● (a=10,b=20时)如a==b,返回为假
● >
● 大于
● 优先级:4
● a>b,返回为假
● <
● 小于
● 优先级:4
● a<b,返回为真
● >=
● 大于等于
● 优先级:4
● a>=b,返回为假
● <=
● 小于等于
● 优先级:4
● a<=b,返回为真
● !=
● 不等于
● 优先级:4
● a!=b,返回为真
● (3)逻辑运算符
● not
● 非
● 优先级:5
● not(a==b),若a和b相等,则返回假,否则返回真
● and
● 与
● 优先级:6
● a and b,只有当a和b都为真时,结果才为真
● or
● 或
● 优先级:7
● a or b,只要a和b中有一个为真时,结果就为真
● 上机训练2、
● 书P55
● import math
● print(math.factorial(6))
● 25、
● 书P55
● Python中的字符串
● 计算机中文本的最基本单位是字符
● 可见字符
● 英文大小写字母
● 数字字符
● 标点符号
● 一些常见符号
● 不可见字符
● 回车、空格等
● 上机训练3、
● 书P55
● x="hello"
● y="Python"
● n=3
● print(x+y)
● print(x*n)
● print(len(x))
● 26、
● 书P56
● Python中的列表
● 列表是Python中常见的一种数据形式,它可以把大量的数据放在一起,对其进行集中处理
● 列表是以“[]”包围的数据集合,不同成员间以“,”分隔
● 列表中可以包含任何数据类型,例如有列表tian=["甲","乙","丙","丁","戊“,"已","庚","辛","壬","癸],其中tian[0]为“甲”,tian[2]为“丙”
● 上机训练4、
● 书P56
● d=[80,86,88,90,92]
● print(d)
● print(d[2])
● d.append(100)
● print(d)
● d.insert(1,84)
● print(d)
● d.remove(88)
● print(d)
● 27、
● 书P60
● 单分支语句
● if 条件表达式:
● 【缩进】语句块
● 双分支语句
● if 条件表达式:
● 【缩进】语句块1
● else:
● 【缩进】语句块2
● 多分支语句
● if 条件表达式1:
● 【缩进】语句块1
● elif 条件表达式2:
● 【缩进】语句块2
● ……
● else:
● 【缩进】语句块n
● 上机训练5、
● 书P62
● t=float(input("t="))
● if t>=40:
● print("红")
● elif t>=37:
● print("橙")
● elif t>=35:
● print("黄")
● else:
● print("注意")
● 28、
● 书P65
● 技术支持 · turtle库介绍
● turtle库
● turtle.goto(x,y)
● 将画笔移动到坐标为(x,y)的位置
● turtle.pendown()
● 放下笔,移动时绘制图像
● turtle.penup()
● 提起笔,移动时不绘制图像
● turtle.circle(radius)
● 画圆,radius为正(负),表示画圆时圆心在画笔的左边(右边)
● turtle.color(color1,color2)
● 同时设置pencolor为color1,fillcolor为color2
● turtle.begin_fill()
● 准备开始填充图形,与turtle.end_fill()命令配合使用
● turtle.end_fill()
● 填充完成,与turtle.begin_fill()命令配合使用
● turtle.forward(x)
● 向当前方向移动x像素长度
● turtle.backward(x)
● 向当前反方向移动x像素长度
● turtle.right(x)
● 向右转x度
● turtle.left(x)
● 向左转x度
● setx()
● 将当前x轴移动到指定位置
● sety()
● 将当前y轴移动到指定位置
● turtle.speed(x)
● 将移动速度改为x
● 29、
● 书P66、67
● 循环结构的Python实现
● while语句
● while条件表达式:
● 语句块
● for语句
● for 循环变量 in 序列:
● 语句块
● range()函数
● range(1,5,3)
● 生成起始值为1,终值为4,步长为3的序列:【1,4】
● range(1,5)
● 生成起始值为1,终值为4,步长为默认值1的序列:【1,2,3,4】
● range(5)
● 生成起始值为0(没有设定起始值,默认为0),终值为4,步长为默认值1的序列:【0,1,2,3,4】
● range(5,1,-1)
● 生成起始值为5,终值为2,步长为-1的序列:【5,4,3,2】
● 上机训练6、
● 书P66
● alst=[1,2,3,4,5]
● total=len(alst)
● i=0
● while i<total:
● print(alst[i],"的平方是:",alst[i]*alst[i])
● i=i+1
● 上机训练7、
● 书P66
● alst=[1,2,3,4,5]
● for i in alst:
● print(i,"的平方是:",i*i)
● 上机训练8、
● 书P67
● for i in range(1,6):
● print(i,"的平方是:",i*i)
●
● 30、
● 书P72、73
● 枚举法
● 枚举法的基本原理是:
● 根据已知条件,在给定的范围内对所有可能的答案按某种顺序进行逐一列举和检验,从中找出那些符合要求的答案
● 一般模式:
● 确定范围
● 验证条件
● 上机训练9、
● 书P73
● 枚举法
● m=int(input("输入m:"))
● n=int(input("输入n:"))
● if(m>n)[#如果m比n大]
● m,n=n,m[#则交换两个变量的值]
● gcd=1
● times=0[#设定循环计数变量初值]
● for i in range(2,m+1)[#枚举法求最大公约数]
● if(m%i==0 and n%i==0):
● gcd=i
● times=times+1[#循环计数增加}
● print(gcd)
● print(times)
● 上机训练10、
● 书P73
● 辗转相除法
● m=int(input("输入m:"))
● n=int(input("输入n:"))
● if(m>n)[#如果m比n大]
● m,n=n,m[#则交换两个变量的值]
● times=0[#设定循环计数变量初值]
● while(n!=0):[#辗转相除法求最大公约数]
● t=m%n
● m=n
● n=t
● times=times+1[#循环计数增加}
● print(m)
● print(times)
● 【看懂即可】
● 书P76
● ①读入一周的跑步课程训练内容
● ②读入对应课程训练内容消耗的卡路里数
● ③初始设定已完成项目数finished为0,未完成项目名称unfinished为空字符串
● ④逐一列举一周的对应训练内容消耗的卡路里数
● ⑤如果当前枚举的卡路里数为0,则将对应的训练内容名称加入unfinished,否则finished的计数加1
● ⑥输出完成项数目及未完成项目名称
● ①itemlist=["低速低强度","变速练习","低速低强度","快走","低速低强度","坡度练习","低速低强度"]
● ②datalist=[400,600,380,0,420,620,397]
● ③finished=0
● ③unfinished=""
● ④for i in range(7):
● ⑤ if datalist[i]==0:
● ⑤ unfinished=unfinished+itemlist[i]+" "
● ⑤ else:
● ⑤ finished=finished+1
● ⑥print("完成了",finished,"项")
● ⑥print("未完成项目:",unfinished)

使用软件:幕布 & B站
(由于以上均为手打,难免会有疏忽,如有错误,还请在评论区中指出
如需思维导图原图或freemind文件,请务必私信获取~
(๑•̀ㅂ•́)و✧ (´▽`ʃ♡ƪ) (●'◡'●) (☆▽☆) *★,°*:.☆( ̄▽ ̄)/$:*.°★* 。 )