全國

熱門城市 | 全國 北京 上海 廣東

華北地區(qū) | 北京 天津 河北 山西 內蒙古

東北地區(qū) | 遼寧 吉林 黑龍江

華東地區(qū) | 上海 江蘇 浙江 安徽 福建 江西 山東

華中地區(qū) | 河南 湖北 湖南

西南地區(qū) | 重慶 四川 貴州 云南 西藏

西北地區(qū) | 陜西 甘肅 青海 寧夏 新疆

華南地區(qū) | 廣東 廣西 海南

  • 微 信
    高考

    關注高考網公眾號

    (www_gaokao_com)
    了解更多高考資訊

首頁 > 高中頻道 > 信息學聯(lián)賽輔導 > 信息學競賽輔導中“擠”的藝術(3)

信息學競賽輔導中“擠”的藝術(3)

2009-11-12 22:11:49網絡

  好!大功告成,一路下來,經過多次修改程序,辛苦終于沒有白費,四組測試數據全部通過,40分滿分到手!大家不由自主地歡呼起來!

  這時,一個學生站起來揚手給出兩個測試數據:1351,13。于是一陣騷動后,眾將士一至認定,再改程序,把剛剛加上去的條件修改為:當兩個數的前若干位完全相同,而兩個數的位數又不同時,判斷位數大的那一個數(記位數大的數位數為X,位數小的數的位數為Y),如果它的左邊第Y+1位大于左邊第一位,則應排在另一數之前;如果它的左邊第Y+1位小于左邊第一位時,應該排在另一數之后。按此原則:1351,13的排列順序為:135113。這次,大家終于明白,出題者的測試數據如果加上這一組的話,那將有多少得滿分同學的:-)變成:-(。

  這時,大家都不說話了,是!修改程序到了現在,是不是……

  于是,我冷冷地在黑板上寫下兩個數字:323,32。于是,幾秒鐘后,大家臉色一變,再也沒了笑容……

  四、“擠”出本質,做出真正完美的程序

  拿到滿分竟然也不算全對,對于323,32這兩個數據,許多同學都傻了眼,這老師怎么什么都能“擠”出來!題目雖然算是做完了,卻還有一片可發(fā)展的空間。沒辦法,有老師逼著,當然得繼續(xù)想下去,只不過,原有的程序可能要大改啦!看看時機已到,于是我給出重新考慮的算法如下:

  同樣是排序,但排序原則是:對于任意兩個數相比,如果位數不同,則把位數短的一數添加最后一位,直到長度與位數長的數相同,然后判斷大數在前,小數再后即可。如:323、32,把32添加數“2”變?yōu)?22,于是323應該排在32之前。于是,大家把原先修改得體無完膚的程序再次進行大改,新程序反而變得非常短小。再把前面已經測試過的數據再測試一遍,結果全部通過,大家這次心里的石頭才落了地,紛紛要我給50分!

  我笑著搖了搖頭,看著這些被這個小題目“折磨得死去活來”的隊員們,真是不忍心再次“擠”給他們一盆冷水。于是我再次在黑板上寫下兩個數:322,32。

  這次,大家再也沒有任何話語,再次小改程序,排序時,當位數小的一數添加最后一位后,所得數與另一數相同,則原位數越短的應該排在前面。即:322、32的排列順序是:32322。

  終于可以休息一下了!看來小小的題目也可以擠出如此多的深刻內含,以后再也沒有學生敢小看小題目,輕視小題目了。于是,隊員們一起給出一組完全的測試數據,看看你的程序答案對嗎?

  輸入: 7

  323 325 321 32 3 35 322 13 1351

  輸出: 35332532332322321135113

  最后,給出程序排序部分條件描述如下:

  把數1、數2湊成長度相同的新數1、新數2(給位數短的數添加最后一位)

  IF 新數1小于新數2 THEN 交換數1數2位置 ELSE IF (新數1等于新數2) AND (數1長度>數2長度) 則交換數1數2位置

  就這樣,一個小小的題目“擠”出了一大堆問題。如果在競賽訓練中教練多抓住機會對隊員進行這種“擠”的訓練,相信隊員們會比在普通的訓練方法中得到更多經驗、思考方法,這對鍛煉學生分析透徹題目本質的能力是非常重要的,尤其是當前信息學奧賽試題向實際問題方面發(fā)展,試題的本質往往深藏在大量的文字說明之中,要分析透徹題目的真正本質再下手編寫程序并能一次成功是每個高層次選手必須具備的能力,而這種能力正是在平常訓練中逐步獲得的。

 

[標簽:藝術 學習方法 競賽 競賽聯(lián)賽]

分享:

高考院校庫(挑大學·選專業(yè),一步到位。

高考院校庫(挑大學·選專業(yè),一步到位。

高校分數線

專業(yè)分數線

  • 歡迎掃描二維碼
    關注高考網微信
    ID:gaokao_com

  • 👇掃描免費領
    近十年高考真題匯總
    備考、選科和專業(yè)解讀
    關注高考網官方服務號