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

以Turtle入手的程序設計教學案例設計與實踐

2021-09-09 08:20:22林衛中
現代計算機 2021年19期
關鍵詞:案例教學學生

林衛中

(景德鎮陶瓷大學信息工程學院,景德鎮 333000)

0 引言

結構化的計算機程序設計中最重要的思想是“自頂向下,逐步求精”,并且在這一過程中僅使用順序、選擇和循環三種程序結構,并使用模塊化的函數編程解決問題。分析往年學生在學習程序設計入門課程如《C語言程序設計》或《Java語言程序設計》中的困惑,我們發現學生開始學習時重心往往放到繁瑣的語法學習上,而對程序結構和函數的掌握比較困難。

Python語言是目前最接近自然語言的編程語言,它具有簡潔、高效和生態三個明顯的優勢[1]。它提供了豐富的圖形計算生態,借助Turtle庫可以簡單方便地實現圖形繪制,在Python教學中引入圖形繪制,可以達到增強學生學習興趣,培養學生現代計算思維的目的[2]。

1 目前計算機程序設計教學中存在的問題

目前,C語言程序設計和Java語言程序設計是絕大多數學校首選的計算機程序設計入門語言。對于初學程序設計的學生而言,C或Java語言入門比較困難,主要原因如下。

(1)入門語法繁瑣

C(或Java)語言是強類型語言,基礎語法要求復雜且嚴格,對變量的聲明和使用非常嚴格。另外它們的計算生態不如Python豐富,如輸入和輸出的處理,C語言中輸出函數printf細節太繁瑣,而Java中對輸入和輸出有太多的類之間的封裝也不是初學者容易理解的。這樣導致學生在初接觸程序設計時陷入繁瑣細節的學習,無暇深入對程序結構的理解和學習。

(2)教學案例呆板

在C(或Java)程序設計語言課程中大多使用求解數學類問題作為例題。很多學生對程序設計的興趣是來自于一些對程序的神秘和好玩,他們希望經過學習后能解決一些實際的問題,如繪制玫瑰花、網絡爬蟲等。教材中枯噪的問題求解使大部分學生迅速地喪失了學習興趣,使得他們對程序設計產生了理想和現實差距的困惑[2]。

2 Python教學改革實踐發展現狀

Python語言目前被廣泛使用,是面向對象的高級通用腳本編程語言,具有語法簡單,明晰易懂的特點。近年來在各高校開始逐漸普及開始。2017年北京理工大學舉辦了首屆全國高校Python語言與計算生態教學研討會,掀起了Python的教學和教研熱潮。

隨著以計算思維為切入點的“大學計算機課程改革項目”的開展,一些高校老師在計算思維視域嘗試引入Python程序設計課程。黃靜為非計算機專業學生開始了Python的計算機基礎課程,有助于提升非計算機專業學生應用計算機解決問題的能力與水平[3]。王亞萍開展了基于SPOC的翻轉課堂的Python程序設計課程,并構建了基于過程的動態綜合評價方式,為高校計算機程序設計教學提供了一種可參考的實踐摸索[4]。

隨著Python教學實踐的開展,一些各具特色的教學案例和課程教學改革也紛呈出現。嵩天設計了“海龜繪圖作品”和“人物出場統計”教學實踐方案,并展示了在北京理工大學開展教學實踐的部分學生作品[5]。張思楊引入項目案例,以成果導向為指導的教學模式側重培養學生學習興趣、解決問題能力和計算思維[6]。

以上教學改革或教學實踐的開展為我們提供了藍本,很有借鑒意義。

3 基于Turtle的程序設計教學案例

Turtle庫是Python語言最基礎的圖形繪制函數庫,它具有如下優點:首先,它的圖形繪制概念直觀易懂,模擬一只海龜爬行,將其爬行軌跡動態生成圖形進行輸出;其次,語法簡單,只要導入Turtle庫后,然后使用Turtle庫提供的函數表示海龜的運動軌跡即可;第三,它需要記憶的基本函數非常少且容易記住,常用的只需記住約10個的函數即可(見表1),而且函數的名字與海龜動作名稱的自然語言一致,易于記憶。

表1 Turtle庫常用函數

在繪圖時,只要計算好海龜的運動軌跡,無需繁瑣的語法,按運動軌跡調用對應的函數即可。

3.1 教學案例1:圖形繪制入門

我們設計一個簡單的教學案例:繪制一個四邊形,按簡單的計算思維,那就是繪制出4條邊,代碼如下:

import turtle as t

t.setup(400,400,20,20)

t.forward(25)

t.right(90)

t.forward(25)

t.right(90)

t.forward(25)

t.right(90)

t.forward(25)

t.right(90)

在本例中設置圖形窗口位于屏幕左上角(20,20),寬和高均為400像素,海龜先往前爬25個像素,然后順時針旋轉900,再前爬25個像素,如此重復4次直到海龜回到原來位置。圖形繪制的效果如圖1。

圖1 繪制4邊形

3.2 教學案例2:程序結構教學

程序設計結構是計算機程序設計語言教學中的重點和難點內容,結構化的程序設計僅使用3種基本結構:順序結構、選擇結構和循環結構。在Python圖形化的程序設計結構教學中,使用Turtle庫就可以跳過繁瑣的基礎語法知識,引導學生深入理解程序的三種結構。在解決具體圖形繪制問題時,學生只要計算出海龜的運動軌跡,再通過調用goto()、penup()、circle()和pendown()等函數就可以實現圖形的繪制,進一步,通過設置turtle的填充屬性如begin_fill()、pencolor()、end_fill()等函數就可以為繪制的圖形填充顏色。通過這些函數可以使繪制的圖形色澤鮮艷、生動,滿足學生的興趣,讓學生直觀理解三種程序結構[2]。

以案例1為例,分析代碼發現:第3行和第4行重復出現4次,在程序設計中,這樣重復的工作可以使用循環結構實現,改編后的代碼如下:

t.setup(400,400,20,20)

for i in range(4):

t.forward(25)

t.right(90)

代碼中的range(4)表示計數4次。通過這個案例可以簡單地把程序結構從順序結構過渡到循環結構。

3.3 教學案例3:函數教學

繪制一個如圖2的簡筆畫的魚。

圖2 簡筆畫魚

代碼如下所示:

import turtle as t

t.setup(600,500,10,10)

t.fillcolor("yellow")

t.begin_fill()

#畫魚身

t.goto(200,200)

t.goto(200,-200)

t.home()

t.up()

t.goto(200,0)

t.down()

#畫魚尾

t.goto(250,50)

t.goto(250,-50)

t.goto(200,0)

t.up()

t.goto(50,-10)

t.down()

#畫魚眼

t.circle(10)

t.end_fill()

t.done()

通過觀察結果圖和分析代碼發現,魚身和魚尾都是三角形,再比較對應的代碼8-14行和17-23行,進一步發現海龜的動作是一樣的,僅是一些具體的值不同,那么我們可以把一些相似的動作設計成一個函數模塊,把動作不同的值設計成函數的參數,所示的代碼可以改編為函數實現方式。

import turtle as t

def drawTriAngle(ax, ay, bx, by, px, py):

t.goto(ax,ay)

t.goto(ax,-ay)

t.goto(bx,by)

t.up()

t.goto(px,py)

t.down()

t.setup(600,500,10,10)

t.fillcolor("yellow")

t.begin_fill()

#畫魚身

drawTriAngle(200,200,0,0,200,0)

#畫魚尾

drawTriAngle(250,50,200,0,50,-10)

#畫魚眼

t.circle(10)

t.end_fill()

t.done()

通過本案例的教學,讓學生感受到模塊化的過程,理解函數的作用,整個程序設計過程沒有繁瑣的語法規則,重點在問題解的本身。

3.4 其他綜合設計案例

為提高學生興趣,并進行愛國主義教育,我們還設計了繪制國旗、機器貓、給老師獻花等案例。案例效果圖見圖5。這些教學案例通過數學計算得到海龜的運行軌跡,然后調用turtle庫函數實施繪制,語法簡單,案例生動活潑,貼近生活,極大地調動了學生的積極性,激發了學生的興趣,讓學生認識到編程是件很好玩的事。特別是在繪制國旗的教學過程中穿插介紹巴西里約熱內盧奧運會上懸掛的中國國旗出現每個小五角星水平對著大星的嚴重錯誤。通過這個故事告訴學生在計算位置坐標時,小五角星各有一個尖正對大星中心點,象征圍繞中國共產黨領導下的人民大團結,結合教學進行愛國主義教育,讓愛國主義教育不再空洞,而是落實在計算只中,效果反響良好。

圖3 綜合設計教學案例

4 結語

基于Turtle庫簡單的圖形繪制函數,我們在計算機程序設計教學中,一改以往純粹地解決數學問題作為編程例題和習題的做法,把圖形繪制引入到程序設計教學中,通過教學實踐設計了眾多的教學案例,這些教學案例不要求學生掌握負責的語言語法,把注意力放回問題本身。實踐表明,通過生動鮮明、貼合生活實際的教學案例可以極大激發學生學習編程的興趣,建立學習的信心,能更好地掌握計算機程序設計中的程序結構設計和函數的概念,程序設計能力有很大提升。

猜你喜歡
案例教學學生
案例4 奔跑吧,少年!
少先隊活動(2021年2期)2021-03-29 05:40:48
微課讓高中數學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
隨機變量分布及統計案例拔高卷
趕不走的學生
“自我診斷表”在高中數學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
發生在你我身邊的那些治超案例
中國公路(2017年7期)2017-07-24 13:56:38
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
學生寫話
學生寫的話
一個模擬案例引發的多重思考
中國衛生(2015年4期)2015-11-08 11:16:06
主站蜘蛛池模板: 国产成人亚洲毛片| 99久久无色码中文字幕| 中文国产成人精品久久一| 日韩在线影院| 久草青青在线视频| 免费午夜无码18禁无码影院| 色欲色欲久久综合网| 亚洲三级色| 午夜视频www| 91精品啪在线观看国产| 精品无码日韩国产不卡av | 久久国产精品影院| 国产免费福利网站| 最新亚洲人成网站在线观看| 99在线视频免费| 成人午夜亚洲影视在线观看| 国产理论精品| 欧美区一区二区三| 免费Aⅴ片在线观看蜜芽Tⅴ| 中文字幕欧美成人免费| 亚洲精品无码在线播放网站| 国产成人精品三级| 免费无码又爽又黄又刺激网站| 日韩午夜福利在线观看| 欧美亚洲激情| 操美女免费网站| 91无码人妻精品一区| 久久国产精品波多野结衣| 欧美日韩导航| 71pao成人国产永久免费视频 | 久久国产精品麻豆系列| 亚洲高清在线天堂精品| 国产SUV精品一区二区6| 国产男人天堂| 国产精品香蕉在线| 伊人久久大香线蕉综合影视| 国产农村妇女精品一二区| 不卡网亚洲无码| 97久久超碰极品视觉盛宴| 国产国语一级毛片在线视频| 无码中文字幕乱码免费2| 五月婷婷精品| 成人午夜视频网站| 日韩精品免费在线视频| 99在线免费播放| 亚洲无线国产观看| 中文字幕 日韩 欧美| 亚洲天堂网站在线| 一级毛片在线播放| 国产男女免费完整版视频| 波多野结衣中文字幕久久| 久无码久无码av无码| 久久久噜噜噜久久中文字幕色伊伊 | 精品福利视频网| 欧美在线一二区| 久久国产精品电影| 香蕉eeww99国产在线观看| 精品视频91| Jizz国产色系免费| 国产人人乐人人爱| 日日摸夜夜爽无码| 996免费视频国产在线播放| 亚洲av无码专区久久蜜芽| www中文字幕在线观看| 亚洲精品片911| 91精品久久久无码中文字幕vr| 国产毛片高清一级国语| 欧美国产视频| 欧美激情成人网| 真人免费一级毛片一区二区| 有专无码视频| 久久婷婷国产综合尤物精品| 四虎永久在线视频| 毛片在线播放a| 1024国产在线| 99尹人香蕉国产免费天天拍| 久久久国产精品免费视频| 人妻丝袜无码视频| 国产成人夜色91| 一级做a爰片久久毛片毛片| 囯产av无码片毛片一级| 六月婷婷激情综合|