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

基于圖形動(dòng)畫(huà)案例的Python課程教學(xué)方法探索與實(shí)踐

2022-01-01 00:00:00宋雅娟尚鮮連
中國(guó)教育技術(shù)裝備 2022年2期
關(guān)鍵詞:自主學(xué)習(xí)

摘 "要 "Python語(yǔ)言已經(jīng)成為繼Java、C++之后的第三大編程語(yǔ)言。為充分發(fā)揮Python易學(xué)易用、開(kāi)源庫(kù)豐富的特性,結(jié)合學(xué)生對(duì)圖形、動(dòng)畫(huà)、游戲的興趣,利用Tur-tle庫(kù)強(qiáng)大的圖形、事件處理功能,設(shè)計(jì)一個(gè)涵蓋Python

相關(guān)知識(shí)點(diǎn)的圖形動(dòng)畫(huà)綜合案例,并根據(jù)Python的知識(shí)點(diǎn)內(nèi)容將案例分解,貫穿于各部分內(nèi)容教學(xué)中,讓學(xué)生能夠在學(xué)習(xí)知識(shí)點(diǎn)的過(guò)程中不斷用新知識(shí)擴(kuò)展此案例。在整個(gè)過(guò)程中,學(xué)生可以掌握綜合案例的實(shí)現(xiàn)方法,并且可以充分展開(kāi)自己的創(chuàng)意,主動(dòng)學(xué)習(xí)Turtle庫(kù)的其他函數(shù),設(shè)計(jì)具備自己特色的案例。如此可以提高程序語(yǔ)言教學(xué)質(zhì)量,并為學(xué)生的主動(dòng)學(xué)習(xí)、自主學(xué)習(xí)探索一條合適的道路。

關(guān)鍵詞 "Python;Turtle庫(kù);程序語(yǔ)言教學(xué);自主學(xué)習(xí);圖形動(dòng)畫(huà)案例

中圖分類(lèi)號(hào):G712 " "文獻(xiàn)標(biāo)識(shí)碼:B

文章編號(hào):1671-489X(2022)02-0098-04

Exploration and Practice of Python Teaching Method

Based on Graphic Animation Case//SONG Yajuan, SHANG

Xianlian

Abstract "Python has become the third largest programming language after Java and C++. It is easy and simple to use Py-thon and there is plenty of open source libraries in it. In order to give full use of those characteristics of Python, combined with students’ interest in graphics, animation and games, we designed a comprehensive case of graphics and animation

covering Python related knowledge based on the turtle library.

Then the case is decomposed to parts through the teaching process. The case can be enlarged with knowledge during the

teaching process. Students can grasp the method to implement

a comprehensive case and use it to design and program their

own creative works. They can fully develop their own creati-vity and learn Turtle library more actively. We try to improve the quality of programming language teaching, and explore a suitable path for students’ active and autonomous learning.

Key words "Python; Turtle library; programming language teaching; autonomous learning; graphic animation case

0 "引言

Python是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,已經(jīng)成為繼Java、C++之后的第三大語(yǔ)言。2017年,Python被列入全國(guó)計(jì)算機(jī)等級(jí)考試,山東省小學(xué)課程加入Python,浙江省、北京市、山東省已把Python納入信息技術(shù)課程和高考的內(nèi)容體系。Python語(yǔ)言易學(xué)易用,具備豐富的開(kāi)源庫(kù)[1]。如果只是采用傳統(tǒng)的程序語(yǔ)言教學(xué)方式,如語(yǔ)法基礎(chǔ)知識(shí)講解配合相關(guān)數(shù)學(xué)小問(wèn)題的實(shí)例,則無(wú)法充分發(fā)揮Python語(yǔ)言的特性,也無(wú)法激發(fā)學(xué)生學(xué)習(xí)的興趣。圖形動(dòng)畫(huà)形式的案例生動(dòng)有趣,容易讓學(xué)生產(chǎn)生共鳴,很多程序語(yǔ)言教學(xué)已經(jīng)引入圖形動(dòng)畫(huà)案例[2-4]。目前,隨著翻轉(zhuǎn)課堂教學(xué)模式的推廣,線(xiàn)上線(xiàn)下混合教學(xué)模式被充分應(yīng)用[5]。

充分利用Python中Turtle庫(kù)強(qiáng)大的圖形功能,設(shè)計(jì)一個(gè)涵蓋Python相關(guān)知識(shí)點(diǎn)的圖形動(dòng)畫(huà)綜合案例用作線(xiàn)上教學(xué)資源及線(xiàn)下教學(xué)案例。在教學(xué)過(guò)程中,將此案例分解成各部分知識(shí)點(diǎn),隨著教學(xué)內(nèi)容不斷擴(kuò)充案例,引導(dǎo)學(xué)生進(jìn)行復(fù)雜圖形的繪制、動(dòng)畫(huà)程序的開(kāi)發(fā)及鍵盤(pán)、鼠標(biāo)等用戶(hù)交互方式的內(nèi)容學(xué)習(xí),在此過(guò)程中激發(fā)學(xué)生的創(chuàng)新意識(shí),自主學(xué)習(xí)Turtle庫(kù),開(kāi)發(fā)自己喜歡的圖形、動(dòng)畫(huà)、小游戲。在進(jìn)行綜合案例從簡(jiǎn)入難、精益求精的學(xué)習(xí)開(kāi)發(fā)過(guò)程中,激起學(xué)生用程序語(yǔ)言來(lái)充分表達(dá)創(chuàng)意、想法的主動(dòng)性,從而提高程序語(yǔ)言的教學(xué)質(zhì)量,并為學(xué)生的主動(dòng)學(xué)習(xí)、自主學(xué)習(xí)探索一條合適的道路。

1 "基于Turtle庫(kù)的圖形動(dòng)畫(huà)案例

本文使用的圖形動(dòng)畫(huà)案例以Turtle繪制出來(lái)的中國(guó)結(jié)為基本點(diǎn),在畫(huà)布上形成若干個(gè)不同尺寸、不同坐標(biāo)的中國(guó)結(jié),并以一定速度、一定方向進(jìn)行運(yùn)動(dòng),運(yùn)動(dòng)到一定位置后停止下來(lái)。動(dòng)畫(huà)過(guò)程如圖1所示。

案例中每個(gè)中國(guó)結(jié)的繪制涉及問(wèn)題分解、函數(shù)調(diào)用、坐標(biāo)計(jì)算、順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、函數(shù)定義等知識(shí)。當(dāng)擴(kuò)展到四個(gè)中國(guó)結(jié)時(shí),需要使用列表、元組等數(shù)據(jù)結(jié)構(gòu)。在運(yùn)動(dòng)的過(guò)程中需要使用選擇結(jié)構(gòu)進(jìn)行位置判斷。當(dāng)敲擊鍵盤(pán)相應(yīng)字符時(shí),長(zhǎng)凳會(huì)左右上下移動(dòng),這里需要用到鍵盤(pán)事件處理,相當(dāng)于小游戲中的交互運(yùn)作。

2 "基于動(dòng)畫(huà)案例的課堂教學(xué)過(guò)程展開(kāi)

Python的教學(xué)主要圍繞順序、選擇、循環(huán)三種基本控制結(jié)構(gòu),元組、列表、字典等數(shù)據(jù)結(jié)構(gòu),基于函數(shù)的模塊化設(shè)計(jì)方法等相關(guān)知識(shí)展開(kāi)。在教學(xué)過(guò)程中,將圖1中的案例進(jìn)行分解,穿插到各個(gè)模塊進(jìn)行,并在各個(gè)模塊中提供相應(yīng)的其他圖形案例,可以激發(fā)學(xué)生更多的創(chuàng)意。

2.1 "應(yīng)用順序結(jié)構(gòu)完成案例

順序結(jié)構(gòu)部分主要學(xué)習(xí)賦值語(yǔ)句、函數(shù)調(diào)用語(yǔ)句、輸出語(yǔ)句。教學(xué)中以Turtle庫(kù)的函數(shù)為主線(xiàn),調(diào)用中國(guó)結(jié)繪制中涉及的畫(huà)直線(xiàn)、畫(huà)圓、畫(huà)圓弧等函數(shù),完成中國(guó)結(jié)主要元素的繪制。推薦網(wǎng)上Turtle

庫(kù)函數(shù)幫助文件,并提供自行設(shè)計(jì)實(shí)現(xiàn)的Turtle庫(kù)函數(shù)chm幫助文件供學(xué)生自主學(xué)習(xí)。在完成中國(guó)結(jié)的主要元素繪制后,鼓勵(lì)學(xué)生自己學(xué)習(xí)Turtle庫(kù)函數(shù)進(jìn)行圖形設(shè)計(jì)。此部分完成的教學(xué)案例如圖2所示,將一個(gè)中國(guó)結(jié)中吊環(huán)、上下方的繩子、結(jié)中心的兩條線(xiàn)、結(jié)心邊緣的拱形、結(jié)心右側(cè)的大圓弧等基本元素繪制出來(lái)。其他部分為這些元素的重復(fù)繪制。通過(guò)這個(gè)部分的學(xué)習(xí),學(xué)生可以掌握通過(guò)函數(shù)調(diào)用的順序結(jié)構(gòu)完成一個(gè)復(fù)雜圖形。課堂作業(yè)布置學(xué)生繼續(xù)使用順序結(jié)構(gòu)完善整個(gè)中國(guó)結(jié)的繪制,為后續(xù)循環(huán)結(jié)構(gòu)與選擇結(jié)構(gòu)的引入留下思考空間。課后作業(yè)布置學(xué)生分組設(shè)計(jì)圖形,并應(yīng)用Turtle

函數(shù)加以實(shí)現(xiàn)。

2.2 "應(yīng)用循環(huán)結(jié)構(gòu)與分支結(jié)構(gòu)擴(kuò)展案例

經(jīng)過(guò)順序結(jié)構(gòu)課堂作業(yè)及課后作業(yè)的實(shí)踐,學(xué)生會(huì)注意到自己的程序中涉及很多重復(fù)的代碼,這時(shí)可導(dǎo)入循環(huán)結(jié)構(gòu)進(jìn)行改進(jìn)。對(duì)于結(jié)心左右側(cè)的大圓弧,可以使用選擇結(jié)構(gòu)進(jìn)行不同要求的繪制。在這個(gè)過(guò)程中,首先介紹Python中的關(guān)系運(yùn)算與邏輯運(yùn)算,然后展開(kāi)分支結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的學(xué)習(xí),之后應(yīng)用循環(huán)結(jié)構(gòu)與選擇結(jié)構(gòu)改造代碼,將重復(fù)的代碼使用循環(huán)結(jié)構(gòu)進(jìn)行精簡(jiǎn),讓學(xué)生感受到循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)的魅力。使用循環(huán)結(jié)構(gòu)修改結(jié)心后的效果如圖3所示,鼓勵(lì)學(xué)生繼續(xù)對(duì)其他部分應(yīng)用循環(huán)結(jié)構(gòu)修改,從而完成圖4所示的中國(guó)結(jié)效果。

中國(guó)結(jié)兩邊的圓環(huán)有四個(gè),位置不同、大小不同,不能直接應(yīng)用循環(huán)結(jié)構(gòu),需要增加選擇結(jié)構(gòu)對(duì)位置、大小、方向進(jìn)行設(shè)置后使用循環(huán)完成。通過(guò)這一步的操作,可以使學(xué)生掌握選擇結(jié)構(gòu)的實(shí)際用法。加入選擇結(jié)構(gòu)后繪制的單個(gè)完整中國(guó)結(jié)效果如圖5所示。

2.3 "應(yīng)用函數(shù)完善案例

使用上述方法完成一個(gè)中國(guó)結(jié)的繪制,如果這個(gè)中國(guó)結(jié)需要在不同的位置被繪制,就需要拷貝粘貼代碼,程序的可維護(hù)性將變差。可以先按目標(biāo)進(jìn)行代碼的復(fù)制粘貼,讓學(xué)生直觀(guān)體會(huì)這種方式代碼冗余、可讀性變差的狀態(tài),然后引入基于函數(shù)的模塊化設(shè)計(jì)方法。將中國(guó)結(jié)分成結(jié)心、邊緣、頂環(huán)、穗子等幾部分,將這幾部分的代碼分別封裝成函數(shù)。同時(shí),為了后續(xù)動(dòng)畫(huà)時(shí)對(duì)中國(guó)結(jié)的移動(dòng),設(shè)置結(jié)心開(kāi)始繪制的位置坐標(biāo)為(x,y),結(jié)心每一個(gè)線(xiàn)的長(zhǎng)度設(shè)為size,將每一部分都使用的相對(duì)于這個(gè)坐標(biāo)與大小的表達(dá)式進(jìn)行修改。每一個(gè)函數(shù)都需要的形式參數(shù)即為這三項(xiàng)信息。之后調(diào)用四次,給出不同的實(shí)參,讓學(xué)生感受函數(shù)的可重用性及整個(gè)代碼的可讀性。這部分只涉及代碼的改造,運(yùn)行結(jié)構(gòu)與圖5相同。

2.4 "應(yīng)用列表擴(kuò)展案例

當(dāng)中國(guó)結(jié)數(shù)量增加的時(shí)候,可以保存坐標(biāo),使用列表保存每一個(gè)中國(guó)結(jié)的坐標(biāo)與尺寸。初始化時(shí)即使用常量值對(duì)列表進(jìn)行賦值。程序中使用循環(huán)遍歷列表,調(diào)用相應(yīng)的繪制函數(shù)進(jìn)行多個(gè)中國(guó)結(jié)的繪制,結(jié)果即可如圖1所示,形成多個(gè)不同的中國(guó)結(jié)效果圖。讓學(xué)生看到循環(huán)與列表的結(jié)合,可以進(jìn)一步去除函數(shù)調(diào)用語(yǔ)句的冗余,增加程序的可讀性和可維護(hù)性。

2.5 "為案例增加動(dòng)畫(huà)效果

Turtle庫(kù)中提供函數(shù)onTimer,可以設(shè)定重復(fù)調(diào)用某一個(gè)函數(shù)的間隔時(shí)間,單位為秒。在程序中定義main函數(shù),其中調(diào)用繪制中國(guó)結(jié)的函數(shù),每次調(diào)用完修改保存中國(guó)結(jié)坐標(biāo)的向量列表,并針對(duì)不同的中國(guó)結(jié)進(jìn)行不同的修改,有的減少縱坐標(biāo)的值,向上運(yùn)動(dòng);有的增加縱坐標(biāo)的值,向后運(yùn)動(dòng)。最后安排一句onTimer(main,2),即可完成,間隔越大,速度越慢。動(dòng)畫(huà)過(guò)程中使用分支結(jié)構(gòu)判斷中國(guó)結(jié)是否到達(dá)目標(biāo)位置,如果是則停止,呈現(xiàn)最終的運(yùn)行效果。

2.6 "應(yīng)用事件增加交互效果

使用Turtle中的listen方法啟動(dòng)鍵盤(pán)事件監(jiān)聽(tīng),W鍵向右移動(dòng)長(zhǎng)凳,S鍵向左移動(dòng)長(zhǎng)凳,I鍵向上移動(dòng)長(zhǎng)凳,K鍵向下移動(dòng)長(zhǎng)凳。調(diào)用onkey函數(shù)設(shè)置按鍵與事件處理對(duì)應(yīng)關(guān)系。圖6為按W和S鍵移動(dòng)長(zhǎng)凳的運(yùn)行效果圖。

3 "結(jié)束語(yǔ)

本研究探索將圖形動(dòng)畫(huà)案例應(yīng)用于Python教學(xué)過(guò)程的方法,借助Turtle庫(kù),將Python語(yǔ)言的主要知識(shí)點(diǎn)加以應(yīng)用,實(shí)現(xiàn)一個(gè)基于中國(guó)結(jié)的交互動(dòng)畫(huà)程序。程序中實(shí)現(xiàn)具有豐富圖形元素的中國(guó)結(jié),將動(dòng)畫(huà)和用戶(hù)交互方法應(yīng)用其中,容易激發(fā)學(xué)生學(xué)習(xí)Python語(yǔ)言的好奇心。Turtle庫(kù)中豐富的圖形繪制、事件處理、定時(shí)器等函數(shù)可以幫助學(xué)生實(shí)現(xiàn)創(chuàng)意動(dòng)畫(huà)及小游戲。整個(gè)案例貫穿教學(xué)過(guò)程始終,以結(jié)果為導(dǎo)向激發(fā)學(xué)生學(xué)習(xí)相關(guān)知識(shí)的主動(dòng)性,在教學(xué)中取得良好的效果。此方法不僅可以用于高等學(xué)校的Python教學(xué),也可以用于中小學(xué)生及各類(lèi)初學(xué)者對(duì)Python編程的學(xué)習(xí)。

參考文獻(xiàn)

[1] 嵩天,黃天羽,禮欣.Python語(yǔ)言:程序設(shè)計(jì)課程

教學(xué)改革的理想選擇[J].中國(guó)大學(xué)教學(xué),2016(2):42-47.

[2] 張煜昕.基于EasyX圖形庫(kù)的多線(xiàn)程繪圖應(yīng)用[J].

電腦知識(shí)與技術(shù),2018,14(30):226-228.

[3] 宋雅娟,邊晶.基于easyX動(dòng)畫(huà)案例開(kāi)發(fā)導(dǎo)向的C語(yǔ)

言程序設(shè)計(jì)課程教學(xué)方法研究[J].長(zhǎng)春大學(xué)學(xué)報(bào),

2018,28(6):117-115,119.

[4] 殷志堅(jiān),段曉磊.基于EasyX的俄羅斯方塊游戲的

設(shè)計(jì)和分析[J].科技傳播,2015,7(21):137,157.

[5] 尚鮮連,曾海,宋雅娟,等.基于移動(dòng)學(xué)習(xí)的線(xiàn)上

線(xiàn)下混合式教學(xué)模式研究與實(shí)踐[J].教育教學(xué)論壇,2020(41):250-252.

猜你喜歡
自主學(xué)習(xí)
高中生英語(yǔ)自主學(xué)習(xí)能力培養(yǎng)研究
成才之路(2016年26期)2016-10-08 11:21:29
翻轉(zhuǎn)模式在“液壓與氣動(dòng)”教學(xué)中的應(yīng)用研究
成才之路(2016年25期)2016-10-08 10:38:59
中職學(xué)校“生本課堂”的調(diào)查研究與實(shí)踐
成才之路(2016年25期)2016-10-08 10:03:04
踐行少教多學(xué),構(gòu)建高效課堂
對(duì)學(xué)生自主學(xué)習(xí)的探索
元認(rèn)知策略在大學(xué)非英語(yǔ)專(zhuān)業(yè)自主學(xué)習(xí)中的應(yīng)用
科技視界(2016年20期)2016-09-29 11:26:22
主站蜘蛛池模板: 免费人成网站在线高清| 毛片大全免费观看| 九九热免费在线视频| 亚洲精品在线观看91| 91丝袜乱伦| 91久久青青草原精品国产| 人人91人人澡人人妻人人爽 | 亚洲欧美一区二区三区麻豆| 四虎成人精品| 91网站国产| 亚洲综合国产一区二区三区| 99re热精品视频国产免费| 91免费精品国偷自产在线在线| 国产亚洲精品va在线| 亚洲欧美人成电影在线观看| 一级毛片免费高清视频| 制服丝袜一区二区三区在线| 成人国产精品2021| www.亚洲色图.com| 国产精品久久久精品三级| 丰满人妻久久中文字幕| 国产激情影院| 华人在线亚洲欧美精品| 国产无码精品在线| 久久夜夜视频| 色视频久久| 在线欧美国产| 欧美成a人片在线观看| 在线观看国产精品一区| 国产欧美精品午夜在线播放| 性网站在线观看| 国产成人午夜福利免费无码r| 国产在线视频欧美亚综合| 小说 亚洲 无码 精品| 欧美日本一区二区三区免费| 国产精品第5页| 久久人与动人物A级毛片| 日韩视频免费| 国产尤物在线播放| 国产91色在线| 玖玖精品在线| 亚洲色图欧美激情| 欧美黄网在线| 国产精品hd在线播放| 国产成人资源| 精品国产香蕉伊思人在线| 欧美中文字幕无线码视频| 台湾AV国片精品女同性| 国产白浆视频| 99热亚洲精品6码| 国产乱人伦偷精品视频AAA| 国产日韩欧美中文| 久久精品无码国产一区二区三区| 久久精品最新免费国产成人| 国产真实自在自线免费精品| 伊人AV天堂| 高潮毛片无遮挡高清视频播放| 久久成人免费| 国产成人AV综合久久| 日韩第九页| 精品国产乱码久久久久久一区二区| 国产超薄肉色丝袜网站| 欧美区国产区| 国产男女免费视频| 亚洲国产天堂在线观看| 天堂在线www网亚洲| 欧美中文字幕在线视频| 99热国产在线精品99| 一本一道波多野结衣av黑人在线| 波多野结衣中文字幕久久| 福利在线不卡一区| julia中文字幕久久亚洲| 99热在线只有精品| 久草视频精品| 无码中文AⅤ在线观看| 欧美国产在线看| 日本午夜三级| 97国产精品视频人人做人人爱| 免费看av在线网站网址| 2020极品精品国产| 国产精选小视频在线观看| 亚洲狠狠婷婷综合久久久久|