999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

剝開編程教學(xué)中“結(jié)構(gòu)”的堅(jiān)硬果殼

2023-01-30 05:11:56梁見斌浙江省余姚二中
中國信息技術(shù)教育 2023年1期
關(guān)鍵詞:程序結(jié)構(gòu)思維

梁見斌 浙江省余姚二中

曹偉 江蘇省鹽城市鹽都區(qū)龍岡小學(xué)

信息科技中的算法與程序設(shè)計(jì)教學(xué)越來越來重視計(jì)算思維,而計(jì)算思維的形成也要基于程序結(jié)構(gòu)進(jìn)行算法表達(dá),對(duì)順序、分支、循環(huán)三種基本程序結(jié)構(gòu)的學(xué)習(xí)是對(duì)算法認(rèn)知的基礎(chǔ)。那么,應(yīng)如何深度學(xué)習(xí)程序結(jié)構(gòu)也即影響算法思維形成深度呢?筆者認(rèn)為,教師需要在教學(xué)中盡最大可能去剝開這些“結(jié)構(gòu)”的堅(jiān)硬果殼,學(xué)生才能夠吃到里面的果肉,吸收其營養(yǎng),發(fā)展其思維。

● 對(duì)比分析:for循環(huán)和while循環(huán)是等效的嗎?

在相同程序結(jié)構(gòu)的不同代碼對(duì)比中,可以體會(huì)到循環(huán)中各種變量的變化,從而洞察循環(huán)的特征與意義。

1.案例:for循環(huán)和while循環(huán)對(duì)比

在講解算法的循環(huán)結(jié)構(gòu)時(shí),我常用的方法是先根據(jù)算法設(shè)計(jì)繪制出流程圖,然后把流程圖“翻譯”成源代碼。今天,舉的例子是最常見的計(jì)算累加值,如s=1+2+3+…+10。教師先繪制出流程圖(如上頁圖1)。

圖1

接下來,學(xué)生們自行選擇使用for循環(huán)語句或者while循環(huán)語句來實(shí)現(xiàn)程序功能。學(xué)生們都低頭寫代碼,我在巡視。突然,小A同學(xué)發(fā)問:“老師,這個(gè)流程圖描述的算法不嚴(yán)謹(jǐn)!”我一愣:“為什么?”小A:“因?yàn)樗鼪]有輸出。算法的特征之一是必須有一個(gè)或多個(gè)輸出,程序結(jié)束之前應(yīng)該輸出s的值。”我為他豎起了大拇指:“小A同學(xué)很認(rèn)真!程序中有兩個(gè)變量,大家索性在循環(huán)體外把它們的值都輸出來吧。”很快,大部分學(xué)生的代碼都寫好了,我請(qǐng)小A來展示他的代碼(如上頁圖2)。

圖2

小A驕傲地說:“老師,我是嚴(yán)格地按照流程圖編寫代碼。程序輸出結(jié)果為s=55,i=11。”我再次為小A豎起了大拇指:“不錯(cuò)!算法邏輯清晰,代碼簡明規(guī)范。還有別的不同做法嗎?”這時(shí)響起一個(gè)聲音:“我的結(jié)果怎么和他不一樣!”說話的是小B,“我用的是for循環(huán),算法邏輯和流程圖相同,但輸出結(jié)果中i的值為10(如圖3)。”

圖3

我順勢引導(dǎo):“算法邏輯確實(shí)是一樣的,為什么循環(huán)結(jié)束后變量i的值不同呢?”在Python中for循環(huán)的運(yùn)行機(jī)制確實(shí)與while循環(huán)不一樣,它的循環(huán)次數(shù)在一開始就確定了,即使中途修改循環(huán)變量的值,也不影響循環(huán)的次數(shù)。大家可以看看這段代碼(如圖4),猜猜程序輸出的結(jié)果是什么?

圖4

這段代碼會(huì)正常結(jié)束嗎?好像出現(xiàn)死循環(huán)了!事實(shí)上并沒有出現(xiàn)死循環(huán),程序輸出結(jié)果為:s=55,i=9。這說明什么問題?循環(huán)次數(shù)在一開始就確定了,與i的值無關(guān)。再看一個(gè)例子(如圖5),大家猜猜程序能否正常結(jié)束?若能正常結(jié)束,則程序輸出的結(jié)果是什么?

圖5

每執(zhí)行一次循環(huán)就把s的值插入到a的尾部,這樣列表a會(huì)越來越長,循環(huán)永遠(yuǎn)也不會(huì)結(jié)束了吧?但是,事實(shí)上也沒有出現(xiàn)死循環(huán),程序輸出結(jié)果為:s=55,i=9。聰明的你知道原因所在了嗎?循環(huán)結(jié)束后,a的值為多少呢?

2.反思與總結(jié)

不同的循環(huán)構(gòu)成的原理與使用的方式是不同的,在觀察中對(duì)比分析是一種很好的探索學(xué)習(xí)。while循環(huán)和for循環(huán)的運(yùn)行機(jī)制不一樣。while循環(huán)利用循環(huán)條件判斷是否執(zhí)行循環(huán)體,當(dāng)循環(huán)條件為假時(shí)循環(huán)結(jié)束;而for循環(huán)是使用迭代器協(xié)議訪問對(duì)象,循環(huán)結(jié)束時(shí)i指向序列最后一個(gè)元素。平時(shí),可能并不一定遇見或發(fā)現(xiàn)一些奇怪的問題,因此制造問題也是重要的策略之一,如流程圖缺少了輸出語句,是讓學(xué)生學(xué)會(huì)分析問題的一個(gè)契機(jī)。在調(diào)試程序4時(shí),也會(huì)發(fā)現(xiàn)len的計(jì)算值已然容易理解。如果不是len(),直接用a呢?這屬于迭代探索,不妨運(yùn)行觀察,會(huì)有更大困惑。教學(xué)雖不宜繼續(xù)挖掘,但的確也很有意思,能夠啟發(fā)探索。

● 思辨:循環(huán)嵌套的迭代效應(yīng)

循環(huán)語句的嵌套很多學(xué)生都似懂非懂,不得要領(lǐng)。在一次課堂的意外發(fā)現(xiàn)中,讓循環(huán)嵌套有了更好的詮釋,原來循環(huán)嵌套與迭代思維還存在著很大的關(guān)聯(lián)效應(yīng)。

1.案例

(1)觀察循環(huán)次數(shù)與旋轉(zhuǎn)角度的關(guān)系。在講授Python程序設(shè)計(jì)turtle畫圖模塊時(shí),我讓學(xué)生用for循環(huán)語句繪畫常見的幾何圖形,學(xué)生很快就繪畫出各種常見的幾何圖形,有長方形、正方形、正六邊形等(如下頁圖6)。而原本,只是想讓學(xué)生探究出重復(fù)執(zhí)行的次數(shù)和旋轉(zhuǎn)角度之間的關(guān)系,即兩者相乘的積為360。

圖6

(2)從循環(huán)次數(shù)擴(kuò)增到循環(huán)嵌套的迭代。在課堂巡視的過程中,我有了意外的發(fā)現(xiàn),有個(gè)別調(diào)皮的學(xué)生將循環(huán)計(jì)數(shù)次數(shù)改得比較大,如50,100等,同樣也畫出了圓形(如圖7)。

圖7

看到這,我心生一計(jì),何不以此讓學(xué)生探究循環(huán)語句的嵌套?這是非常好的課堂教學(xué)機(jī)智,何樂而不為呢?于是,我讓學(xué)生在剛才繪畫的圖形中選擇一種圖形,將腳本代碼進(jìn)行一次復(fù)制并修改,看看會(huì)產(chǎn)生什么樣的新圖形(如圖8)。

圖8

我正準(zhǔn)備用軟件選擇一個(gè)學(xué)生的作品進(jìn)行針對(duì)性講解與評(píng)價(jià),但無意中選擇了平時(shí)特別調(diào)皮的一位學(xué)生,心想他肯定不會(huì)做,正準(zhǔn)備重新選擇,可選擇的電腦界面引起了我的注意,于是我立馬放大了界面進(jìn)行廣播:“同學(xué)們,這個(gè)圖案是不是特別美(如圖9),像極了一個(gè)圓形。告訴老師,這是誰畫的?”

圖9

“老師,是張小明。”我接著問道:“哪位同學(xué)來解釋一下這個(gè)程序(如圖10)?最里面的循環(huán)語句結(jié)構(gòu)是一個(gè)正方形的程序,而外面循環(huán)語句結(jié)構(gòu)是控制正方形旋轉(zhuǎn)的程序。那外部循環(huán)的次數(shù)多少才合適呢?你能用一句話描述什么是循環(huán)嵌套嗎?”學(xué)生回答:“周而復(fù)始就是循環(huán)中的循環(huán),也就是將多個(gè)循環(huán)語句嵌套在一起使用。”

圖10

我接著說道:“同學(xué)們,看看這個(gè)圖形(如圖11),你能看出這個(gè)圖形的基礎(chǔ)圖形是什么嗎?又是如何控制這個(gè)圖形的旋轉(zhuǎn)來繪畫出這個(gè)組合圖形的呢?”“老師,我發(fā)現(xiàn)基礎(chǔ)圖形是一個(gè)小正方形,是用兩個(gè)計(jì)數(shù)循環(huán)語句來控制的,是通過旋轉(zhuǎn)小正方形形成的新圖形。”有的學(xué)生發(fā)現(xiàn)了秘密。為了讓學(xué)生能夠更好地理解兩層循環(huán)的嵌套,我讓學(xué)生修改外層循環(huán)的計(jì)數(shù)參數(shù),試試會(huì)產(chǎn)生哪些漂亮的圖案。

圖11

(3)多層循環(huán)嵌套產(chǎn)生循環(huán)嵌套迭代效應(yīng)。在課堂巡視的過程中,我發(fā)現(xiàn)有學(xué)生將剛才的循環(huán)語句多復(fù)制了一次,出現(xiàn)了三個(gè)循環(huán)語句嵌套在一起的現(xiàn)象(如圖12),產(chǎn)生了如圖13所示的圖案。有了內(nèi)循環(huán)產(chǎn)生基礎(chǔ)圖形,二層循環(huán)控制基礎(chǔ)圖形的旋轉(zhuǎn)的基本概念模型,我于是趁熱打鐵,借著這位學(xué)生的圖案,讓學(xué)生來研究三層循環(huán)嵌套中最外層循環(huán)的作用又是什么。

圖12

圖13

在學(xué)生自主探究三層循環(huán)過程中,有學(xué)生將最外層計(jì)數(shù)循環(huán)參數(shù)改得較大,發(fā)現(xiàn)產(chǎn)生了各式各樣的圖形圖案。為了更方便觀察循環(huán)的過程,我讓學(xué)生降低海龜畫圖的速度,仔細(xì)觀察發(fā)現(xiàn),原來循環(huán)是一個(gè)整體,可以將每個(gè)循環(huán)部分分開來看,只需要把握每一個(gè)循環(huán)部分的功能就可以很好地理解循環(huán)嵌套。

2.反思與總結(jié)

借助學(xué)生課堂的教學(xué)生成,有利于因勢利導(dǎo)組織探究活動(dòng)。將循環(huán)嵌套與迭代思維相結(jié)合的方式,能幫助學(xué)生理解什么是循環(huán)嵌套,從兩層循環(huán)到三層循環(huán)的過渡恰到好處。這樣的教學(xué)體驗(yàn)與探究過程可以有效幫助學(xué)生理解循環(huán)嵌套語句,初步認(rèn)知迭代思維,從逆向思維的視角來看,學(xué)生經(jīng)歷了抽象、建模、表征等過程,這些過程是發(fā)展學(xué)生計(jì)算思維的重要方法。

猜你喜歡
程序結(jié)構(gòu)思維
思維跳跳糖
思維跳跳糖
思維跳跳糖
思維跳跳糖
《形而上學(xué)》△卷的結(jié)構(gòu)和位置
論結(jié)構(gòu)
中華詩詞(2019年7期)2019-11-25 01:43:04
試論我國未決羈押程序的立法完善
“程序猿”的生活什么樣
英國與歐盟正式啟動(dòng)“離婚”程序程序
論《日出》的結(jié)構(gòu)
主站蜘蛛池模板: 国产麻豆精品久久一二三| 国产一区二区色淫影院| 亚洲中文字幕无码mv| 欧美日韩第二页| 在线精品视频成人网| 国产欧美网站| 亚洲清纯自偷自拍另类专区| 欧美成人午夜视频| 国产a网站| 午夜精品久久久久久久无码软件| 精品亚洲欧美中文字幕在线看| 亚洲第一黄色网| 亚洲精品无码久久毛片波多野吉| 久久精品一品道久久精品| 99久久精品国产精品亚洲 | 国产成人三级| 国产又大又粗又猛又爽的视频| 亚洲欧美日韩精品专区| 国产精品护士| 国产精品成人观看视频国产| 国产在线自乱拍播放| 久久久久久久久久国产精品| 四虎成人在线视频| 天天干天天色综合网| 91无码人妻精品一区二区蜜桃| 原味小视频在线www国产| 成人va亚洲va欧美天堂| 久久不卡国产精品无码| 欧美一级高清片欧美国产欧美| 国产精品开放后亚洲| 亚洲欧美自拍一区| 四虎永久免费地址| 亚洲—日韩aV在线| 久久久久国产一级毛片高清板| 亚洲欧美另类色图| 亚洲天堂.com| 国产JIZzJIzz视频全部免费| 色爽网免费视频| 干中文字幕| 国产精品亚洲一区二区三区z| 国产成人综合日韩精品无码首页| a级毛片视频免费观看| 亚洲视频四区| 99视频精品全国免费品| 99人体免费视频| 欧美亚洲日韩中文| 亚洲欧洲日韩综合色天使| 日本高清免费不卡视频| 欧美中文字幕一区| 国产福利小视频在线播放观看| 免费在线国产一区二区三区精品| 国产原创第一页在线观看| 日韩欧美中文亚洲高清在线| 亚洲精品第五页| 成人av手机在线观看| 亚洲手机在线| 99视频有精品视频免费观看| 91九色视频网| 中文字幕永久视频| 亚洲高清在线播放| 欧美在线导航| 国语少妇高潮| h视频在线播放| 九月婷婷亚洲综合在线| 国产高潮视频在线观看| 成人福利在线视频免费观看| 欧美性猛交一区二区三区| 精品国产成人国产在线| 天天干伊人| 99久久成人国产精品免费| 91人妻日韩人妻无码专区精品| 91精品国产一区自在线拍| 精品久久久久成人码免费动漫| 国产日韩精品欧美一区喷| 亚洲精品无码成人片在线观看| 黄色污网站在线观看| 亚洲人成亚洲精品| 久久午夜影院| 亚洲,国产,日韩,综合一区 | 中文字幕乱码二三区免费| 重口调教一区二区视频| 一级毛片基地|