濮陽莉
摘要:在信息技術(shù)考試復(fù)習(xí)階段,教師要把握重點(diǎn),制訂計(jì)劃,采取多種方法將知識融匯廣通。該文通過對循環(huán)結(jié)構(gòu)這一模塊的復(fù)習(xí),簡單談?wù)劯咧行畔⒓夹g(shù)學(xué)業(yè)水平測試的復(fù)習(xí)。
關(guān)鍵詞:信息技術(shù);復(fù)習(xí);一題多解
中圖分類號:G424 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)22-0123-02
1 概述
隨著新課改的不斷深化,高中信息技術(shù)課程已經(jīng)成為課程標(biāo)準(zhǔn)要求的必修課,全國各地信息技術(shù)學(xué)業(yè)水平測試是與高考直接掛鉤的。
高中信息技術(shù)學(xué)業(yè)水平測試的范圍包括必修模塊(《信息技術(shù)基礎(chǔ)》)和四個選修模塊(“多媒體技術(shù)運(yùn)用”“網(wǎng)絡(luò)技術(shù)運(yùn)用”“算法與程序設(shè)計(jì)”和“數(shù)據(jù)管理技術(shù)”)中必選且只選一個模塊作為考試內(nèi)容,相對其他科目范圍不是很大。然而,現(xiàn)在高中階段學(xué)生課業(yè)較重,信息技術(shù)課一般都是安排在高一、高二階段一周一節(jié)課或者兩節(jié)課,學(xué)生往往在學(xué)習(xí)新知識時,容易將之前的知識遺忘。因此,在信息技術(shù)考試復(fù)習(xí)階段,教師要把握重點(diǎn),制訂計(jì)劃,采取多種方法將知識融匯廣通。
下面以復(fù)習(xí)選修模塊《算法與程序設(shè)計(jì)》中的循環(huán)結(jié)構(gòu)為例,簡單談?wù)劯咧行畔⒓夹g(shù)學(xué)業(yè)水平測試的復(fù)習(xí)。
2 以“水仙花數(shù)”的一題多解為例
“一題多解”最多的用在數(shù)學(xué)和物理的學(xué)習(xí)上,它能復(fù)習(xí)鞏固多項(xiàng)基礎(chǔ)知識,能加深理解和加深記憶多條規(guī)律,熟練 多項(xiàng)解題技能,而且鍛煉了人的思維能力,有利于培養(yǎng)多角度、全方位地看問題的能力,使我們的頭腦更加靈活、聰明。在程序設(shè)計(jì)的復(fù)習(xí)中我們可以借助“一題多解”來幫助將學(xué)習(xí)過的知識做個串聯(lián)。
水仙花數(shù)對于絕大多數(shù)學(xué)習(xí)過程序設(shè)計(jì)的人來說應(yīng)該都不會陌生,作為一個經(jīng)典問題,編程求解的方法著實(shí)不少。下面我們就以三位“水仙花數(shù)”為例來用“一題多解”的方法復(fù)習(xí)VB循環(huán)的結(jié)構(gòu)。
循環(huán)結(jié)構(gòu)也稱重復(fù)結(jié)構(gòu),它的作用是使一段程序能重復(fù)執(zhí)行,被重復(fù)執(zhí)行的部分稱為循環(huán)體,但重復(fù)一般都是需要條件的,即在滿足條件的情況下執(zhí)行循環(huán)體,否則退出循環(huán)體。
VB循環(huán)結(jié)構(gòu)有兩種循環(huán)語句,即for/next循環(huán),Do/loop循環(huán)。
For-Next循環(huán)語句的格式
For <循環(huán)變量>=<初值> To <終值> step <步長>
<循環(huán)體>
Next <循環(huán)變量>
For語句功能:給循環(huán)變量賦初值,記錄下終值與步長值,判斷循環(huán)變量的值有無超過終值,沒有超過則執(zhí)行For與next語句之間的語句組(循環(huán)體),否則執(zhí)行Next的后繼語句;Next語句的功能:循環(huán)變量的值增加一個步長,判斷有無超過終值,沒有則執(zhí)行循環(huán)體,否則執(zhí)行Next的后繼語句。
題目:設(shè)計(jì)程序,找出所有水仙花數(shù)。(所謂水仙花數(shù),是指一個3位數(shù),其各位數(shù)字的立方和等于該數(shù)字本身。)
解法一:
程序設(shè)計(jì)思想:通過枚舉三位數(shù)的個位十位和百位來解決這個問題。設(shè)置三重循環(huán),每位數(shù)都是一個循環(huán),使百位數(shù)字從1至9,十位數(shù)字從0至9,個位數(shù)字從0至9,當(dāng)三個數(shù)字的3次方和等于這個三位數(shù)時,這個三位數(shù)就是水仙花數(shù)。
代碼如下:
Dim n as integer
For i =1 to 9
For j=0 to 9
For k=0 to 9
n=100*i+10*j+k
If n=i^3+j^3+k^3 then print n
Next k
Next j
Next i
運(yùn)用for/next循環(huán)循環(huán)語句的嵌套,這是學(xué)生最先想到的方法,也是最容易理解的方法。
解法二:
解法一雖然在理解上學(xué)生比較容易接受,但是除了在取值范圍上學(xué)生容易出現(xiàn)錯誤以外,由于他們對于程序結(jié)構(gòu)掌握得還不是很熟練所以在程序結(jié)構(gòu)上也會出現(xiàn)這樣那樣的問題,因此我們可以引導(dǎo)學(xué)生用解法二。
解法二程序設(shè)計(jì)思想:通過枚舉所有的三位數(shù)來找到所有的“水仙花數(shù)”。 我們必須從給定的三位數(shù)n=ijk中,分離出百位數(shù)字i,十位數(shù)字j,個位數(shù)字k。而分離i j k也有多種方法,我們可以用n整除100得到i,用(n-i*100)整除10得到j(luò),用n-i*100-j*10得到k?;蛘哂?00去除n,然后取整數(shù),就可得I,只要將n-100*i*j再用10去除,然后取整數(shù)部分,即可得十位數(shù)字j,要得個位數(shù)字,只要將n-(100i+10j)即可,然后計(jì)算i^3+j^3+k^3看它是否等于n,即可判定該數(shù)是否為水仙花數(shù).
代碼如下:
For n =100 to 999
i=n\100
j=(n-i*100)\10
k=n-i*100-j*10
If n=i^3+j^3+k^3 then print n
Next n
End sub
或者
Dim i as integer,j as integer ,k as integer
Dim n as integer
For n=100 To 999
i=int(n/100)
j=int((n-x*100)/10)
k=n-int(n/10)*10
If n=i^3+j^3+k^3 Then Print n
Next n
解法三:
以上兩種解法對于用枚舉法解決的問題我們都是用For—next循環(huán)語句,其實(shí)這個題我們也可以用循環(huán)語句的另一種語句Do—loop循環(huán)語句來完成。同樣我們需要從給定的三位數(shù)n=ijk中,分離出百位數(shù)字i,十位數(shù)字j,個位數(shù)字k,然后計(jì)算i^3+j^3+k^3看它是否等于n.即可判定該數(shù)是否為水仙花數(shù)。
For-Next循環(huán)的次數(shù)是確定的,如果只知道循環(huán)結(jié)束的條件,重復(fù)執(zhí)行的次數(shù)事先并不知道,這就要使用Do-loop循環(huán)。
Do While 條件
循環(huán)體
Loop
當(dāng)VB執(zhí)行Do While –loop循環(huán)時,先判斷指定的條件是否為真,若條件為真,執(zhí)行循環(huán)體,條件為假時退出循環(huán)體。
代碼如下:
Dim i as integer,j as integer ,k as integer
Dim n as integer
n=100
Do while n<=999
i=n\100
j=(n-i*100)\10
k=n-i*100-j*10
If n=i^3+j^3+k^3 then print n
n=n+1
Loop
以上就是以三位“水仙花數(shù)”為例來解決VB編程中的“一題多解”。 通過這三種解法,不僅讓學(xué)生對“水仙花”數(shù)這種類型的題目有了深入的了解,更讓學(xué)生對于循環(huán)結(jié)構(gòu)的基本語句以及他們之間的關(guān)系有了充分的認(rèn)識,對于這個知識點(diǎn)的復(fù)習(xí)效果就達(dá)到了高中學(xué)生學(xué)習(xí)程序設(shè)計(jì)并不是為了培養(yǎng)他們今后個個都成為程序員,而是培養(yǎng)他們對程序設(shè)計(jì)的興趣和意識,排除學(xué)生畏懼的學(xué)習(xí)情緒,為他們以后的學(xué)習(xí)打下一個基礎(chǔ)。在教學(xué)實(shí)踐中我感覺用這種方法來復(fù)習(xí)學(xué)生更加容易接受,教學(xué)效果事倍功半。
3 總結(jié)
1)“吃透基本概念,強(qiáng)化基本操作?!边@是我在幾年的實(shí)踐中總結(jié)出來的。在復(fù)習(xí)階段,吃透基本概念,是信息技術(shù)學(xué)科的關(guān)鍵,接下來就是動手操作。很多大的實(shí)踐題都是由基本操作組成的,越是復(fù)雜的題目其操作方法就越多,有些同學(xué)做不出來歸根結(jié)底是基本操作不熟練;信息技術(shù)學(xué)業(yè)水平測試的命題,注重考查高中信息技術(shù)的基礎(chǔ)知識和基本技能,重視聯(lián)系實(shí)際的應(yīng)用,促進(jìn)學(xué)生在知識與技能、過程與方法、感情態(tài)度與價值觀等方面的全面發(fā)展。
2)目前,信息技術(shù)學(xué)業(yè)水平測試只分合格和不合格兩個等級,考試的題目難度系數(shù)不大。目前,高中階段學(xué)生的負(fù)擔(dān)比較重,信息技術(shù)課時少,我們作為信息技術(shù)教師,要認(rèn)識到信息技術(shù)教學(xué)的重要性的同時,充分重視高中信息技術(shù)學(xué)業(yè)水平考試,掌握切實(shí)有效的方法和技巧,這樣才能讓我們面對血液水平測試時可以做到游刃有余。
3)高中階段實(shí)行信息技術(shù)學(xué)業(yè)水平測試,是時代的需要,也是我們整個社會在進(jìn)步的需求。與其他學(xué)科相比,信息技術(shù)缺少完善的教學(xué)經(jīng)驗(yàn),這就需要我們信息技術(shù)老師在教學(xué)過程在不斷地學(xué)習(xí),在實(shí)際的運(yùn)用中不斷的改進(jìn)教學(xué)方法,幫助學(xué)生順利通過考試。
參考文獻(xiàn):
[1] 算法與程序設(shè)計(jì)(選修)[M].教育科學(xué)出版社,2004.
[2] 算法與程序設(shè)計(jì)實(shí)踐指導(dǎo)[M].東南大學(xué)出版社,2009.
[3] 胡建.做好高中信息技術(shù)考試復(fù)習(xí)的方法[J].教師博覽,2014(7):60.
[4] 劉延明.我對高中信息技術(shù)學(xué)業(yè)水平考試的看法[J].信息技術(shù),2011(25):217.
[5] 湯輝.從信息技術(shù)考試反思高中信息技術(shù)教學(xué)[J].教學(xué)實(shí)踐,2014(6):79.