2024年8月31日发(作者:)
教科版2019信息技术必修1数据与计算
第3单元认识数据3.1数据编码教学设计
【教材分析】
本项目包含任务一“认识智能公交系统中的数据”和任务二“查看存储在计算机中的数
据”两个任务。任务包含活动1“办理市民卡”和活动2“将语音模拟数据转换为数字数据”
两个活动。任务二包含活动1“卡片组合游戏”和活动2“查看数据的编码”
任务-是让学生通过活动1, 亲身体验数据的表现形式,如文本、数值、声音、图像、
视频等,善于总结各种不同形式数据的采集的基本工具和方法;通过活动2,以声音为例,
认识到将模拟数据转换为数字数据的基本思维和实现方法。两个活动相互关联,前者主要是
对数据的表现形式建立感性认识,后者是形成对模拟数据进人计算机时必须进行数字化采集
的理性认识。建议任务-安排1课时。
任务二有两个重要内容:一是通过活动 1的游戏,认识二进制,进而由二进制和十进制
扩展到十六进制乃至任意进制,归纳总结任意进制系统的共有特征,并能对任意两种进制数
据进行相互转换;二是通过活动2,使用Python语言工具,查看字符的ASCII码和Unicode
码,引导学生了解字符的编码,加深体验和认识。建议任务二安排1课时。
通过两个任务的学习,学生能了解各类数据采集的基本方法,解释文本、音频等数据的
编码原理,理解数据编码的意义和作用。
【教学建议】
计算机是处理数据的工具,尽管所有数据在计算机中都是以二进制的形式表示的,但不
同类型的数据所表达的意义不一一样, 编码方式不一样,因此处理方式也不一样。我们常
见的数据的表现形式有数值型、文本型、图像、声音、视频等,本节重点讲解声音的数字化
与文本编码,介绍二进制及进制、 十进制、十六进制之间的转换 。
数据编码是数据后续处理的基础。教学中可以让学生借助某些软件工具,充分了解不同
的编码方式,如声音有WAV格式、MP3格式等,图像有BMP格式、JPG (JPEG)格式、GIF格
式等。编码( 含压缩)方式不同,则文件大小不同,表达效果也不一样。再如汉字编码有区
位码、国标码、机内码、Unicode 码、输人码、字形码等,讲清楚这些“编码”之间的联系
和区别,让学生触类旁通,融会贯通,激发他们的学习兴趣。
项目教学法主张先练后讲,先学后教,强调学生的自主学习,主动参与,从尝试人手,
从练习开始,调动学生学习的主动性、创造性、积极性等,学生唱“主角”,而教师转为“配
角”,实现教师角色的换位,有利于加强对学生自学能力、创新能力的培养。
对于实践性强的项目或活动,要让每个学生充分参与、全程参与、深度参与,在体验、
经验的基础上领悟、归纳、总结;对于理论性较强的项目或活动,要充分铺垫、诱导、启发、
示范、练习,课前学生带着问题预习,教师充分准备各种情境下的教学预案以及教学支架性
材料,讲解时以例释理,避免直接灌输结论,更不要让学生机械背诵结论。
【教学目标】
1、了解各类数据采集的基本方法。
2、能够解释文本、音频等数据的编码原理。
3、理解数据编码的意义和作用。
【教学重点、难点】
各类数据采集的基本方法。文本、音频等数据的编码原理。数据编码的意义和作用。
【教学过程】
第一课时
在当今信息时代,计算机已经成为数据处理的主要工具。那么,编码是信息数据是如何
进入计算机中的?它们在计算机内部是如何存储的?
理解这些问题是将来进- - 步学习数据加工与处理的重要基础。本节我们将在解决问题
的活动中,学习数据编码的基本知识,熟悉数据编码的思想和方法,认识数据编码的重要性。
一、引入
智能公交系统是智慧城市的重要组成部分,它的应用提高了城市公交的运营效率,方
便了人们的出行。在本节中,我们将国绕“智能公交系统中的数据采集”项目展开学习。通
过该项目,我们可以进一步认识生活中存在不同类型的数据,了解数据采集和编码的一般方
法,理解其基本原理,为应用数据解决问题打基础。
本项目主要包含“认识智能公交系统中的数据”和“查看存储在计算机中的数据”两
个任务。
许多城市开通了智能公交,使用市民卡可以方便出行。在办理市民卡的过程中,有很
多数据需要采集与编码。
任务一认识智能公交系统中的数据
活动1办理市民卡
市民在办理市民卡时,一般要到指定地点办理录入信息、拍摄照片等手续。想一想,
在办理市民卡的流程中,管理系统都收集了哪些!数据?生活中还有哪些数据可以采集以及如
何采集?请尝试分析这些问题,并将相关内容填入表3.1.1。
表3.1.1 计算机处理的数据
表现形
式
文本
实例 采集该类数据的设备 用什么软件处理
姓名,家庭住址,性别
(也可以用数字表
示)、手机号
键盘
手写输入
语音输入
文字处理软件,电子表
格,数据库
OCR识别
语音识别
数字
身高、体重、肺活量、
键盘,各种数字化采集仪
血压,身份证号
手写输入
照片
手机,相机,摄像头,扫描
仪
电子表格,数据库
图像 PS,美图秀秀
用软件从视频中抓帧
声音 声音,语音,音乐
手机,录音机(录音笔),
录音机,CoolEdit
话筒(声卡)
从有声视频中分离音轨
手机,摄像机,摄像头 QQ影音、绘声绘影
Camtasia
视频 监控视频
二、模拟信号与数字信号
按照取值特征,可以将信号分为模拟信号和数字信号。用传感器直接获得的信号- -般
为模拟信号,如声音、温度、压强等。模拟信号的值是随时间连续变化的,波形光滑。模拟
信号的值称为模拟数据。以声音为例,通过话简的声音传感器获得的声音信号取值情况如图
3.1.1所示。
数字信号随时间的变化是非连续的,如图3.1.2所示。数字信号可以由模拟信号转换得来,
数字信号的值即数字数据,直接用计算机所能理解的二进制表示,以方便计算机对其进行处
理
活动2将语音模拟数据转换为数字数据
我们有时在公交车上能听到司机使用智能车载对讲系统与相关人员通话。现在的智能车
载对讲系统都采用了数字模式的对讲机。与传统模拟对讲机相比,数字模式可以更顺畅、更
清晰地传输语音,这些语音数据是通过对模拟数据的处理得来的。
图3.1.3为待转换的模拟声音波形,其横轴为时间1,纵轴为声波的理量。 音量与振
幅。
振幅。
第一步,采样。在时间轴上按照一定的时间间隔取一系列时刻,得到每个时刻对应的声
波信号的瞬时振幅值。如图3.1.4所示, 在横轴上取n个时刻采集样本,纵坐标心即为每
个样本所对应的声波振幅的离散值,当前n=10。
第二步,量化。将第一步所得的振幅瞬时值往最接近的整数取区间。每个样本所对应的
整数值即为纵坐标,在图中标出这些整数值,如图3.1.5所示。
第三步,编码。请参照边栏中的“十进制与二进制数对应表”将上一步标出的整数值用二进
制数值表示,即可得到一串二进制数,将结果填入表3.1.2。我们可以将这些二进制数值理
解为该声音信号的数字数据。
表3.1.2 数字化的声音信号
时刻
二进制数值
时刻
二进制数值
●声音的数字化
我们不能把连续的音频信号存放在计算机中,必须将模拟声音数据转换为数字数据。将
模拟声音数据转换为数字数据的这--过程,称为声音的数字化。通常先对模拟声音信号按给
定的时间间隔进行采样,然后对采样数据进行量化,最后将量化后的数据用计算机能够存储
和处理的二进制数值表示,即编码。
三、小结
1.从模拟数据到数字数据,要经过采样、量化、编码三个过程。
2.采样是时间的离散化数字化,量化是幅值的离散化数字化,编码是数据的格式化文件
化。
四、练习
1.一段时长为1分钟的双声道立体声的无压缩音频(采样频率为44.1kHz,量化位数为
16位),占用的存储空间是多少MB(精确到0.1)?
参考解答:
60*44.1*1000*16*2= 84672000(位,比特)= 10584000(B,字节)≈10.1MB
2.一张CD光盘的容量大约为700MB,能容纳多长时间的无压缩双声道立体声CD音频(采
样频率为44.1kHz,量化位数为16位)?
参考解答:
700/10.1≈69.3(分钟)
1
001
6
010
2
010
7
010
3
011
8
010
4
100
9
011
5
011
10
011
第二课时
一、引入
任务二查看存储在计算机中的数据
活动1卡片组合游戏
无论是数字、文字,还是声音、视频等,编码后都以二进制的形式存储在计算机中。我
们可以通过下面这个有趣的游戏了解二进制。
如图3.1.6(a)所示,桌面上摆放了5张卡片,将卡片正面的点数用十进制数表示,从
右到左分别为1、2、4、8、16。现在翻动3张卡片,使其反面朝上,如图3.1.6 (b)所示,
这时卡片正面的点数和为1+8=9。若我们将所有卡片的正面读为1,将卡片的反面读为0,
则得出十进制数9对应的二进制数就是01001。
二、二进制与数制转换
计算机外部的各种形式的数据经过编码后,都以二进制数的形式存储在计算机中。二进
制数中只有0和1两个数字符号,其计数特点是“逢二进一”,即1+1=10。计算机中存储
数据的最小单位是二进制位,用比特(bit)表示,1比特能表示两种(2\' )状态(即0或1),
2比特可以表示00、01、10、11四种(22)状态,3比特可表示八种(22 )状态---。计0算
机存储数据的基本单位是字节(Byte,简写为B) , 8比特构成1字节,1字节二进制数可
表示2* (256)种状态。
在二进制数中,每一个数字在不同的位置上具有不同的权值,各位上的权值是基数2
的若干次幂。比如二进制数10010,5个位置上的权值从右往左可以表示为: 2°、2\'、2*、
2*、2*。将二进制数转换为十进制数时,只要将该二进制数的每个位置上的数字与其对应位
置的权值相乘,然后求和即可。比如,100102=1 x2*+0x2*+0x2*+1 x2\'+0x2°-18。
把十进制非负整数转换为二进制数,可使用短除法,即“除二取余\"法。例如,把十进
制整数18转换为二进制数的过程如图3.1.7所示,结果为18 (10) =10010(2)。
由于二进制数位数较多,书泻不便,故常改用十六进制数表示。我国古代曾经在重量单
位上使用过十六进制,如规定16两为1斤。十六进制需要使用16个不同的基本数字,除了
阿拉伯数字0到9外,一般用字母A到F (或a~f)依次表示后续数字(相当于十进制数中的
10~15)。十六进制的基本计数规则是“逢十六进1”,即F+1=10。-般地,十进制非负整数
转换成R进制数(R≥2)采用“除R取余法”,把R进制非负整数转换成十进制数采用“按权
展开求和法”。
活动2查看数据的编码
人们在申请表里填写的姓名、性别和家庭住址等数据都是文本数。请你尝试用Python
语言实践下面的程序,了解文本数据所对应的编码。
>>> ord(\'男\') #显示字符“男”的编码值
30007
>>> ord(\'1\') #字符“1”的编码值为49
49
>>> ord(\'A\') #字符“A\"的编码值为65
65
>>> bin(65) #将十进制数65转换为二进制数
‘8b1000001’
>>> chr( 8b1000001) #将编码值转换为对应的字符
‘A\'
文本数据的编码
文本数据是用来表示-定意思的一-系列字符,包括字母、数字、标点符号、汉字等。
文本数据的编码通过对其中每一个字符进行编码实现。用于文本数据字符编码的方案有
多种类型,其中ASCII码和Unicode是最为典型的两种编码方案。
1. ASCII码
ASCII码( American Standard Code for Information Interchange, 美国信
息交换标准码)用7位(标准ASCI码)或8位(扩展ASCII码)二进制数表示-一个字符。标准
ASCII码字符集中定义了大小写英文字母、标点符号和数字等字符和符号,共128个。计算
机内部用一个字节来存放一个ASCII码字符,最高位用0表示。例如,“A\" 的ASCII码为
01000001,即65。常用的ASCII码如表3.1.3所示。
2. Unicode码
Unicode是为了解决传统字符编码方案的局限性而产生的。例如,它可以用两个字节来
表示一个符号,这样就有2l6 ( 65536)种不同的二进制编码,能表示很多国家的常用字。
目前,Unicode还可以用更多字节来对字符进行编码。为了简化ASCII与Unicode之间的转
换,Unicode的设计者还使其兼容ASCII码。原来用ASCII码能表示的字符,其对应的Unicode
码只是在原来的ASCII码前加上8个0。比如,“a” 的ASCII码是01 00001,而它的
Unicode 码是00000001 00001。
计算机要处理汉字,必须对汉字进行编码,显然每个汉字至少需要两个字节。我国先后
制定了多个汉字编码方案: (1) GB 2312-1980字符集共收录6763个汉字,其中- -级
汉字3755个,二级汉字3008个;同时收录了包括拉丁字母、希腊字母等在内的682个字
符; (2) GBK字符集,兼容GB 2312- -1980标准, 收入21003个汉字, 883个符号,
共计21886个字符; (3) GB 18030- -2000字符集,包含GBK字符集和CJK统- -汉字
扩充A的汉字,共计27533个汉字; (4) GB 18030- -2005字符集,在GB 18030--2000
的基础上,增加了CJK统-汉字扩充B的汉字及其他汉字,共计70244个汉字。
Unicode字符集,是全球可以共享的编码字符集,涵盖了世界上主要文字的字符,其中
包括简繁体汉字,共计74686个汉字。如汉字“男”的Unicode编码为30007 (十进制),
用十六进制表示为7537,用二进制表示为1111
3.汉字的其他编码及相互关系(拓展)
①区位码
在GB2312-80《信息交换用汉字编码字符集》中,所有的国标汉字与符号组成一个94
×94的矩阵。在此方阵中,每一行称为一个“区”,每一列称为一个“位”,因此,这个方阵
实际上组成了一个有94个区(区号分别为1到94)、每个区内有94个位(位号分别为1到94)
的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的“区位码”。
在汉字的区位码中,高两位为区号,低两位为位号。 在区位码中,01~09区为682个特殊
字符,16~87区为汉字区,包含6763个汉字 。其中16~-55区为一级汉字(3755个最常用
的汉字,按拼音字母的次序排列),56~87区为二级汉字(3008个汉字,按部首次序排列)。
如“热”字的区位码为4040(第40区第40位)。
汉字区位码可在网上查询。
②国标码
国标码是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进
制的区码和位码,再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码。
如:“热”字的国标码为4848H,它是经过下面的转换得到的:4040D->2828H->+2020H->4848H。
③机内码
国标码是汉字信息交换的标准编码,但因其前后字节的最高位为0,与ASCII码发生冲
突。如“热”字,国标码为4848H,而英文字符“H”的ASCII也为48H,现假如内存中有两个
字节为48H和48H,这到底是一个汉字,还是两个英文字符“H”?于是就出现了二义性,显
然,国标码是不可能在计算机内部直接采用的。于是,汉字的机内码采用变形国标码,其变
换方法为:将国标码的每个字节都加上128(即80H),即将两个字节的最高位由0改1,其余
7位不变,如上面我们知道,“热”字的国标码为4848H,加上8080H,因此,“热”字的机
内码就是C8C8H。
五、练习
【练习1】进制转换
10110100
(2)
=( )
(10)
3D
(16)
=( )
(10)
255
(10)
=( )
(16)
100
(10)
=( )
(2)
E2
(16)
=( )
(2)
11100101
(2)
=( )
(16)
参考答案:180,61,FF,1100100,11100010,E5
【练习2】我们最熟悉的是十进制,在十进制中,有21*12=252,那么这个结论还在哪
些进制中成立?为什么?
参考解答:在R(R≥6)进制中都成立。证明如下:
21
(R)
*12
(R)
=(2*R+1)*(1*R+2)= (2R+1)(R+2)=2R+5R+2=252
(R)
2
由于式子中出现的最大数字为5,所以R≥6。
【拓展练习】
设计灯语传送信息
活动:
设计灯语传送信息
活动描述:
设计一套自己的灯语,用“密码”传送信息。
(1)两人一组,一人控制手电筒开关,按照灯语发送一组字母或数字,另一人观察手
电筒发出的光信号,记录数据,并使用灯语译出这组字母或数字;
(2)双方核对信息,多次重复实验;
(3)通过分析实验数据,总结该方法传递信息的利弊,提出自己的灯语方法(建议考
虑如何传递中文信息);
(4)针对自己的灯语方案,编写程序,实现明文、摩尔斯码、二进制灯语码之间相互
“翻译”。
1.选题理由
灯语是一种通信手段,用灯光明暗的时间和间歇时间不同表示不同的信号来传递信息。
灯语通信需要双方事先约定明暗表达方式,这就是灯语编码。本案例从灯语传递信息的活动
出发,让学生设计并通过计算机程序实现灯语编码和解码的自动化,从而学习“根据实际需
求,设计方案并用计算机解决问题”的方法。
2.操作建议
本活动为学生提供了一个了解灯语的场景:通过两人使用灯语传送和翻译信息,了解人
工传送与接收灯语信息的不足,激发学生用计算机解决问题的欲望。
考虑到让学生完全自主地设计灯语编码方案有相当难度,先介绍目前国际上流行的灯语
编码摩尔斯码。
摩尔斯码由两种基本信号和不同的间隔时间组成:短促的点信号“·”,读“滴”(Di);
保持一定时间的长信号“-”,读“嗒”(Da)。时间约定:用1t表示最小单位时长(例如可
定为1秒);滴,时长1t;嗒,时长3t;同一字符内部滴与滴之间,滴与嗒之间,嗒与嗒之
间,停顿(灯暗)1t;同一单词的字符结束,灯暗3t;单词结束,灯暗7t;多个停顿同时产生
时,不累加,取最大值。
让学生自拟一段明文(假定只含上图中的字符),写出其摩尔斯码;但将摩尔斯码用电
筒表示出来还是不方便,为此,可再把摩尔斯码转为二进制灯语码:用0表示暗,1表示亮,
停顿多少个1t就用多少个0表示。
如明文“I LOVE IT”,翻译为摩尔斯码:
../.-.. --- ...- ./.. -/
其中“/”表示单词结束停顿(灯暗7t),“ ”(空格)表示单词内字符结束停顿(灯
暗3t)。“.”表示“滴”,“-”表示“嗒”。摩尔斯码转为二进制灯语码(0表示暗,1表
示亮,每个数字均占时1t,其间并无空格,只是为了对照摩尔斯码阅读方便而加入):
101 0000000 101110101 000 000 101010111 000 1 0000000 101 000 111
0000000
很显然,通过活动,学生会发现虽然可以用灯语传递信息,但是操作很不方便,误差也
很大,还有怎么传递中文信息,引导学生提出自己的灯语方案,并尝试用计算机编程,实现
从明文到摩尔斯码,再到二进制灯语码,自动编码。反过来,从二进制灯语码,到摩尔斯码,
再到明文,实现自动解码。
3.注意问题
要让学生充分实验,在动手中动脑,在实践中发现问题,明确描述界定问题,思考用计
算机编程解决问题。并让学生自行设计测试数据,检验算法正确性和可靠性。
本活动中,摩尔斯码其实只是学习灯语的支架,降低了学习的门槛,让学生容易接受,
与其已有的数据编码知识和概念衔接共生。要充分注重启迪学生思维演化的过程(模仿学习
摩尔斯码-尝试实践-发现问题-提出自己的灯语编码方案-验证方案-编程实现,以提高正确
性和效率),在学习过程中培养计算思维。
若能通过开源硬件实现一台计算机(或开源可编程控制板)控制发出灯语,另一台计
算机(或开源可编程控制板)接收灯语,双方可相互交流,那就更好了。
(程序详见配套资源“3-1 综合项目-灯语.py”)
【教学反思】
更多推荐
数据,编码,灯语,学生,数字,二进制,声音
发布评论