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

        ?

        基于計(jì)算思維的中職C語言程序設(shè)計(jì)教學(xué)研究

        2022-09-13 11:01:38王國兵
        關(guān)鍵詞:星號醉漢空格

        楊 偉,王國兵

        (1.諸暨技師學(xué)院,浙江 諸暨 311800;2.浙江國際海運(yùn)職業(yè)技術(shù)學(xué)院 圖書館數(shù)字技術(shù)中心,浙江 舟山 316000)

        2006年,美國卡內(nèi)基梅隆大學(xué)的Jeannette M.Wing周以真教授系統(tǒng)地提出了計(jì)算思維的概念[1],并指出計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等一系列思維活動(dòng)。其后,陳國良院士、李廉教授、董榮勝教授對計(jì)算思維的概念進(jìn)行了補(bǔ)充和發(fā)展。李廉教授指出計(jì)算思維的本質(zhì)是抽象和自動(dòng)化,計(jì)算思維是現(xiàn)代社會每個(gè)人必須掌握的根本技能。

        一、計(jì)算思維的本質(zhì):抽象和自動(dòng)化

        計(jì)算思維沒有嚴(yán)格的定義,國內(nèi)外學(xué)者對計(jì)算思維的理解各不相同。筆者采用李廉教授的觀點(diǎn),即計(jì)算思維的本質(zhì)是抽象和自動(dòng)化。抽象指的是使用C語言的符號系統(tǒng)對現(xiàn)實(shí)生活中的問題進(jìn)行精確而嚴(yán)格的描述,自動(dòng)化指求解問題按照一定的順序自動(dòng)執(zhí)行。

        現(xiàn)實(shí)生活問題取值不變的數(shù)據(jù)抽象為常量,取值變化的量為變量,常量和變量都是C語言的操作對象。如果多個(gè)變量存在線性關(guān)系,可以用數(shù)組表示。中職C語言程序設(shè)計(jì)課程是程序類的入門課程,不涉及樹、堆、棧、表等復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。教師可以結(jié)合中職一年級上學(xué)期的計(jì)算機(jī)應(yīng)用基礎(chǔ)課程進(jìn)行講解。馮·諾依曼計(jì)算機(jī)體系結(jié)構(gòu)包括輸入、輸出、存儲、運(yùn)算器和控制器,其中存儲是計(jì)算機(jī)非常重要的概念,計(jì)算機(jī)本身具有緩存、內(nèi)存、磁盤等用于存儲的硬件設(shè)備。如果要在計(jì)算機(jī)中進(jìn)行存儲,必須先分配空間并且指定空間的大小。定義好數(shù)據(jù)類型,便于分配一定大小的空間,也便于C語言根據(jù)數(shù)據(jù)類型進(jìn)行運(yùn)算。

        計(jì)算思維的自動(dòng)化本質(zhì)內(nèi)涵比較豐富,但是對于中職學(xué)生而言,如果要C語言自動(dòng)執(zhí)行一系列復(fù)雜的程序,必須借助if、switch等選擇結(jié)構(gòu)和for循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)是自動(dòng)執(zhí)行的核心,相對于人而言,計(jì)算機(jī)擅長機(jī)械地進(jìn)行重復(fù)、有規(guī)律的操作。計(jì)算機(jī)重復(fù)執(zhí)行指令千萬次只在一瞬間,對于人而言不可想象,更重要的是計(jì)算機(jī)不會犯錯(cuò)且忠實(shí)的執(zhí)行指令,對指令不會有第二種理解。因此,循環(huán)結(jié)構(gòu)是中職學(xué)生理解計(jì)算思維自動(dòng)化本質(zhì)的核心。即使不考慮計(jì)算思維的培養(yǎng),學(xué)生掌握好循環(huán)結(jié)構(gòu),對于定義數(shù)據(jù)結(jié)構(gòu)和構(gòu)造算法也是大有幫助的。

        二、借助形象思維,降低學(xué)生思維坡度

        理解抽象和自動(dòng)化進(jìn)而培養(yǎng)計(jì)算思維,對于中職學(xué)生來說是比較困難的。中職學(xué)生普遍數(shù)學(xué)基礎(chǔ)差,而邏輯思維源于數(shù)學(xué),因而中職學(xué)生邏輯思維和抽象能力欠缺。抽象能力的培養(yǎng)沒有捷徑可走,需要反反復(fù)復(fù)、循序漸進(jìn)地練習(xí)。教師在C語言教學(xué)過程中,借助形象教學(xué),降低學(xué)生思維坡度,將學(xué)生的具體形象思維轉(zhuǎn)化為抽象邏輯思維。學(xué)生剛剛接觸到C語言,對數(shù)據(jù)結(jié)構(gòu)和算法很難理解,教師應(yīng)盡量將算法用圖像、圖形、表格等形象化工具展示出來,再用中文講解操作步驟并將操作步驟寫出來,然后分析步驟之間的關(guān)系,找出規(guī)律。

        筆者以案例1闡述如何借助形象思維培養(yǎng)計(jì)算思維。該案例是循環(huán)語句的經(jīng)典例題[4]。

        案例1輸出圖案,如圖1所示。

        圖1 輸出效果圖

        由于初學(xué)者抽象思維能力欠缺,教師采用啟發(fā)式教學(xué),引導(dǎo)學(xué)生用中文來描述問題。問題描述有三個(gè)基本要求:(1)全面,不能有遺漏;(2)準(zhǔn)確,不能有歧義;(3)按照先后次序?qū)λ胁襟E進(jìn)行描述。學(xué)生的描述各種各樣,一般典型的描述如下:

        第1步,居中輸出1個(gè)星號,回車換行;

        第2步,居中輸出3個(gè)星號,回車換行;

        第3步,居中輸出5個(gè)星號,回車換行;

        第4步,居中輸出7個(gè)星號,回車換行;

        第5步,居中輸出9個(gè)星號,回車換行。

        將求解問題逐步用C語言來表達(dá),發(fā)現(xiàn)用printf()函數(shù)無法對輸出星號進(jìn)行居中格式設(shè)置。教師引導(dǎo)和啟發(fā)學(xué)生思考,在辦公軟件Word、WPS中居中輸入星號,如果不進(jìn)行字體格式和段落格式的居中操作,還有沒有其他辦法,部分學(xué)生會發(fā)現(xiàn)可以通過輸入空格的方式來解決題目居中輸出星號的要求,圖1表示的案例1求解問題可以轉(zhuǎn)化為圖2(用正方形表示空格)。于是將中文描述進(jìn)一步完善,星號后面的空格不用輸出,printf(” ”)用回車換行操作即可,修改如下:

        第1步,輸出4個(gè)空格,1個(gè)星號,換行符;

        第2步,輸出3個(gè)空格,3個(gè)星號,換行符;

        第3步,輸出2個(gè)空格,5個(gè)星號,換行符;

        第4步,輸出1個(gè)空格,7個(gè)星號,換行符;

        第5步,輸出0個(gè)空格,9個(gè)星號,換行符。

        圖2 計(jì)算機(jī)實(shí)際輸出的效果圖

        教師引導(dǎo)學(xué)生分析這5個(gè)操作步驟,從行數(shù)、總行數(shù)、空格個(gè)數(shù)和星號個(gè)數(shù)之間的關(guān)系進(jìn)行分析和歸納,發(fā)現(xiàn)存在如下規(guī)律:第一,操作步驟順序是1、2、3、4、5,行數(shù)是首項(xiàng)為1,公差為1的等差數(shù)列;第二,星號的數(shù)量是1、3、5、7、9,星號的數(shù)量是首項(xiàng)為1,公差為2的等差數(shù)列;第三,星號左邊空格的數(shù)量是4、3、2、1、0,空格的數(shù)量是首項(xiàng)為4,公差為-1的等差數(shù)列;第四,每步操作的空格的數(shù)量*2+星號的數(shù)量=9=操作步驟的總數(shù)*2-1;第五,星號左邊空格數(shù)量最多的是第1步操作,有4個(gè),是操作步驟的總數(shù)-1;第六,星號最多的是最后一步操作,有9個(gè),是操作步驟的總數(shù)*2-1。

        程序=數(shù)據(jù)結(jié)構(gòu)+算法,C語言程序設(shè)計(jì)是程序類基礎(chǔ)課,中職學(xué)生沒有學(xué)習(xí)過數(shù)據(jù)結(jié)構(gòu)這門課,所以不會涉及到復(fù)雜的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)只能是變量、常量和數(shù)組。算法就是對數(shù)據(jù)進(jìn)行一系列操作,因此,構(gòu)造算法時(shí)要將數(shù)據(jù)聯(lián)系起來,分析數(shù)據(jù)與數(shù)據(jù)之間的相互關(guān)系,從而找到規(guī)律,再將規(guī)律轉(zhuǎn)化為算法。

        常量是對系統(tǒng)中取值不變的特征進(jìn)行抽象,而變量是對系統(tǒng)中取值可以改變的特征進(jìn)行抽象,案例1中輸出星號的個(gè)數(shù)、輸出空格的個(gè)數(shù)、操作步驟的順序、操作步驟的總數(shù)都是可以變化的量,所以用變量表示。

        定義變量K用來表示操作步驟順序,變量N表示操作步驟的總數(shù),將規(guī)律和變量K、N聯(lián)系起來,再對上述5條規(guī)律進(jìn)行選擇和綜合,發(fā)現(xiàn)“每步操作步驟輸出星號的數(shù)量等于操作步驟順序K*2-1,輸出空格的數(shù)量等于操作步驟的總數(shù)減去操作步驟順序,即N-K。

        對中文描述進(jìn)一步抽象,將輸出空格和星號的數(shù)量和行數(shù)、總行數(shù)關(guān)聯(lián)起來,可以用C語言轉(zhuǎn)化為下述語句。

        上述輸出空格、星號和換行符都是重復(fù)操作,用最基本的循環(huán)語句就可以實(shí)現(xiàn)。應(yīng)用模塊化方法,先將復(fù)雜的問題進(jìn)行抽象和分層,然后轉(zhuǎn)化為一個(gè)個(gè)簡單或者已知(用已掌握知識可以解決)的問題。語句1進(jìn)一步轉(zhuǎn)化為語句2。

        三、分析步驟,抽象出規(guī)律

        案例1的求解步驟有限,如果操作步驟比較多,對操作步驟逐步進(jìn)行描述就很難進(jìn)行了。這就需要對所有的操作步驟進(jìn)行分析和抽象,一般情況下描述前三個(gè)步驟或者后三個(gè)步驟,然后分析這些操作步驟之間的相互關(guān)系,發(fā)現(xiàn)規(guī)律并抽象和描述,然后轉(zhuǎn)化為一個(gè)個(gè)簡單或者已知(用已掌握知識可以解決)的問題。

        案例2:求和,1+2+3+……+100。

        對求解問題的前三個(gè)操作步驟逐步分析,總結(jié)任意步驟,即第N步驟的規(guī)律,描述如下:

        第一步,對1與2求和;

        第二步,對第一步求和結(jié)果與3求和;

        第三步,對第二步求和結(jié)果與4求和。

        定義變量K,K用來表述操作步驟的次序。函數(shù)F(K)的返回值表示第K步驟的操作結(jié)果。前述求解過程的操作步驟和K,F(xiàn)(K)聯(lián)系起來,描述如下:

        第一步,K=1,求和結(jié)果是F(0)+K+1,F(xiàn)(0)初始值只有加數(shù)1,所以F(0)=1。

        第二步,K=2,求和結(jié)果是F(1)+K+1;

        第三步,K=3,求和結(jié)果是F(2)+K+1。

        經(jīng)過分析前三個(gè)步驟,發(fā)現(xiàn)第N操作步驟和第N-1操作步驟有規(guī)律,由此得出結(jié)論,第N步驟,K=N,求和結(jié)果是F(N-1)+K+1。

        一個(gè)求解問題無論步驟有多少,只要步驟和步驟之間有聯(lián)系并可以歸納出規(guī)律,且這種規(guī)律可以用數(shù)學(xué)和計(jì)算機(jī)工具進(jìn)行描述,那么這個(gè)求解問題就可以轉(zhuǎn)化為計(jì)算機(jī)問題。

        四、借助計(jì)算思維,解決實(shí)際問題

        案例3:醉漢在馬路上走多少步就會掉到路邊的溝里去。

        這種現(xiàn)實(shí)生活中的問題,首先要對各項(xiàng)事物進(jìn)行定義,建立模型,構(gòu)想出解決問題的思路和步驟。馬路如何定義,醉漢步速如何定義,為了簡化模型,進(jìn)行如下假設(shè);

        第一,醉漢走路距離長度一致,假設(shè)每步都為1;

        第二,馬路是直的,馬路的寬度為10,長度為20 000,用坐標(biāo)表示醉漢在馬路上的位置;

        第三,醉漢走路方向無法確定,方向有很多種,不妨定義八種方向,以道路的方向?yàn)榛鶞?zhǔn),45度為方向變化的幅度,分為東、東北、北、西北、西、西南、南、東南,一共八個(gè)方向。

        馬路和醉漢步速定義完成后,進(jìn)一步抽象,假設(shè)醉漢站在馬路的中間位置開始走路,設(shè)置醉漢的坐標(biāo)為X=0,Y=0。路邊的溝就是Y=5或者Y=-5。如果醉漢沒有掉到溝里,走到馬路的盡頭,則X=-10 000或者X=10 000。無論醉漢走到馬路盡頭或者掉到路邊的溝里,醉漢都不再走路了,對于計(jì)算機(jī)程序而言,就是走路的程序結(jié)束運(yùn)行。

        醉漢走路描述如下:

        定義變量K=隨機(jī)函數(shù)();隨機(jī)函數(shù)課本上沒有提及,可以借助互聯(lián)網(wǎng)搜索隨機(jī)函數(shù)的相關(guān)代碼。走路的方向有八種,隨機(jī)函數(shù)就產(chǎn)生0、1、2、3、4、5、6、7數(shù)值。

        醉漢朝不同方向走一步的代碼如下:

        對醉漢走路程序運(yùn)行多次求平均值,就可以算出案例3醉漢掉到路邊溝里的平均步數(shù),求平均值的程序本文不再贅敘。

        案例3比案例1、案例2的算法簡單,但是抽象的難度比較大。對于現(xiàn)實(shí)生活問題,要用計(jì)算的辦法求解,就要進(jìn)行計(jì)算機(jī)建模與仿真。計(jì)算機(jī)建模,指借助于計(jì)算機(jī)建立數(shù)學(xué)模型、數(shù)值求解、定量研究某些現(xiàn)象或過程的研究方法。首先,在假設(shè)前提下,對現(xiàn)實(shí)生活中的復(fù)雜問題抽取比較典型的案例進(jìn)行分析,復(fù)雜的現(xiàn)實(shí)生活問題就變成了可以計(jì)算的計(jì)算機(jī)問題。

        四、基于計(jì)算思維的教學(xué)方法

        經(jīng)過多年教學(xué)實(shí)踐,筆者總結(jié)出如圖3所示的C語言程序教學(xué)方法[2]。

        圖3 教學(xué)流程圖

        求解問題,盡量運(yùn)用圖像、圖形、表格等具體的方式形象地展示出來,便于通過形象思維準(zhǔn)確理解該問題。用中文對操作步驟進(jìn)行描述,如果操作步驟比較多,可以對前三步或后三步的操作步驟進(jìn)行描述,分析步驟與步驟之間、單個(gè)步驟與整體操作步驟之間的關(guān)系,總結(jié)出規(guī)律。對現(xiàn)實(shí)生活中的求解問題中涉及到的數(shù)據(jù)進(jìn)行抽象,構(gòu)成合適的變量、常量、數(shù)組等數(shù)據(jù)結(jié)構(gòu)。將規(guī)律和數(shù)據(jù)結(jié)構(gòu)結(jié)合起來,總結(jié)出任意步驟的表示方式,最后構(gòu)造算法程序。

        總之,在程序設(shè)計(jì)課程教學(xué)中不能僅僅局限于程序教學(xué)本身,還要注重學(xué)生的自學(xué)能力、舉一反三的思維能力和運(yùn)用創(chuàng)造性思維解決實(shí)際問題等能力的培養(yǎng)。

        猜你喜歡
        星號醉漢空格
        趣填成語
        空格填數(shù)
        你來補(bǔ)缺的數(shù)
        醉漢
        文苑(2019年20期)2019-11-16 08:52:18
        這里最亮
        改頭換面
        醉漢
        星號標(biāo)注范例
        星號標(biāo)注范例
        我也剛到
        龍門陣(2013年6期)2013-06-04 09:43:10
        男女高潮免费观看无遮挡| 国产精品国产自线拍免费| 亚洲一区二区不卡日韩| 精品亚洲一区二区三区在线播放| 精品国产a一区二区三区v| 一本色道久久88加勒比一| 免费国产成人肉肉视频大全| 人人妻人人澡人人爽人人精品| 亚洲中文无码久久精品1| 美女窝人体色www网站| 国产精品夜色视频久久| 国产精品亚洲色婷婷99久久精品| 欧洲熟妇色xxxxx欧美老妇伦| 乱中年女人伦av| 手机色在线| 中文字幕一区二区三区| 中文字幕有码无码人妻av蜜桃 | 亚洲国产成人av二区| 亚洲人成人网站在线观看| 一级呦女专区毛片| 中文字幕一区二区三区在线视频| 国产一区二区三区四区在线视频| 亚洲夫妻性生活免费视频| 亚洲男人av天堂午夜在| 国内无遮码无码| 韩国黄色三级一区二区| 人成综合视频在线播放| 成人a级视频在线观看| 色窝窝无码一区二区三区2022| 国产熟女乱综合一区二区三区| 国产精品大片一区二区三区四区| 国产亚洲成av人片在线观看| 人人狠狠综合久久亚洲| 91精品国产综合久久青草| 国产av天堂一区二区二区| 青青草国产精品一区二区| 久久精品国产自清天天线| 国产美女亚洲精品一区| 中文字幕乱码在线人妻| 午夜无码片在线观看影视| 91久久福利国产成人精品|