江西学考消息技术加试怎么复习,观望FIFA World Cup

试题来源:http://student.csdn.net/mcs/programming_challenges?&page=1
 观察FIFA World Cup

图片 1

  

有奖调查:高三这一年得花多少钱

  此前在全校参与每年的ACM程序设计大赛,感觉程序算法仍然挺有趣的,那两日发现3个网站上自由部分算法试题,有点当年的那种心境,看到了,感觉能杀死,那就干掉它。近年来还在小卖部守夜中,闲着没事就试了试算法题。

双五星级 名单你读懂了吗 为什么分成AB类

  速手打,没有详细检查,可能有弱点请见谅,不过读题、解题、算法设计,3个浩大。

高三家长必须精晓的9条自主招收政策

 if(type == 1){...} 这段里,虽然写的有点小复杂,但是是个简单的优化,呵呵。

自立招生 与自招相关的比赛 专家指出自招早做准备

  做事前,先看清,再入手。程序猿时间少于,不要随便浪费,错误的解读,终会导致一个不得法的结果。

解密专业19期:神秘的中管理学

class Program
    {
        /*
         *     世界杯正在火热进行中,室友不惜睡眠时间,凌晨起来观看,但Njzy对此不是很感兴趣,他在思考一个问题: 
         * 假设世界杯观看台上有n个座位,排成一排,游客们来到这里自由占位。一般情况下,一个游客首先考虑的座位
         * 肯定是两边都没人的座位,其次考虑的是一边没人的座位,最后没得考虑,只能随便选一张两边都是人的座位。
         * 假设有n个游客依次到场占位,每个人都是按照上述规则选择自己的位子,Njzy就在思考这n个游客占位的可能顺
         * 序有多少种,你能帮助他? 输入描述: 有多组测试数据,每组测试数据包括一个正整数n(0<n<1000000)。 输出
         * 描述: 对于每组数据,由于答案可能会很大,所以输出:答案%1000000007
         * 
         * **************************************
         * 
         * 首先仔细读题:
         *  1.世界杯观看台上有n个座位,这n个座位有n个依次到场的游客来坐。
         *    解析:这里面隐藏两点(这两点很重要,如果没有读出这两点,计算会非常复杂):
         *                  a.座位数等于游客数
         *                  b.游客有入场顺序(此题中游客的入场顺序为1,2,3,4...)
         * (限制型排序算法)                 
         * 
         *                  
         *  2.首先考虑的座位肯定是两边都没人
         *  
         *  3.其次考虑的是一边没人的座位
         *  
         *  4.只能随便选一张两边都是人的座位
         *  
         * 
         * 输出结果:
         * 表示游客的选座方法(顺序号对应游客的入场顺序)。
         * 
         * 
         * 修改 _PersonCount 的值表示入场的人数(座数),为题中n(0<n<1000000)
         * 如果只求出总选座的方法,可以注释 Console.WriteLine(string.Join(",", _SiteArray));
         * 没有输出,提高程序的计算效率。
         */

        static void Main(string[] args)
        {
            //假设:人数、座位数(1,2,3...表示游客的入场顺序)
            int _PersonCount = 4;

            int[] _SiteArray = new int[_PersonCount];

            int personIndex = 1;
            int type = 2;

            switch (_SiteArray.Length)
            {
                case 0: type = -1; break;
                case 1: type = 0; break;
                case 2: type = 1; break;
                case 3: type = 2; break;
                default: type = 2; break;
            }

            FuncRun(ref _SiteArray, ref personIndex,  type);

            Console.WriteLine("总共 {0} 种选座的方法",ResCount);
        }

        static void Swap(ref int l, ref int r)
        {
            l = l ^ r;
            r = l ^ r;
            l = l ^ r;
        }

        static int ResCount = 0;

        static void FuncRun(ref int[] _SiteArray, ref int personIndex,  int type)
        {
            if (personIndex > _SiteArray.Length)
            {
                Console.WriteLine(string.Join(",", _SiteArray));
                ResCount++;
                return;
            }

            if (type == 2)
            {
                //---------------------------------------------------
                //首先考虑的座位肯定是两边都没人
                for (int i = 1; i < _SiteArray.Length - 1; i++)
                {
                    if (_SiteArray[i] > 0)
                        continue;

                    if (_SiteArray[i - 1] == 0 && _SiteArray[i + 1] == 0)
                    {
                        _SiteArray[i] = personIndex++;
                        FuncRun(ref _SiteArray, ref personIndex,  type);
                        //数据恢复
                        personIndex--;
                        _SiteArray[i] = 0;
                    }
                }
                type--;
            }

            //---------------------------------------------------
            //其次考虑的是一边没人的座位
            if (type == 1)
            {
                if (personIndex <= 1 || _SiteArray.Length < 3)
                    return;

                if (_SiteArray[0] == 0 && _SiteArray[1] == 0)
                {
                    _SiteArray[0] = personIndex++;
                    FuncRun(ref _SiteArray, ref personIndex,  type);
                    //数据恢复
                    personIndex--;
                    _SiteArray[0] = 0;
                }

                for (int i = 1; i < _SiteArray.Length - 1; i++)
                {
                    if (_SiteArray[i] > 0)
                        continue;

                    if (_SiteArray[i - 1] == 0)
                    {
                        _SiteArray[i] = personIndex++;
                        FuncRun(ref _SiteArray, ref personIndex,  type);
                        //数据恢复
                        personIndex--;
                        _SiteArray[i] = 0;
                    }
                    else if (_SiteArray[i + 1] == 0)
                    {
                        _SiteArray[i] = personIndex++;
                        FuncRun(ref _SiteArray, ref personIndex,  type);
                        //数据恢复
                        personIndex--;
                        _SiteArray[i] = 0;
                    }
                }

                if (_SiteArray[_SiteArray.Length - 1] == 0 && _SiteArray[_SiteArray.Length - 2] == 0)
                {
                    _SiteArray[_SiteArray.Length - 1] = personIndex++;
                    FuncRun(ref _SiteArray, ref personIndex,  type);
                    //数据恢复
                    personIndex--;
                    _SiteArray[_SiteArray.Length - 1] = 0;
                }
                type--;
            }

            //---------------------------------------------------
            //只能随便选一张两边都是人的座位
            if (type == 0)
            {
                for (int i = 0; i < _SiteArray.Length; i++)
                {
                    if (_SiteArray[i] == 0)
                    {
                        _SiteArray[i] = personIndex++;
                        FuncRun(ref _SiteArray, ref personIndex,  type);
                        //数据恢复
                        personIndex--;
                        _SiteArray[i] = 0;
                    }
                }
            }
        }
    }

解密专业 聪明的孩子学物理 教育学

综观各次消息技术选考,全数加试题从知识内容上说都尚未超越考试正式的局面。但从前五回选考加试题得分情形来看,考生的得分率普遍不是很高。回看前几回选考,看看加试题考什么、怎么考,可能能取得部分新启示。

图片 2

考什么

所谓“知己知彼,长驱直入”,要在选考中发挥出较好的品位,必须要显著地握住选考内容。

纵观前几遍选考,加试题总分为1伍分,由三个挑选题(第⑨ 、1壹 、12题,共伍分)和1个非选拔题(第三陆 、17题,共七分)组成。从知识点分布来看,主要集聚在“多媒体信息编码”、“算法与VB程序设计”。除此之外,为了试验学生分析消除难题的力量,每趟试验的末段一题(第三7题)都会油不过生两个综合题,此类综合题不囿于于某些经典算法,往往综合运用了程序设计中的各个格局与技能,大家得以叫做“开放性试题”。

更进一步分析,“算法与VB程序设计”主要考查了排序、查找、自定义函数、字符串处理等算法与知识。而If语句、循环语句及数组、常见对象属性操作等编程基础知识,大概渗透到了各类试题。

图片 3

怎么考

按照上述梳理可见,全体考试的学问都属于选考科目考试正式的范围。但鉴于试题的样式以及考试切入点的新颖性,会给考生一种不明确感,总体来说本次选考试题突显出下列特征。

1。 古板题讲究周密而透彻

此处的思想意识题指的是难点熟识、所需知识与求解目标之间关系较为直接的课题,如表1所示的伍个关于多媒体信息编码的考题。

那类试题的表征是讲求考生周到地了然相关的基础知识,并能直接运用这几个文化求解试题。如二〇一五年3月选考的第7题:

[加试题]将多个时长为1分钟、采样频率为44.1kHz、量化位数为1⑥ 、双声道未经压缩的Wave格式音频文件压缩为mp5格式文件,压缩后的mp4格式文件大小为940KB,则其缩减比约为

A、 11:1 B、 11:2 C、 11:4 D、 88:1

考生首先要了然音频数据数字化的规律,然后结合音频采样特点,统计出该音频未经压缩的存储量为10335.9375KB,将此结果除以压缩后的仓储体积即可得到削减比约为11∶1(选项A)。

再如二〇一五年十二月、二零一五年12月的第⑩题都以针对BMP图像数字化及存储量总括的考查,尽管知识点相同,但考试的切入点分歧。前者须要考生依照分辨率和种种像素存储所需的二进制位数计算图像的存储量,而后者要求考生依据存储量和分辨率反向总结逐个像素存储所需的二进制位数。

图片 4

 

有奖调查:高三这一年得花多少钱

双一级 名单你读懂了吗 为什么分成AB类

高三家长必须了然的9条自主招生政策

自立招生 与自招相关的比赛 专家提议自招早做准备

解密专业19期:神秘的中农学

解密专业 聪明的孩子学物理 文学

贰 、 算法题敬爱考查算法原理和统筹思想

读书算法与程序设计不仅要会沿用经典算法的顺序框架来化解实际问题,更要在深刻精晓算法原理的基础上,逐渐形成基于既有算法改造之上的算法设计力量。加试部分的算法与程序设计题,丰裕体现了那种价值取向。

如二〇一六年八月的第②6题,必要考生在领略古板冒泡排序算法基础上,依据试题指示分析原算法中留存的冗余处理,并根据创新后的算法必要校勘程序中的错误。宗旨部分的程序段如下:

图片 5

主题考查的严重性特色为:

驾驭冒泡排序算法的法则

冒泡排序的基本原理是每一趟在贰个未处理区间内扫描,发现逆序对数据后即开展交流,逐步收缩扫描区间直到区间长度为2。该算法的改进原理就是当剩余区间内数据尚未意识逆序对时,即可截止排序。假设考生对原冒泡排序算法的法则精通不够深入,就无法设计出相应的巡回条件并做到改错。

知情冒泡排序程序外循环循环变量的机能原理

读本中冒泡排序算法用For i=1 to
n-1语句来支配外循环,循环变量i的重点职能有几个,一是冒泡排序加工的遍数,二是为每遍的加工设定右侧界。假诺考生不可以对这个规律有浓密的知情,就无法知道外循环变量i的效益,也就不可以正确解析出Do
While循环语句中的条件进而正确写出矫正后的结果(将符号(1)处的“or”改为“and”、将符号(2)处的“i”改为“i-1”)。

再如二零一四年七月第①一 、12题,前年一月第②1题,二〇一七年12月第三2题。这么些课题首先须要动用已学经典算法的原理去驾驭新的次序,更要依照新的标题去成立性地设统计法化解难题。以前年六月的第②2题为例,试题须求考生使用已学的抉择排序算法思想,完善立异后的在双方同时开展选用的排序程序。该题的要紧内容如下:

图片 6图片 7

该题的考试特点有:

使用内化的接纳排序思想驾驭新的选拔排序算法

核心可以说是考查采用排序算法,但又不局限于考查教材中的选用排序算法,而是须求拔取内化的选拔排序中的“选拔”思想,去帮助精通创新后的新排序算法。

依据新题材特点去创制性地设总括法

惜墨如金后的取舍排序算法带来了新的题材,即两边同时开展抉择时所拉动的数据交流的互相影响。为了缓解那么些新题材,需求考生能依据标题特点去完善算法(设计思想)。新题材唯有在左端点是最大值时暴发,顺藤摸瓜进行解析,当最小值被换来到左端点时,最大值被换来到iMin所指地方,所以正确接纳为A。
图片 8

有奖调查:高三这一年得花多少钱

双一流 名单你读懂了吗 为啥分成AB类

高三家长必须领悟的9条自主招收政策

自立招生 与自招相关的竞技 专家提议自招早做准备

解密专业19期:神秘的中艺术学

解密专业 聪明的男女学物理 农学

③ 、 开放性试题强调消除难题

为了考试学生设总结法消除难题的能力,一回选考都出现了开放性试题。此类试题的特征是一贯不经典算法的影子,考生在分析程序时不知所措按照有个别经典算法的框架来救助分析、设统计法,目的是考查学生分析难题、创制性地设统计法消除难点的力量。

此间的算法设计不是从零开头的设计,而是根据试题给出的任务和算法处理特点,针对程序中的断层(要求改错恐怕补充)设计算法。如,贰零壹陆年八月的第二7题空格②(主题代码段如下)。

图片 9

依照试题给出的数目加密方法以及自定义函数Code2Char()的法力,考生如能设计出“取出字符串s中第c+3个字符,并将该字符通过函数重返”的算法,就能应用字符串函数写出那里应填的代码“Mid(s,c+1,1)”。

怎么学

壹 、 领悟程序设计本质,领悟主要知识

微机举行自动化数据处理的真面目是对实际数据的规律性重复处理,由此先后设计的为主就是抽象数据再一次处理的规律,并将规律通进度序再说突显。在那些历程中,规律性的重新处理往往用循环结构来落到实处,而数据的规则化协会又通过数组来达成。由此,循环和数组就改为了程序设计中的关键知识。实际前几遍选考的15个有关程序设计的加试题中,全体都涉嫌了循环语句和数组应用。为了真正控制这个根本知识,教学中可以通过变式应用来深化对这个知识的明亮和摆布,如原来用For语句完成的巡回结构可考虑用Do
While语句来促成,原来用七个数组完毕的顺序考虑用二个数组来兑现等。

除去数值处理,总计机处理的非数值数据主要就是字符串,加试题也展现了这些特点(前五次选考17个程序设计题中出现了3题)。为了熟知驾驭字符串处理的基本点知识,平日教学中不或许只逗留在古板的字符串表明式统计的规模,而要在各个字符串相关实际难点的化解进度中深切驾驭字符串处理技术,养成字符串处理的发现和思索,否则就不难出现将“Mid(s,c+1,1)”写成“s(c+1)”的不当。可以借鉴的其实难题可以是“字符文本排版”、“身份证编号校验”等。作为一种发展性思考,教学中还应关注基于字符编码的字符串处理难题的化解。

贰 、 培育程序设计思想

某些老师觉得音信技术试验是笔试,能够无需举行上机实践,只需坚实笔试题训练即可。实际上,从目前试题特征的辨析可见,固然是笔试题,加试题也一度废除了原先“三项试验”中那种通过背代码即可解题的风格,而必要在自然的次第设计思想帮忙下才能正确地解题。尤其地,为了试验考生的顺序设计思想,加试题已经在渐渐增强“设计”的分量,而不再是彻头彻尾的单个语句的增补或改错。如二零一五年7月第二1题,考生须要分析多少个语句的构成顺序,一定程度上还原了先后设计考查的原型。

程序设计思想是当学生面临二个真正的题材时,在分析难题、设计算法与数据结构、将算法用一种程序设计语言表示并进行程序调试的进度中渐渐形成的。那一个进度往往是难于、充满挫折的,但幸而在如此1个不住试错、反思、调整、感悟的思想辨析中,程序设计思想才财富源演进。大概一节课学生只调试了多少个先后,但里边饱含了基础知识的追忆与利用、算法的统筹与改正、程序代码的辨析等进程,其意义与效果远远超出一节课三番五次讲两个课题。可以从具体中持续发掘一些程序设计相关的资料,并经过实际编程来消除那些难题,如超市货物销售总计、共享单车使用现状统计等。
图片 10

有奖调查:高三这一年得花多少钱

双一级 名单你读懂了吗 为啥分成AB类

高三家长必须明白的9条自主招生政策

独立招生 与自招相关的竞技 专家提出自招早做准备

解密专业19期:神秘的中农学

解密专业 聪明的孩子学物理 文学

三 、 针对难题特点,运用分析策略和办法

针对笔试题形式出现的选考,还可提炼并行使一些通用性的次序分析策略与措施,升高解题的不利,如常识策略、黑匣子策略、对应政策等。

常识策略

算法与程序设计中,总存在有的相持稳定的程序完毕方法,计算并应用这几个情势来帮助程序设计和分析就是常识策略。如:在求和算法中,保存总和的变量一开端总要开端化为零;在求最大值算法中,结果变量早先化值总为3个极小值可能第贰项数据值;等等。二零一六年七月第②6题就可拔取常识策略来求最大值。

黑匣子策略

黑匣子策略指的是当对某一段程序不可以完全知道时(该片段程序段可以看成黑匣子),可以先临时甩掉该模块内部怎么样处理的辨析,而只需从已知算法的一体化结构出发,分析出该模块的机能(即知道该模块在做怎么着),并依照该作用去支援精通其余一些的程序代码。那样处理后,一方面可以一时跳出这一个瓶颈,不致影响对整个难点的求解,另一方面,当其余一些精晓透彻后,反过来又可协理大家对该模块算法的领悟。

如,在二〇一五年六月第27题中,若是第1遍看程序对于自定义函数Code2Char有点费解,那么就不用纠结,只需抓住该函数的效能是“将参数c中的整数转换为加密后的字符”,然后采用对该功用的精晓,进一步分析出主程序中Code2Char(b1)和Code2Char(b2)分别在将二个字节的前2人和后几位二进制数对应的编码转换为加密字符。以此为突破口,就能逐渐梳理出算法并缓解难题。

图片 11

驷马难追变量法

最首要变量法指的是选用逆向思维,首先显然程序输出结果时的首要数据,分析输出结果由什么变量支配,将这一个变量作为第二变量,在分析程序时引发那一个主要变量,从关键变量值的变化规律去归纳程序的拍卖规律,进而逐步梳理出算法并形成解题。

如,2014年四月选考的第①1题,试题给出三行代码(如下所示),必要显然那三行代码的顺序,使得程序(因篇幅有限,其余代码略)能判断s是还是不是为对称字符串。

在该程序中k是十分紧要变量。结合最后输出语句及第三行代码,可见变量k在统计差距字符的个数。再组成程序中的其他代码,可进一步逆向估量出变量c1和c2各自代表左右两边对称地方上的字符。因此可逐步分析出不错结合顺序为③②①。

对应政策

对应政策指的是只要已有程序的算法思想(可以是友善归结得到,也足以是难点中付出),那么可在程序中搜索算法种种处理步骤对应的讲话,然后依据算法须要分析程序中对应部分的功用并写出所需的代码。

二〇一六年四月选考的第叁7题纵然难度较大,但要是充裕运用对应政策,还可以相比顺遂地缓解难点。该题部分代码及难题中对应的法子描述如下表所示。

图片 12

根据难点中的方法描述,示例3景况处理时应将a(pa+2)的值重复地赋予存放解压缩数据的数组b,所以空格②处代码应为“b(pb+i-1)=a(pa+2)”。而对此空格①处的代码设计,既可对应难题中的方法描述得到,也可因此演示3景观处理中的“pa=pa+3”对应分析得到。

同理可得,加试题重在基本原理驾驭及利用、音信技术学科思维的考查,而盲目的题海战术只可以徒增师生负责。新闻技术教学应符合大势,着眼学科为主素养、遵守实践性和综合性,率领学生在解决实际难点的历程中渐渐升高新闻素养。

正文小编:吴建峰 高级教授

原文均刊载于《安徽试验》期刊二零一七年第八期