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

        ?

        以Turtle入手的程序設(shè)計教學(xué)案例設(shè)計與實踐

        2021-09-09 08:20:22林衛(wèi)中
        現(xiàn)代計算機 2021年19期
        關(guān)鍵詞:海龜程序設(shè)計繪制

        林衛(wèi)中

        (景德鎮(zhèn)陶瓷大學(xué)信息工程學(xué)院,景德鎮(zhèn) 333000)

        0 引言

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

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

        1 目前計算機程序設(shè)計教學(xué)中存在的問題

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

        (1)入門語法繁瑣

        C(或Java)語言是強類型語言,基礎(chǔ)語法要求復(fù)雜且嚴(yán)格,對變量的聲明和使用非常嚴(yán)格。另外它們的計算生態(tài)不如Python豐富,如輸入和輸出的處理,C語言中輸出函數(shù)printf細(xì)節(jié)太繁瑣,而Java中對輸入和輸出有太多的類之間的封裝也不是初學(xué)者容易理解的。這樣導(dǎo)致學(xué)生在初接觸程序設(shè)計時陷入繁瑣細(xì)節(jié)的學(xué)習(xí),無暇深入對程序結(jié)構(gòu)的理解和學(xué)習(xí)。

        (2)教學(xué)案例呆板

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

        2 Python教學(xué)改革實踐發(fā)展現(xiàn)狀

        Python語言目前被廣泛使用,是面向?qū)ο蟮母呒壨ㄓ媚_本編程語言,具有語法簡單,明晰易懂的特點。近年來在各高校開始逐漸普及開始。2017年北京理工大學(xué)舉辦了首屆全國高校Python語言與計算生態(tài)教學(xué)研討會,掀起了Python的教學(xué)和教研熱潮。

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

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

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

        3 基于Turtle的程序設(shè)計教學(xué)案例

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

        表1 Turtle庫常用函數(shù)

        在繪圖時,只要計算好海龜?shù)倪\動軌跡,無需繁瑣的語法,按運動軌跡調(diào)用對應(yīng)的函數(shù)即可。

        3.1 教學(xué)案例1:圖形繪制入門

        我們設(shè)計一個簡單的教學(xué)案例:繪制一個四邊形,按簡單的計算思維,那就是繪制出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)

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

        圖1 繪制4邊形

        3.2 教學(xué)案例2:程序結(jié)構(gòu)教學(xué)

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

        以案例1為例,分析代碼發(fā)現(xiàn):第3行和第4行重復(fù)出現(xiàn)4次,在程序設(shè)計中,這樣重復(fù)的工作可以使用循環(huán)結(jié)構(gòu)實現(xiàn),改編后的代碼如下:

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

        for i in range(4):

        t.forward(25)

        t.right(90)

        代碼中的range(4)表示計數(shù)4次。通過這個案例可以簡單地把程序結(jié)構(gòu)從順序結(jié)構(gòu)過渡到循環(huán)結(jié)構(gòu)。

        3.3 教學(xué)案例3:函數(shù)教學(xué)

        繪制一個如圖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()

        通過觀察結(jié)果圖和分析代碼發(fā)現(xiàn),魚身和魚尾都是三角形,再比較對應(yīng)的代碼8-14行和17-23行,進一步發(fā)現(xiàn)海龜?shù)膭幼魇且粯拥?,僅是一些具體的值不同,那么我們可以把一些相似的動作設(shè)計成一個函數(shù)模塊,把動作不同的值設(shè)計成函數(shù)的參數(shù),所示的代碼可以改編為函數(shù)實現(xiàn)方式。

        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()

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

        3.4 其他綜合設(shè)計案例

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

        圖3 綜合設(shè)計教學(xué)案例

        4 結(jié)語

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

        猜你喜歡
        海龜程序設(shè)計繪制
        Art on coffee cups
        基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        海龜
        從細(xì)節(jié)入手,談PLC程序設(shè)計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        可怕:一塊塑料便可“殺死”一只海龜
        放學(xué)后
        童話世界(2018年17期)2018-07-30 01:52:02
        海龜
        海龜
        高職高專院校C語言程序設(shè)計教學(xué)改革探索
        PLC梯形圖程序設(shè)計技巧及應(yīng)用
        国产精品黑色丝袜在线播放| 亚洲一区二区三区香蕉| 8x国产精品视频| 西西人体444www大胆无码视频 | 亚洲第一页在线观看视频网站| 国产一区二区在线中文字幕| 久久久久久人妻无码| 国产精品igao视频网| 麻豆久久五月国产综合| 国产精品女丝袜白丝袜| 亚洲视频精品一区二区三区| 国产91久久精品成人看网站| 久久国产精品一区av瑜伽| 国产二区交换配乱婬| 国产无人区码一码二码三mba| 国产精品成人嫩妇| 国产精品女同久久久久久| 国产av精品久久一区二区| 日本精品一区二区三区二人码| 三级做a全过程在线观看| 国产a v无码专区亚洲av| 天堂av无码大芭蕉伊人av孕妇黑人| 日本一曲二曲三曲在线| 级毛片内射视频| 精品无码人妻一区二区三区品| 亚洲国产日韩在线人成蜜芽| 国产精品亚洲一区二区三区正片| 亚洲av手机在线网站| 少妇无码吹潮| 久久久久久99精品| 国产黄色一区二区三区av| 91精品国产综合久久熟女| 射精专区一区二区朝鲜 | 免费国产一级特黄aa大片在线 | 亚洲欧美日韩高清一区二区三区| 日本办公室三级在线观看| 国产精品99无码一区二区| 三级4级全黄60分钟| 成人动漫久久| 国产av三级精品车模| 国色天香中文字幕在线视频|