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

?

小議變式教學(xué)在信息技術(shù)算法與程序設(shè)計(jì)模塊的應(yīng)用

2018-03-16 09:31趙彩娟
課程教育研究 2018年3期
關(guān)鍵詞:最大公約數(shù)程序設(shè)計(jì)變式

趙彩娟

【中圖分類號(hào)】G633.67 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2018)03-0225-02

算法與程序設(shè)計(jì)之變式教學(xué)是指在教學(xué)過(guò)程中,教師根據(jù)學(xué)生的知識(shí)水平和教學(xué)內(nèi)容,精心設(shè)計(jì)一系列問(wèn)題或程序的變式,引導(dǎo)學(xué)生的思維逐步朝著預(yù)期的結(jié)果靠近,即要讓學(xué)生理解算法與程序設(shè)計(jì)模塊的知識(shí)內(nèi)容、算法思想、編程方法等,又能深刻地體會(huì)算法的思維模式,提高學(xué)生在實(shí)際生活中利用算法思想來(lái)解決實(shí)際問(wèn)題的能力,下面筆者是在實(shí)際課堂中探索變式教學(xué)的運(yùn)用。

一、“一題數(shù)變”,延伸拓展

在教學(xué)過(guò)程中,筆者經(jīng)常會(huì)發(fā)現(xiàn)一些相近的問(wèn)題或原題隔段時(shí)間再給學(xué)生解答,很多學(xué)生依然無(wú)從下手或者做錯(cuò),我們教師在說(shuō)學(xué)生上課不用心的同時(shí)也該反思我們自己的教學(xué),教學(xué)設(shè)計(jì)是否合理、教學(xué)過(guò)程是否學(xué)生都在參與,在講解例題時(shí),更要關(guān)注學(xué)生的思維參與度,反思該題是否能設(shè)計(jì)變式,通過(guò)變式訓(xùn)練幫助學(xué)生歸納總結(jié)出某一類題目最本質(zhì)的解法,讓學(xué)生達(dá)到舉一反三、觸類旁通的水平。

【案例1】《冒泡排序之變式探索》教學(xué)設(shè)計(jì)

變1:優(yōu)化的冒泡排序

Private Sub Command1_Click()

Dim tmp As Integer, i As Integer, j As Integer, k As Integer

For i = 1 To 9

k = 0

For j = 10 To i + 1 Step -1

If a(j) > a(j - 1) Then

tmp = a(j): a(j-1) = a(j): a(j) = tmp (1)

k = k + 1

End If

Next j

If k > 0 Then i = 10 (2)

Next i

For i = 1 To 10

List2.AddItem Str(a(i))

Next i

End Sub

Private Sub Form_Load()

Dim i As Integer

Randomize

For i = 1 To 10

a(i) = Int(Rnd()?鄢100)

List1.AddItem Str(a(i))

Next i

End Sub

變2:上述程序中的k也可以用一個(gè)邏輯變量來(lái)代替,代碼應(yīng)該怎么改呢?

變3:雙向冒泡,程序段如下,請(qǐng)根據(jù)題意把下列程序補(bǔ)充完整。

low=1:high=n

do while low < high

for i=low to high-1

if a(i)>a(+1) then

t=a(i):a(i)=a(i+1):a(i+1)=t

end if

next i

high = high - 1

for i=high to low+1 step -1

if a(i)

t=a(i):a(i)=a(i-1):a(i-1)=t

end if

next i

low = low + 1

loop

本次課是選考一輪復(fù)習(xí)課,復(fù)習(xí)課強(qiáng)調(diào)知識(shí)點(diǎn)掌握的同時(shí),舉一反三,通過(guò)這些冒泡排序變式的訓(xùn)練,同學(xué)們對(duì)冒泡排序有了各種不同的認(rèn)識(shí),拓展了他們的知識(shí)結(jié)構(gòu),同時(shí)更鞏固了冒泡排序中心思想內(nèi)容。“一題數(shù)變”,延伸拓展,培養(yǎng)了信息技術(shù)學(xué)科核心素養(yǎng)中總結(jié)利用計(jì)算機(jī)解決問(wèn)題,并遷移到與之相關(guān)的其他問(wèn)題解決中的能力。

二、“一題數(shù)解”,思維發(fā)散

“一題數(shù)解”指在算法與程序設(shè)計(jì)教學(xué)中對(duì)某一內(nèi)容設(shè)計(jì)變式,然后從不同角度、層次尋找不同的方法去解決這個(gè)問(wèn)題。此法可以讓不同水平的學(xué)生在課堂上充分發(fā)揮主觀能動(dòng)性,讓每一位學(xué)生參與課堂,共同合作,激發(fā)求知欲望和創(chuàng)造欲。

【案例2】《求兩數(shù)最大公約數(shù)專題》教學(xué)片段

師:今天我們要分析求兩數(shù)的最大公約數(shù)的算法與程序,請(qǐng)問(wèn)同學(xué)們,如果讓你求a,b兩數(shù)的最大公約數(shù),你會(huì)怎么求?

生思考

師:請(qǐng)問(wèn)你還能想出別的方法嗎?

生思考

師提問(wèn)

生1:比較兩個(gè)數(shù),把小的那個(gè)數(shù)找出來(lái),大數(shù)除以小數(shù),如果能整除,那個(gè)該小數(shù)就是最大公約數(shù),如果不能整除,那么小數(shù)依次往下找,如果該數(shù)既能被a整除又能被b整除,那么該數(shù)就是我們要找的最大公約數(shù)。(窮舉法)

生2:先求出a除以b的余數(shù),然后把b賦值給a,把余數(shù)賦值給b,再a除以b求余數(shù),直到余數(shù)為0,最后的b就是我們要找的最大公約數(shù)。(輾轉(zhuǎn)相除法)

師:兩種方法了,還有別的方法嗎?大家可以求助一下百度。

接著通過(guò)網(wǎng)絡(luò)的幫助,學(xué)生又找到了兩種算法:更相減損法和質(zhì)因數(shù)分解法。接下來(lái)就讓學(xué)生根據(jù)他們總結(jié)出的算法編寫(xiě)程序。

課堂在學(xué)生的思考和教師的引導(dǎo)下進(jìn)行,學(xué)生真正成為了本堂課的主人。“一題數(shù)解”,訓(xùn)練學(xué)生的發(fā)散思維,并強(qiáng)調(diào)課堂同學(xué)間的合作學(xué)習(xí),有意識(shí)的培養(yǎng)信息技術(shù)核心素養(yǎng)中“信息意識(shí)”之在合作解決問(wèn)題的過(guò)程中,與團(tuán)隊(duì)成員共享信息,實(shí)現(xiàn)信息最大價(jià)值的方面。

三、“數(shù)題歸一”,挖掘本質(zhì)

“多題歸一”是指在算法與程序設(shè)計(jì)模塊復(fù)習(xí)中,對(duì)于同一類型內(nèi)容不同題型的歸納分析,最后理解本質(zhì)知識(shí)內(nèi)容。多題歸一的訓(xùn)練是培養(yǎng)學(xué)生聚合性思維的重要途徑,讓課堂的每一個(gè)創(chuàng)造過(guò)程都成為發(fā)散思維和聚合思維的完美結(jié)合。很多題目,雖然內(nèi)容題型各異,但問(wèn)題的實(shí)質(zhì)相同,即算法相似,這類題目,若能對(duì)問(wèn)題歸類分析,抓住所反映的本質(zhì)特征,進(jìn)而掌握規(guī)律,觸類旁通,達(dá)到舉一反三、事半功倍的教學(xué)效果。

如在教學(xué)過(guò)程中,教師發(fā)現(xiàn)在好多的程序中都會(huì)運(yùn)用到整除和求余,故有了下面的一節(jié)課。

【案例3】《神奇的整除求余兄弟》教學(xué)設(shè)計(jì)

變1:以下程序段為十進(jìn)制轉(zhuǎn)八進(jìn)制,請(qǐng)學(xué)生填空:

Private Sub Command1_Click()

Dim y As Integer

Dim s As String

Dim r As Integer

y = Val(Text1.Text):s = ""

Do While y <> 0

(1)

s = Str(r) + s

(2)

Loop

Text2.Text = s

End Sub

答案:(1)r = y Mod 8, (2)y = y \ 8

變2:如果是十進(jìn)制轉(zhuǎn)化成二進(jìn)制或十六進(jìn)制,那么只要把8的位置改成2或16就可以了,即十進(jìn)制轉(zhuǎn)化成n進(jìn)制,上兩式8的位置改成n即可。

變3: (2015浙江學(xué)考模擬,3分)小明想編一個(gè)反轉(zhuǎn)數(shù)字游戲,要用鍵盤(pán)輸入一個(gè)正整數(shù),然后把該數(shù)的每位數(shù)字按逆序輸出。例如:輸入685,則輸出586,輸入100,則輸出001。為實(shí)現(xiàn)這一目標(biāo),請(qǐng)?jiān)诔绦騽澗€處填入的合適表達(dá)式或語(yǔ)句。

Private Sub Command1_Click()

Dim x As Integer

x=InputBox(“請(qǐng)輸入一個(gè)正整數(shù)”)

do While x>0

Print (1) ;

x= (2)

loop

End Sub

答案為(1)x mod 10,(2)x\10

本題通過(guò)求余整除得出每個(gè)數(shù)位上的數(shù)。

框線處通過(guò)求余整除得到該數(shù)位上的數(shù)和該數(shù)位有沒(méi)有超過(guò)10的結(jié)果放入到j(luò)iewei變量中。

本課通過(guò)三個(gè)完全不一樣的題目,卻需要完全一樣的答案的變式訓(xùn)練,不斷的強(qiáng)化學(xué)生對(duì)整除和求余這一知識(shí)的認(rèn)識(shí)和理解,引導(dǎo)學(xué)生從變的現(xiàn)象中發(fā)現(xiàn)不變的本質(zhì),從不變中探索規(guī)律,逐步培養(yǎng)學(xué)生靈活多變的思維品質(zhì),增強(qiáng)其應(yīng)變能力,不斷的完善學(xué)生做題經(jīng)驗(yàn),對(duì)學(xué)生應(yīng)付萬(wàn)變的高考試題有很大的幫助,也讓學(xué)生深刻體會(huì)“萬(wàn)變不離其宗”這句話的深刻含義。

四、易錯(cuò)易混,著眼細(xì)節(jié)

因?yàn)閷W(xué)生的知識(shí)背景、解題經(jīng)驗(yàn)、思維方式等都跟教師不同,他們?cè)诮忸}時(shí)有可能不能跟教師一樣考慮到位或思維產(chǎn)生偏差,這就會(huì)出現(xiàn)“解題誤區(qū)”,因此,教師在算法與程序設(shè)計(jì)模塊復(fù)習(xí)中若能在易錯(cuò)易混處進(jìn)行變式教學(xué),就能以誤治誤,加深理解,訓(xùn)練思維。

【案例4】在某一次的練習(xí)講解課教學(xué)片段

當(dāng)老師講解下面習(xí)題時(shí),課堂出現(xiàn)了爭(zhēng)論:

小明編寫(xiě)了一個(gè)數(shù)據(jù)插入程序。程序輸入一個(gè)數(shù)字,將該數(shù)字插入一列有序數(shù)據(jù):-5,3,4,12,20,45,70,并使數(shù)據(jù)序列保持有序。設(shè)計(jì)的算法是從前往后找位置插入。

Private Sub Command1_Click()

Dim a(1 To 8) As Integer

Dim n, i, j, x As Integer

list1.Clear

list2.Clear

a(1) = -5: a(2) = 3: a(3) = -4: a(4) = 12: a(5) = 20

a(6) = 45: a(7) = 70

For j = 1 To 7

list1.AddItem Str(a(j))

Next j

x = Val(text1.Text)

Do While x > a(i) And i < 8

i = i + 1

Loop

For j = 8 To i + 1 Step -1

________________

Next j

a(i) = x

For j = 1 To 8

list2.AddItem Str(a(j))

Next j

End Sub

正確答案是a(j)=a(j-1),但是部分同學(xué)卻認(rèn)為是a(j+1)=a(j)

師:請(qǐng)錯(cuò)誤的同學(xué)再仔細(xì)看看此處for語(yǔ)句的初值。

錯(cuò)誤的同學(xué)其實(shí)是懂這個(gè)算法的,但是具體程序細(xì)節(jié)沒(méi)有去探究,for語(yǔ)句的初始值是8,a數(shù)據(jù)在沒(méi)有插入數(shù)據(jù)之前只有7個(gè)元素,第8個(gè)元素是空的。

變1:如果要想答案為a(j+1)=a(j),程序該怎么改。

生1:把for語(yǔ)句改成For j = 7 To i + 1 Step -1

師:同學(xué)們?cè)诶斫庹麄€(gè)題目算法的基礎(chǔ)上,在填空時(shí)要特別注意循環(huán)的初始值和終值,自己寫(xiě)好的答案再用初值或終值去代入試試看,有沒(méi)有相差1的錯(cuò)誤。

縱觀真題卷和各類的模擬卷,在程序填空題上學(xué)生經(jīng)常出錯(cuò)在+1或-1上面,這樣的錯(cuò)誤很可惜,學(xué)生其實(shí)程序是懂的,只是在思維的嚴(yán)謹(jǐn)度上還欠缺些,趁著這次機(jī)會(huì),筆者通過(guò)3個(gè)變式來(lái)訓(xùn)練學(xué)生,實(shí)踐證明,這樣的變式對(duì)于學(xué)生后面做題的全面性和嚴(yán)謹(jǐn)性都有很大的幫助,把信息技術(shù)學(xué)科核心素養(yǎng)中的“計(jì)算思維”融入在平時(shí)的學(xué)習(xí)和生活的各個(gè)方面。

總之,在高三算法與程序設(shè)計(jì)的復(fù)習(xí)課堂上運(yùn)用變式教學(xué),學(xué)生能充分發(fā)揮主觀能動(dòng)性,調(diào)動(dòng)思維,學(xué)生在變式的訓(xùn)練中會(huì)慢慢的敢于思考,敢于聯(lián)想,培養(yǎng)他們的自主探究能力與創(chuàng)新精神,在無(wú)窮的變化中探索算法的精髓,形成自己的知識(shí)網(wǎng)絡(luò),最終科學(xué)合理的落實(shí)信息技術(shù)學(xué)科核心素養(yǎng)。

猜你喜歡
最大公約數(shù)程序設(shè)計(jì)變式
一道拓廣探索題的變式
聚焦正、余弦定理的變式在高考中的應(yīng)用
基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
課后習(xí)題的變式練習(xí)與拓展應(yīng)用
高職高專院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
問(wèn)題引路,變式拓展
PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
n個(gè)自然數(shù)的積與最小公倍數(shù)、最大公約數(shù)的關(guān)系