国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

初中生編程審題的常見問題及矯正策略

2018-11-30 22:05金志峰
初中生世界 2018年28期
關鍵詞:編程審題變量

■金志峰

我們在編程教學中,經(jīng)常會遇到各類問題,其中較為常見的是學生在解題過程中的審題問題。在教學中,通過查看學生提交上來的程序文件,筆者總會遺憾地發(fā)現(xiàn),學生不是沒弄明白題目的意思,就是不能挖掘出題目隱含的條件。只要筆者把題目要求再讀一讀或者稍作解釋,他們會馬上反應過來并能修改正確。為此,筆者根據(jù)自身實際教學經(jīng)驗,談一下初中學生編程審題的常見問題及教師教學針對性的矯正策略。

一、分清主次,耐心讀題,深入理解

盲目審題是學生解題的一大障礙,教學中教師的巧妙引導顯得尤為重要。審編程題首先是要理解題目中問題的描述部分,這其中含有這個題目的已知條件,解題的關鍵是將這些條件認真分析,加以整理,發(fā)現(xiàn)隱藏在其中的條件和規(guī)律,然后再選擇正確的算法和數(shù)據(jù)結構加以解題。

有時候,編程題不會像數(shù)學題那樣,直接將已知條件告訴你,再告訴你要求什么。出題者往往以故事開頭,這些故事可能對問題的解決毫無幫助。例如,“秘密會談”中一開始講述了世界為什么會毀滅,各國重要人士將云集北京進行秘密會談尋求解救策略……這些信息其實和解題基本無關,真正有用的信息是最后敘述的這些重要人士坐的地鐵出發(fā)時間和速度,求這些人什么時間能到達北京。很多學生被一開始所講的故事給迷惑了,都以為題目內容這么長,肯定很難做。

針對這種情況,筆者的策略是指導學生耐心讀題、深入理解。對于很長且一時半刻不能理解的題目,教師需告訴學生要有耐心和信心,學會心理暗示:這題就是題目有點長且不太好懂,看懂了就很簡單。我們關心的不是故事中說了什么,這些事是不是真有,而是要從故事中提取出有用的信息,知道真正要讓我們處理什么樣的數(shù)據(jù),要得到什么結果。這樣才有可能正確理解題意,從而深入解題。正是在筆者指導下用這種方法審題,多數(shù)學生很快就把上題做出來了。

二、重視變量,立足基礎,靈活應用

在做題時,忽視條件中的變量數(shù)據(jù)范圍是學生解題的又一大障礙。同一個題目,因變量的數(shù)據(jù)范圍不同可能會影響到定義的變量和解題方法。教師該如何幫助學生有效避免這類問題呢?以下,筆者列出了學生由于未注意數(shù)據(jù)范圍因素而可能會出現(xiàn)的問題及教師的輔導策略。

在Pascal中,每個變量具有一個特定的類型,它決定了變量的存儲器的大小和布局、范圍內的值可否存儲在該存儲器內。在實際審題過程中,學生往往會只注重解題方法,而忽視題目中變量的數(shù)據(jù)范圍。例如,“Oliver的成績”這道題目中的數(shù)據(jù)規(guī)模:

對于50%的數(shù)據(jù),0<N<1000,0<M<19。

對于100%的數(shù)據(jù),0<N<1000,0<M<30,且都為整數(shù)。

分析:M是Oliver的成績變量的位數(shù),一開始很多學生把M設置成longint類型,長整形變量最大范圍是10位數(shù),int64類型變量最大范圍是19位。題目規(guī)定50%的成績M是19位。所以,把M設置成長整型的學生測試成績是0分,把M設置成int64類型的學生測試成績是50分,只有用高精度方法做的學生才能得到100分。

針對這種情況,我們必須幫助學生打好自身基礎,牢記各變量類型特點。我們還要幫助學生養(yǎng)成仔細分析數(shù)據(jù)范圍的習慣。一般的試題都會告訴你數(shù)據(jù)范圍,如30%的數(shù)據(jù)在一個小的范圍,60%以內的數(shù)據(jù)在稍大的范圍,100%的數(shù)據(jù)是更大的范圍。首選目標是針對100%的數(shù)據(jù)范圍進行仔細分析研究,盡量要拿全分。假如學生確實只能解決小數(shù)據(jù)的,應放棄全對的期望,切不能因貪心而導致一分未得。

三、考慮時空限制,充分分析,巧妙應變

評價學生程序的重要指標就是題目中所給出的時間和空間數(shù)據(jù)。通常,在競賽中都有運行內存和測試點時間限制的數(shù)據(jù)說明。同一個題目如果數(shù)據(jù)限制差異大的話可能難度差異也很大。從某種意義上說,這些數(shù)據(jù)限制也暗示了可能的算法,數(shù)據(jù)小,也許是搜索派上用場的時候,數(shù)據(jù)大了,可能只能考慮動態(tài)規(guī)劃、數(shù)學方法等高效的算法了。

例如,“烏龜棋”一題大意是有M張爬行卡片,分成4種不同的類型,每種類型的卡片上分別標有1、2、3、4四個數(shù)字之一,表示使用這種卡片后,烏龜棋子將向前爬行的格子數(shù)。用不同的使用順序得分不同,求最多能得到的分數(shù)。(N≤350,M≤120,每張卡片不超過40)有學生定義了數(shù)組a:array[1..350,1..40,1..40,1..40,1..40]of longint。longint類型占用4個字節(jié),此數(shù)組占用空間為:350*40*40*40*40*4/1024/1024=3417.97M。一般題目不會提供這么大的空間,所以即使下面的程序寫得再好也會因爆空間而得0分。

分析:程序題目的說明部分會給出“運行內存上限”,常見的數(shù)據(jù)有128M、256M、512M。我們在寫程序時,數(shù)據(jù)一定不能超過這個內存上限。

爆空間相當于編譯不通過,測試直接零分。如何避免超內存上限呢?我們需要指導學生學會準確計算自己定義的數(shù)組占用空間值,可通過writeln(sizeof(數(shù)組名)div 1024 div 1024)表達式求出。若數(shù)組容量超空間,我們可以減小數(shù)組維數(shù)和個數(shù),并應用哈稀表、循環(huán)隊列等加以修正。我們還應讓學生明白:由于空間復雜度和時間復雜度在一定條件下可以相互轉化,所以,在時間要求允許的前提下可考慮利用多余的時間來減小空間的占用。

編程審題是學生解題過程中很重要的一個環(huán)節(jié),我們千萬不能忽視。學生不應在沒有完全理解題意的情況下上來就寫程序。江蘇省信息奧賽高級教練員林厚從老師對學生有這樣的要求:在信息奧賽解題過程中要把握好三個三分之一,即審題、編程、測試。每一題花在這三部分上的時間都要盡量平均,不要斬頭去尾。這是非常有道理的,沒有經(jīng)驗的學生幾乎會把所有時間都放在編程這一部分上,忽視審題和測試。因此,想要正確解題的第一步就是做好審題環(huán)節(jié)。

猜你喜歡
編程審題變量
精審題,明立意,讀懂童話
抓住不變量解題
元征X-431實測:奔馳發(fā)動機編程
編程小能手
紡織機上誕生的編程
幾何概型審題技巧
學編程,先畫畫
七分審題三分做
再三審題,由表及里
分離變量法:常見的通性通法
文安县| 华亭县| 绥芬河市| 辽源市| 类乌齐县| 邹平县| 西青区| 南昌县| 临湘市| 肇庆市| 安西县| 措美县| 富平县| 石渠县| 蕉岭县| 南漳县| 建瓯市| 余姚市| 嘉义市| 翁源县| 朝阳区| 岳阳市| 南开区| 鱼台县| 和平区| 沁阳市| 昌黎县| 嵊州市| 临邑县| 达州市| 张北县| 颍上县| 临朐县| 祁东县| 冷水江市| 越西县| 安化县| 宝应县| 元阳县| 延津县| 特克斯县|