浙江學(xué)考信息技術(shù)加試怎么復(fù)習(xí)?
2017-10-24 16:56:50《浙江考試》期刊文章作者:吳建峰 高級(jí)教師
縱觀各次信息技術(shù)選考,所有加試題從知識(shí)內(nèi)容上說(shuō)都沒(méi)有超出考試標(biāo)準(zhǔn)的范疇。但從前幾次選考加試題得分情況來(lái)看,考生的得分率普遍不是很高;仡櫱皫状芜x考,看看加試題考什么、怎么考,也許能獲得一些新啟示。
考什么
所謂“知己知彼,百戰(zhàn)不殆”,要在選考中發(fā)揮出較好的水準(zhǔn),必須要清晰地把握選考內(nèi)容。
縱觀前幾次選考,加試題總分為15分,由3個(gè)選擇題(第10、11、12題,共6分)和2個(gè)非選擇題(第16、17題,共9分)組成。從知識(shí)點(diǎn)分布來(lái)看,主要集中在“多媒體信息編碼”、“算法與VB程序設(shè)計(jì)”。除此之外,為了考查學(xué)生分析解決問(wèn)題的能力,每次考試的最后一題(第17題)都會(huì)出現(xiàn)一個(gè)綜合題,此類綜合題不局限于某個(gè)經(jīng)典算法,往往綜合應(yīng)用了程序設(shè)計(jì)中的各種方法與技術(shù),我們可以稱之為“開(kāi)放性試題”。
進(jìn)一步分析,“算法與VB程序設(shè)計(jì)”主要考查了排序、查找、自定義函數(shù)、字符串處理等算法與知識(shí)。而If語(yǔ)句、循環(huán)語(yǔ)句及數(shù)組、常見(jiàn)對(duì)象屬性操作等編程基礎(chǔ)知識(shí),幾乎滲透到了每個(gè)試題。
怎么考
根據(jù)上述梳理可知,所有考查的知識(shí)都屬于選考科目考試標(biāo)準(zhǔn)的范疇。但由于試題的形式以及考查切入點(diǎn)的新穎性,會(huì)給考生一種不確定感,總體來(lái)說(shuō)這幾次選考試題呈現(xiàn)出下列特點(diǎn)。
1、 傳統(tǒng)題講究全面而透徹
這里的傳統(tǒng)題指的是題材熟悉、所需知識(shí)與求解目標(biāo)之間關(guān)系較為直接的試題,如表1所示的4個(gè)有關(guān)多媒體信息編碼的試題。
這類試題的特點(diǎn)是要求考生全面地理解相關(guān)的基礎(chǔ)知識(shí),并能直接運(yùn)用這些知識(shí)求解試題。如2015年10月選考的第10題:
[加試題]將一個(gè)時(shí)長(zhǎng)為1分鐘、采樣頻率為44.1kHz、量化位數(shù)為16、雙聲道未經(jīng)壓縮的Wave格式音頻文件壓縮為MP3格式文件,壓縮后的MP3格式文件大小為940KB,則其壓縮比約為
A、 11:1 B、 11:2 C、 11:4 D、 88:1
考生首先要理解音頻數(shù)據(jù)數(shù)字化的原理,然后結(jié)合音頻采樣特點(diǎn),計(jì)算出該音頻未經(jīng)壓縮的存儲(chǔ)量為10335.9375KB,將此結(jié)果除以壓縮后的存儲(chǔ)容量即可得到壓縮比約為11∶1(選項(xiàng)A)。
再如2016年10月、2016年4月的第10題都是針對(duì)BMP圖像數(shù)字化及存儲(chǔ)量計(jì)算的考查,雖然知識(shí)點(diǎn)相同,但考查的切入點(diǎn)不同。前者要求考生根據(jù)分辨率和每個(gè)像素存儲(chǔ)所需的二進(jìn)制位數(shù)計(jì)算圖像的存儲(chǔ)量,而后者需要考生根據(jù)存儲(chǔ)量和分辨率反向計(jì)算每個(gè)像素存儲(chǔ)所需的二進(jìn)制位數(shù)。
2、 算法題重視考查算法原理和設(shè)計(jì)思維
學(xué)習(xí)算法與程序設(shè)計(jì)不僅要會(huì)套用經(jīng)典算法的程序框架來(lái)解決實(shí)際問(wèn)題,更要在深入理解算法原理的基礎(chǔ)上,逐漸形成基于既有算法改造之上的算法設(shè)計(jì)能力。加試部分的算法與程序設(shè)計(jì)題,充分體現(xiàn)了這種價(jià)值取向。
如2015年10月的第16題,要求考生在理解傳統(tǒng)冒泡排序算法基礎(chǔ)上,根據(jù)試題提示分析原算法中存在的冗余處理,并按照改進(jìn)后的算法要求改正程序中的錯(cuò)誤。核心部分的程序段如下:
本題考查的主要特點(diǎn)為:
理解冒泡排序算法的原理
冒泡排序的基本原理是每次在一個(gè)未處理區(qū)間內(nèi)掃描,發(fā)現(xiàn)逆序?qū)?shù)據(jù)后即進(jìn)行互換,逐漸縮小掃描區(qū)間直到區(qū)間長(zhǎng)度為2。該算法的改進(jìn)原理就是當(dāng)剩余區(qū)間內(nèi)數(shù)據(jù)沒(méi)有發(fā)現(xiàn)逆序?qū)r(shí),即可停止排序。如果考生對(duì)原冒泡排序算法的原理理解不夠深刻,就無(wú)法設(shè)計(jì)出相應(yīng)的循環(huán)條件并完成改錯(cuò)。
理解冒泡排序程序外循環(huán)循環(huán)變量的作用原理
教材中冒泡排序算法用For i=1 to n-1語(yǔ)句來(lái)控制外循環(huán),循環(huán)變量i的主要作用有兩個(gè),一是冒泡排序加工的遍數(shù),二是為每遍的加工設(shè)定左邊界。如果考生未能對(duì)這些原理有深刻的理解,就無(wú)法理解外循環(huán)變量i的作用,也就不能正確分析出Do While循環(huán)語(yǔ)句中的條件進(jìn)而正確寫出改正后的結(jié)果(將標(biāo)記(1)處的“or”改為“and”、將標(biāo)記(2)處的“i”改為“i-1”)。
再如2016年4月第11、12題,2017年4月第11題,2017年4月第12題。這些試題首先需要運(yùn)用已學(xué)經(jīng)典算法的原理去理解新的程序,更要基于新的問(wèn)題去創(chuàng)造性地設(shè)計(jì)算法解決問(wèn)題。以2017年4月的第12題為例,試題要求考生運(yùn)用已學(xué)的選擇排序算法思想,完善改進(jìn)后的在兩端同時(shí)進(jìn)行選擇的排序程序。該題的主要內(nèi)容如下:
該題的考查特點(diǎn)有:
運(yùn)用內(nèi)化的選擇排序思想理解新的選擇排序算法
本題可以說(shuō)是考查選擇排序算法,但又不局限于考查教材中的選擇排序算法,而是需要運(yùn)用內(nèi)化的選擇排序中的“選擇”思想,去幫助理解改進(jìn)后的新排序算法。
根據(jù)新問(wèn)題特點(diǎn)去創(chuàng)造性地設(shè)計(jì)算法
改進(jìn)后的選擇排序算法帶來(lái)了新的問(wèn)題,即兩端同時(shí)進(jìn)行選擇時(shí)所帶來(lái)的數(shù)據(jù)交換的相互影響。為了解決這個(gè)新問(wèn)題,需要考生能根據(jù)問(wèn)題特點(diǎn)去完善算法(設(shè)計(jì)思維)。新問(wèn)題只有在左端點(diǎn)是最大值時(shí)產(chǎn)生,順藤摸瓜進(jìn)行分析,當(dāng)最小值被交換到左端點(diǎn)時(shí),最大值被交換到iMin所指位置,所以正確選項(xiàng)為A。
3、 開(kāi)放性試題注重解決問(wèn)題
為了考查學(xué)生設(shè)計(jì)算法解決問(wèn)題的能力,幾次選考都出現(xiàn)了開(kāi)放性試題。此類試題的特征是沒(méi)有經(jīng)典算法的影子,考生在分析程序時(shí)無(wú)法依據(jù)某個(gè)經(jīng)典算法的框架來(lái)幫助分析、設(shè)計(jì)算法,目的是考查學(xué)生分析問(wèn)題、創(chuàng)造性地設(shè)計(jì)算法解決問(wèn)題的能力。
這里的算法設(shè)計(jì)不是從零開(kāi)始的設(shè)計(jì),而是根據(jù)試題給出的任務(wù)和算法處理特點(diǎn),針對(duì)程序中的斷層(需要改錯(cuò)或者填空)設(shè)計(jì)算法。如,2015年10月的第17題空格②(核心代碼段如下)。
根據(jù)試題給出的數(shù)據(jù)加密方法以及自定義函數(shù)Code2Char()的功能,考生如能設(shè)計(jì)出“取出字符串s中第c+1個(gè)字符,并將該字符通過(guò)函數(shù)返回”的算法,就能運(yùn)用字符串函數(shù)寫出此處應(yīng)填的代碼“Mid(s,c+1,1)”。
怎么學(xué)
1、 領(lǐng)會(huì)程序設(shè)計(jì)本質(zhì),掌握關(guān)鍵知識(shí)
計(jì)算機(jī)進(jìn)行自動(dòng)化數(shù)據(jù)處理的本質(zhì)是對(duì)現(xiàn)實(shí)數(shù)據(jù)的規(guī)律性重復(fù)處理,因此程序設(shè)計(jì)的核心就是抽象數(shù)據(jù)重復(fù)處理的規(guī)律,并將規(guī)律通過(guò)程序加以體現(xiàn)。在這個(gè)過(guò)程中,規(guī)律性的重復(fù)處理往往用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn),而數(shù)據(jù)的規(guī)則化組織又通過(guò)數(shù)組來(lái)實(shí)現(xiàn)。因此,循環(huán)和數(shù)組就成為了程序設(shè)計(jì)中的關(guān)鍵知識(shí)。實(shí)際前幾次選考的16個(gè)有關(guān)程序設(shè)計(jì)的加試題中,全部都涉及了循環(huán)語(yǔ)句和數(shù)組應(yīng)用。為了真正掌握這些關(guān)鍵知識(shí),教學(xué)中可以通過(guò)變式應(yīng)用來(lái)加深對(duì)這些知識(shí)的理解和掌握,如原來(lái)用For語(yǔ)句實(shí)現(xiàn)的循環(huán)結(jié)構(gòu)可考慮用Do While語(yǔ)句來(lái)實(shí)現(xiàn),原來(lái)用多個(gè)數(shù)組實(shí)現(xiàn)的程序考慮用一個(gè)數(shù)組來(lái)實(shí)現(xiàn)等。
除了數(shù)值處理,計(jì)算機(jī)處理的非數(shù)值數(shù)據(jù)主要就是字符串,加試題也體現(xiàn)了這個(gè)特征(前幾次選考16個(gè)程序設(shè)計(jì)題中出現(xiàn)了3題)。為了熟練掌握字符串處理的關(guān)鍵知識(shí),平時(shí)教學(xué)中不能只停留在傳統(tǒng)的字符串表達(dá)式計(jì)算的層面,而要在各種字符串相關(guān)實(shí)際問(wèn)題的解決過(guò)程中深入掌握字符串處理技巧,養(yǎng)成字符串處理的意識(shí)和思維,否則就容易出現(xiàn)將“Mid(s,c+1,1)”寫成“s(c+1)”的錯(cuò)誤?梢越梃b的實(shí)際問(wèn)題可以是“字符文本排版”、“身份證號(hào)碼校驗(yàn)”等。作為一種發(fā)展性思考,教學(xué)中還應(yīng)關(guān)注基于字符編碼的字符串處理問(wèn)題的解決。
2、 培養(yǎng)程序設(shè)計(jì)思維
有些老師認(rèn)為信息技術(shù)考試是筆試,可以不必開(kāi)展上機(jī)實(shí)踐,只需加強(qiáng)筆試題訓(xùn)練即可。實(shí)際上,從前面試題特征的分析可知,即使是筆試題,加試題也已經(jīng)摒棄了原來(lái)“三項(xiàng)考試”中那種通過(guò)背代碼即可解題的風(fēng)格,而需要在一定的程序設(shè)計(jì)思維支持下才能正確地解題。特別地,為了考查考生的程序設(shè)計(jì)思維,加試題已經(jīng)在逐步加強(qiáng)“設(shè)計(jì)”的分量,而不再是純粹的單個(gè)語(yǔ)句的填空或改錯(cuò)。如2016年10月第11題,考生需要分析三個(gè)語(yǔ)句的組合順序,一定程度上還原了程序設(shè)計(jì)考查的原型。
程序設(shè)計(jì)思維是當(dāng)學(xué)生面臨一個(gè)真實(shí)的問(wèn)題時(shí),在分析問(wèn)題、設(shè)計(jì)算法與數(shù)據(jù)結(jié)構(gòu)、將算法用一種程序設(shè)計(jì)語(yǔ)言表示并進(jìn)行程序調(diào)試的過(guò)程中逐步形成的。這個(gè)過(guò)程往往是費(fèi)時(shí)、充滿挫折的,但正是在這樣一個(gè)不斷試錯(cuò)、反思、調(diào)整、感悟的思考辨析中,程序設(shè)計(jì)思維才能不斷形成。可能一節(jié)課學(xué)生只調(diào)試了一個(gè)程序,但其中隱含了基礎(chǔ)知識(shí)的回憶與應(yīng)用、算法的設(shè)計(jì)與修正、程序代碼的解析等過(guò)程,其意義與作用遠(yuǎn)遠(yuǎn)大于一節(jié)課連續(xù)講多個(gè)試題?梢詮默F(xiàn)實(shí)中不斷挖掘一些程序設(shè)計(jì)相關(guān)的素材,并通過(guò)實(shí)際編程來(lái)解決這些問(wèn)題,如超市貨物銷售統(tǒng)計(jì)、共享單車使用現(xiàn)狀統(tǒng)計(jì)等。
3、 針對(duì)問(wèn)題特點(diǎn),運(yùn)用分析策略和方法
針對(duì)筆試題形式出現(xiàn)的選考,還可提煉并運(yùn)用一些通用性的程序分析策略與方法,提高解題的正確性,如常識(shí)策略、黑匣子策略、對(duì)應(yīng)策略等。
常識(shí)策略
算法與程序設(shè)計(jì)中,總存在一些相對(duì)固定的程序?qū)崿F(xiàn)方法,總結(jié)并運(yùn)用這些方法來(lái)幫助程序設(shè)計(jì)和分析就是常識(shí)策略。如:在求和算法中,保存總和的變量一開(kāi)始總要初始化為零;在求最大值算法中,結(jié)果變量初始化值總為一個(gè)極小值或者第一項(xiàng)數(shù)據(jù)值;等等。2016年4月第16題就可運(yùn)用常識(shí)策略來(lái)求最大值。
黑匣子策略
黑匣子策略指的是當(dāng)對(duì)某一段程序無(wú)法完全理解時(shí)(該部分程序段可以看成黑匣子),可以先暫時(shí)放棄該模塊內(nèi)部如何處理的分析,而只需從已知算法的整體結(jié)構(gòu)出發(fā),分析出該模塊的功能(即知道該模塊在做什么),并根據(jù)該功能去幫助理解其他部分的程序代碼。這樣處理后,一方面可以暫時(shí)跳出這個(gè)瓶頸,不致影響對(duì)整個(gè)問(wèn)題的求解,另一方面,當(dāng)其他部分理解透徹后,反過(guò)來(lái)又可幫助我們對(duì)該模塊算法的理解。
如,在2015年10月第17題中,如果第一遍看程序?qū)τ谧远x函數(shù)Code2Char有點(diǎn)費(fèi)解,那么就不必糾結(jié),只需抓住該函數(shù)的功能是“將參數(shù)c中的整數(shù)轉(zhuǎn)換為加密后的字符”,然后利用對(duì)該功能的理解,進(jìn)一步分析出主程序中Code2Char(b1)和Code2Char(b2)分別在將1個(gè)字節(jié)的前4位和后4位二進(jìn)制數(shù)對(duì)應(yīng)的編碼轉(zhuǎn)換為加密字符。以此為突破口,就能逐步梳理出算法并解決問(wèn)題。
關(guān)鍵變量法
關(guān)鍵變量法指的是運(yùn)用逆向思維,首先確定程序輸出結(jié)果時(shí)的關(guān)鍵數(shù)據(jù),分析輸出結(jié)果由哪些變量決定,將這些變量作為關(guān)鍵變量,在分析程序時(shí)抓住這些關(guān)鍵變量,從關(guān)鍵變量值的變化規(guī)律去歸納程序的處理規(guī)律,進(jìn)而逐步梳理出算法并完成解題。
如,2016年10月選考的第11題,試題給出三行代碼(如下所示),要求確定這三行代碼的順序,使得程序(因篇幅有限,其余代碼略)能判斷s是否為對(duì)稱字符串。
在該程序中k是關(guān)鍵變量。結(jié)合最后輸出語(yǔ)句及第二行代碼,可知變量k在統(tǒng)計(jì)不同字符的個(gè)數(shù)。再結(jié)合程序中的其他代碼,可進(jìn)一步逆向推斷出變量c1和c2分別表示左右兩邊對(duì)稱位置上的字符。由此可逐漸分析出正確組合順序?yàn)棰邰冖佟?br />
對(duì)應(yīng)策略
對(duì)應(yīng)策略指的是如果已有程序的算法思想(可以是自己歸納得到,也可以是問(wèn)題中給出),那么可在程序中尋找算法各個(gè)處理步驟對(duì)應(yīng)的語(yǔ)句,然后根據(jù)算法要求分析程序中對(duì)應(yīng)部分的功能并寫出所需的代碼。
2016年4月選考的第17題雖然難度較大,但如果充分運(yùn)用對(duì)應(yīng)策略,還是能比較順利地解決問(wèn)題。該題部分代碼及題目中對(duì)應(yīng)的方法描述如下表所示。
按照題目中的方法描述,示例3情況處理時(shí)應(yīng)將a(pa+2)的值重復(fù)地賦予存放解壓縮數(shù)據(jù)的數(shù)組b,所以空格②處代碼應(yīng)為“b(pb+i-1)=a(pa+2)”。而對(duì)于空格①處的代碼設(shè)計(jì),既可對(duì)應(yīng)題目中的方法描述得到,也可通過(guò)示例3情況處理中的“pa=pa+3”對(duì)應(yīng)分析得到。
由此可見(jiàn),加試題重在基本原理理解及應(yīng)用、信息技術(shù)學(xué)科思維的考查,而盲目的題海戰(zhàn)術(shù)只能徒增師生負(fù)擔(dān)。信息技術(shù)教學(xué)應(yīng)順應(yīng)趨勢(shì),著眼學(xué)科核心素養(yǎng)、遵循實(shí)踐性和綜合性,引導(dǎo)學(xué)生在解決實(shí)際問(wèn)題的過(guò)程中逐步提升信息素養(yǎng)。
本文作者:吳建峰 高級(jí)教師
原文均刊載于《浙江考試》期刊2017年第10期