亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

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

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

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

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

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

        案例中每個(gè)中國(guó)結(jié)的繪制涉及問題分解、函數(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)的過程中需要使用選擇結(jié)構(gòu)進(jìn)行位置判斷。當(dāng)敲擊鍵盤相應(yīng)字符時(shí),長(zhǎng)凳會(huì)左右上下移動(dòng),這里需要用到鍵盤事件處理,相當(dāng)于小游戲中的交互運(yùn)作。

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

        Python的教學(xué)主要圍繞順序、選擇、循環(huán)三種基本控制結(jié)構(gòu),元組、列表、字典等數(shù)據(jù)結(jié)構(gòu),基于函數(shù)的模塊化設(shè)計(jì)方法等相關(guān)知識(shí)展開。在教學(xué)過程中,將圖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í)賦值語句、函數(shù)調(diào)用語句、輸出語句。教學(xué)中以Turtle庫(kù)的函數(shù)為主線,調(diào)用中國(guó)結(jié)繪制中涉及的畫直線、畫圓、畫圓弧等函數(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é)中心的兩條線、結(jié)心邊緣的拱形、結(jié)心右側(cè)的大圓弧等基本元素繪制出來。其他部分為這些元素的重復(fù)繪制。通過這個(gè)部分的學(xué)習(xí),學(xué)生可以掌握通過函數(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)過順序結(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è)過程中,首先介紹Python中的關(guān)系運(yùn)算與邏輯運(yùn)算,然后展開分支結(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)完成。通過這一步的操作,可以使學(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é)生直觀體會(huì)這種方式代碼冗余、可讀性變差的狀態(tài),然后引入基于函數(shù)的模塊化設(shè)計(jì)方法。將中國(guó)結(jié)分成結(jié)心、邊緣、頂環(huán)、穗子等幾部分,將這幾部分的代碼分別封裝成函數(shù)。同時(shí),為了后續(xù)動(dòng)畫時(shí)對(duì)中國(guó)結(jié)的移動(dòng),設(shè)置結(jié)心開始繪制的位置坐標(biāo)為(x,y),結(jié)心每一個(gè)線的長(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)用語句的冗余,增加程序的可讀性和可維護(hù)性。

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

        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)畫過程中使用分支結(jié)構(gòu)判斷中國(guó)結(jié)是否到達(dá)目標(biāo)位置,如果是則停止,呈現(xiàn)最終的運(yùn)行效果。

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

        使用Turtle中的listen方法啟動(dòng)鍵盤事件監(jiān)聽,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é)束語

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

        參考文獻(xiàn)

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

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

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

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

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

        言程序設(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í)的線上

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

        猜你喜歡
        自主學(xué)習(xí)
        高中生英語自主學(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é)?!吧菊n堂”的調(diào)查研究與實(shí)踐
        成才之路(2016年25期)2016-10-08 10:03:04
        踐行少教多學(xué),構(gòu)建高效課堂
        對(duì)學(xué)生自主學(xué)習(xí)的探索
        元認(rèn)知策略在大學(xué)非英語專業(yè)自主學(xué)習(xí)中的應(yīng)用
        科技視界(2016年20期)2016-09-29 11:26:22
        亚洲 日本 欧美 中文幕| 亚洲日本人妻中文字幕| 清纯唯美亚洲经典中文字幕| 黄片大全视频在线播放| 黑人巨大跨种族video| 97超在线视频免费| 国产人妖一区二区av| 日韩一区av二区三区| 日产亚洲一区二区三区| 日本免费不卡一区| 亚洲精品一区二区三区av| 女同同志熟女人妻二区| 我爱我色成人网| 亚洲国产福利精品一区二区| 亚洲精品国产精品系列| 国产亚洲精品熟女国产成人| 久久亚洲精品无码va白人极品| 欧美一区二区午夜福利在线yw| 日韩精品一区二区三区免费观影| 97人妻人人揉人人躁九色| 亚洲精品无码久久久久久| 国产福利小视频在线观看| 国产亚洲日本精品二区| 狠狠色噜噜狠狠狠777米奇| 成人一区二区免费视频| 亚洲无线码1区| 国产精品熟女视频一区二区三区 | 日韩日本国产一区二区| 成人午夜高潮a∨猛片| 国产超碰人人模人人爽人人喊| 国产三级精品美女三级| 人妻精品一区二区三区蜜桃| 亚洲成a∨人片在线观看不卡| 国产精在线| 精品视频一区二区在线观看| 久久久久人妻精品一区二区三区 | 百合av一区二区三区| 国产亚洲精品综合在线网站| 美女网站免费观看视频| 中文字幕亚洲乱码熟女一区二区 | 亚洲色精品三区二区一区|