本专栏👉CSP-J/S初赛内容主要讲解信息学奥赛的初赛内容,包含计算机基础、初赛常考的C++程序和算法以及数据结构,并收集了近年真题以作参考。
如果你想参加信息学奥赛,但之前没有太多C++基础,请点击👉专栏:C++语法入门,如果你C++语法基础已经炉火纯青,则可以进阶算法👉专栏:算法知识和数据结构👉专栏:数据结构啦!
前言
计算机内部是通过二进制编码的方式来表示信息的,因此,需要在存储信息之前先转换成计算机能够识别的编码。
ASCLL码
ASCII码 ( American Standard Code for Information Interchange)即美国标准信息交换代码,每个字符占7位的二进制位(单位为比特/bit),可以表示27=128种西文字符,包括大小写字母、0-9、控制符(比如回车、空格)、通用符(如+、=)等字符。
常见字符的ASCLL码
常见的字符ASCLL如下图所示:
汉字信息编码
汉字输入码
汉字输入方法大体可分为:区位码(数字码)、音码、形码、音形码。
区位码:优点是无重码或重码率低,缺点是难于记忆。
音码:优点是大多数人都易于掌握,但同音字多,重码率高,影响输入的速度;
形码:根据汉字的字型进行编码,编码的规则较多,难于记忆,必须经过训练才能
较好地掌握,重码率低。
音形码:将音码和形码结合起来,输入汉字,减少重码率,提高汉字输入速度。
汉字交换码
汉字交换码是指不同的具有汉字处理功能的计算机系统之间在交换汉字信息时所使用
的代码标准。自国家标准 GB2312-80公布以来,我国一直延用该标准所规定的国标码作为
统一的汉字信息交换码。
GB2312-80标准包括了 6763 个汉字,按其使用频度分为一级汉字 3755 个和二级汉字
3008 个。一级汉字按拼音排序,二级汉字按部首排序。此外,该标准还包括标点符号、数
种西文字母、图形、数码等符号 682个。
由于 GB2312-80是 80年代制定的标准,在实际应用时常常感到不够,所以,建议处
理文字信息的产品采用新颁布的 GB18030 信息交换用汉字编码字符集,这个标准繁、简字
均处同一平台,可解决两岸三地间 GB码与 BIG5码间的字码转换不便的问题。
字形存储码
字形存储码是指供计算机输出汉字(显示或打印)用的二进制信息,也称字模。通常,
采用的是数字化点阵字模。如下图:
一般的点阵规模有 16×16,24×24,32×32,64×64等,每一个点在存储器中用一个二进制位(bit)存储。例如,在16×16的点阵中,需16×16bit=32 byte 的存储空间。在相同点阵中,不管其笔划繁简,每个汉字所占的字节数相等。
为了节省存储空间,普遍采用了字形数据压缩技术。
所谓的矢量汉字是指用矢量方法将汉字点阵字模进行压缩后得到的汉字字形的数字化信息。
关于CSP-J/S初赛的更多内容请访问专栏👉CSP-J/S初赛