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

        ?

        基于循環(huán)不變式的循環(huán)結(jié)構(gòu)教學(xué)研究

        2023-04-14 03:29:13曹文平谷瓊寧彬
        電腦知識與技術(shù) 2023年6期
        關(guān)鍵詞:邏輯思維計算思維程序設(shè)計

        曹文平 谷瓊 寧彬

        摘要:以梳理程序設(shè)計基礎(chǔ)課程教學(xué)存在的問題為出發(fā)點,圍繞循環(huán)結(jié)構(gòu)教學(xué)內(nèi)容,分析了邏輯思維和計算思維能力培養(yǎng)的必要性。文章從計算思維、邏輯思維、信息與數(shù)據(jù)的關(guān)系等方面剖析了循環(huán)結(jié)構(gòu)教學(xué)內(nèi)容的教學(xué)要點,設(shè)計了以循環(huán)不變式為基礎(chǔ)的循環(huán)結(jié)構(gòu)教學(xué)過程及其訓(xùn)練方法,經(jīng)實踐證明可有效地培養(yǎng)學(xué)生的邏輯思維和計算思維能力。

        關(guān)鍵詞:循環(huán)不變式;循環(huán)結(jié)構(gòu);計算思維;邏輯思維;程序設(shè)計

        中圖分類號:G642? ? ? ? 文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2023)06-0121-02

        開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID)

        循環(huán)結(jié)構(gòu)是程序設(shè)計基礎(chǔ)課程教學(xué)內(nèi)容的重點和難點之一。學(xué)生在該課程學(xué)習(xí)過程中不能獨立識別并解決基本循環(huán)問題,這與我們的課程教學(xué)方法或策略存在一定的關(guān)系。常規(guī)教學(xué)方法側(cè)重于循環(huán)結(jié)構(gòu)流程的講解,忽略了程序設(shè)計中關(guān)于邏輯思維和計算思維的能力培養(yǎng),導(dǎo)致學(xué)生對循環(huán)結(jié)構(gòu)的理解存在偏差,不能從本質(zhì)上分析基本循環(huán)問題,從而形成了課堂聽懂、課后模糊不清的現(xiàn)象。針對這種教學(xué)現(xiàn)象很多研究提出了相關(guān)的解決方法,其中計算思維成為程序設(shè)計課程教學(xué)研究的熱點。參考文獻(xiàn)[1-2]提出了以計算思維為導(dǎo)向的案例式教學(xué)方法;參考文獻(xiàn)[3]探討了以應(yīng)用需求為導(dǎo)向的程序設(shè)計課程的教學(xué)改革方法和步驟;參考文獻(xiàn)[4]提出了線上線下一體化平臺的混合教學(xué)模式;參考文獻(xiàn)[5]提出了對比教學(xué)法在程序設(shè)計課程中的應(yīng)用實踐研究。本文基于循環(huán)不變式的思想,提出輕語法、重邏輯,并與計算思維相結(jié)合的教學(xué)過程,培養(yǎng)或訓(xùn)練學(xué)生的邏輯思維和計算思維能力。此外,輔助所設(shè)計的循環(huán)結(jié)構(gòu)編程方法,引導(dǎo)學(xué)生依據(jù)步驟完成循環(huán)結(jié)構(gòu)程序設(shè)計,同步自證循環(huán)結(jié)構(gòu)的正確性,幫助學(xué)生識別并改正錯誤,從而增強(qiáng)學(xué)生學(xué)習(xí)程序設(shè)計的自信和興趣。

        1 循環(huán)不變式

        循環(huán)不變式是從數(shù)學(xué)衍生而來的計算思維方法,本質(zhì)上是一種數(shù)學(xué)思想。其核心部分是根據(jù)問題描述構(gòu)造一系列的表達(dá)式或變量依賴關(guān)系,由這些表達(dá)式或依賴關(guān)系構(gòu)成動態(tài)循環(huán)過程中的不可變約束,最后形成循環(huán)不變式的主體,這是問題的抽象數(shù)學(xué)表示方式。在循環(huán)的過程中保持這些約束,就能保證循環(huán)的正確。下面給出相關(guān)的定義。

        定義1 循環(huán)變量:在循環(huán)過程中其值發(fā)生變化的量。所有循環(huán)變量構(gòu)成循環(huán)變量集合,記為X={xi|xi為循環(huán)變量,i=1,2,... }。如果變量值在整個程序生命周期中保持不變,則將其視為常量。

        定義2 運(yùn)行環(huán)境:循環(huán)運(yùn)行過程中循環(huán)變量的取值集合。

        定義3 約束:循環(huán)變量之間的一個依賴關(guān)系稱為一個約束。表現(xiàn)形式可以是語義關(guān)系、表達(dá)式,是描述循環(huán)變量取值變化的依賴關(guān)系,記為a->b,其中a∈X且b∈X。如果a->b,則a值的改變會引起b值的改變。所有的約束構(gòu)成約束集合,記為S={ai->bi| ai->bi }。這是循環(huán)變量之間的依賴關(guān)系。

        定義4 循環(huán)控制變量:決定循環(huán)是否終止的循環(huán)變量。循環(huán)執(zhí)行的過程即是循環(huán)控制變量從初始值到結(jié)束值的變化過程。

        定義5 循環(huán)邊界:循環(huán)過程開始執(zhí)行及結(jié)束執(zhí)行時對應(yīng)的循環(huán)控制變量的取值。

        循環(huán)結(jié)構(gòu)的設(shè)計過程如下:

        1)確定循環(huán)變量集合X:將循環(huán)過程中變化的所有變量全部納入該集合X,這是整個設(shè)計過程的基礎(chǔ);

        2)確定約束集合S:根據(jù)邏輯關(guān)系確定循環(huán)變量之間的依賴關(guān)系,是設(shè)計循環(huán)體的關(guān)鍵;

        3)確定循環(huán)邊界;

        4)根據(jù)約束集合完成循環(huán)體的設(shè)計。

        循環(huán)執(zhí)行結(jié)束后需要驗證循環(huán)結(jié)果的正確性,這里設(shè)計了三個步驟實現(xiàn)關(guān)于循環(huán)結(jié)果的驗證目的。

        1)初次進(jìn)入循環(huán)前,運(yùn)行環(huán)境正確;

        2)每次進(jìn)入循環(huán)前,運(yùn)行環(huán)境正確;

        3)循環(huán)結(jié)束時,得到需要的結(jié)果。

        這里運(yùn)行環(huán)境正確是指在特定時刻,所有循環(huán)變量的取值均符合約束集合,即運(yùn)行環(huán)境符合約束集合S。驗證的三個步驟對應(yīng)循環(huán)控制結(jié)構(gòu)的三個部分:初始化、循環(huán)體和循環(huán)控制條件。如果驗證了這三個步驟的正確性,則可以確保循環(huán)控制結(jié)構(gòu)的正確性,如圖1所示。

        2 教學(xué)方案重構(gòu)

        基于循環(huán)不變式的教學(xué)方案是以計算思維和邏輯思維作為基礎(chǔ),重構(gòu)傳統(tǒng)的以語法和案例為主的教學(xué)方式。教學(xué)方案的重構(gòu)圍繞這兩個思維方式,是以輕語法、重邏輯為出發(fā)點,提升學(xué)生的抽象思維能力為重點,設(shè)計正確的循環(huán)結(jié)構(gòu)為目的,采用講練同步進(jìn)行的教學(xué)方法,幫助學(xué)生從本質(zhì)上掌握循環(huán)結(jié)構(gòu)設(shè)計的內(nèi)涵和應(yīng)用。其重構(gòu)內(nèi)容包括信息的表示和邏輯思維的訓(xùn)練兩個方面。

        2.1 信息表示的訓(xùn)練

        信息是邏輯思維的前提和基礎(chǔ)。從人類的思維角度看,描述待解決的問題屬于信息范疇,而計算機(jī)加工或處理的對象是數(shù)據(jù)。計算機(jī)輔助人類解決問題的能力,依賴于從信息到數(shù)據(jù)的轉(zhuǎn)化程度,即在計算思維范疇用數(shù)據(jù)代替信息。我們設(shè)計的教學(xué)方案從兩個方面訓(xùn)練或提升學(xué)生的計算思維能力。一方面,從信息到數(shù)據(jù)的轉(zhuǎn)換訓(xùn)練,體現(xiàn)為編程過程中的變量定義,包括變量的含義和具體值。例如變量a表示燈的顏色,整數(shù)1或字符x表示紅色均可。這需要根據(jù)數(shù)據(jù)所賦予的信息,結(jié)合算法確定變量的數(shù)據(jù)類型及其取值。另一方面,歸納表達(dá)式所表示的信息。假設(shè)變量a表示整數(shù),那么表達(dá)式a%2==1表示的信息“a是奇數(shù)”。

        2.2 邏輯思維的訓(xùn)練

        根據(jù)信息的表示進(jìn)行正確的邏輯推理,這是訓(xùn)練邏輯思維能力的主要方法。例如計算a=b+c,變量a的取值隨著程序的執(zhí)行而變化,其正確性依賴于程序邏輯的正確性。程序的正確邏輯是:程序執(zhí)行前,變量a、b和c具有獨立的存儲空間,b和c存放待求和的兩個值,a待存放這兩個數(shù)的和;程序執(zhí)行結(jié)束后a的取值是兩個數(shù)的和,b和c的取值保持不變。由程序邏輯的正確性,可推理變量取值執(zhí)行前后的變化,經(jīng)對比或梳理可進(jìn)一步驗證程序執(zhí)行結(jié)果的邏輯正確性。在程序設(shè)計教學(xué)中即可正向講解程序執(zhí)行過程中每一步的邏輯,也可通過邏輯推理反向推進(jìn)程序設(shè)計,達(dá)成訓(xùn)練學(xué)生邏輯思維能力的目的。

        這是基于循環(huán)不變式面向循環(huán)控制結(jié)構(gòu)的教學(xué)設(shè)計。由于循環(huán)體是不變的,其執(zhí)行邏輯也不變,即每次循環(huán)執(zhí)行前各個變量的信息表示一致。其設(shè)計的關(guān)鍵點在于確定循環(huán)執(zhí)行前的循環(huán)變量集合及約束集合。

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

        3.1 冒泡法案例設(shè)計

        冒泡法是對n個元素的整型數(shù)組升序排序的典型應(yīng)用(為方便描述,采用從后向前的冒泡方式)。

        步驟1:根據(jù)算法確定循環(huán)體的基本操作。第i次循環(huán)將第i小的元素放在i位置,使得0到i的元素有序;

        步驟2:確定循環(huán)變量集合。i表示元素位置(或循環(huán)次數(shù))、整型數(shù)組;

        步驟3:確定循環(huán)開始前的約束集合。只有i和整型數(shù)組之間的約束關(guān)系,即從0到i的元素已是升序排列;

        步驟4:確定循環(huán)邊界。i是循環(huán)控制變量,邊界為n-1,即算法結(jié)束時0到n-1升序排列;

        步驟5:設(shè)計循環(huán)結(jié)構(gòu)。

        1)初始化。第一次循環(huán)前,其約束為0到0的元素有序,即i=0;

        2)循環(huán)體設(shè)計。每次執(zhí)行循環(huán)體前,0到i的元素有序排列。所以循環(huán)體通過冒泡算法確定i+1位置的元素,偽代碼如下:

        i++;

        n-1到i冒泡;

        當(dāng)進(jìn)入下一次循環(huán)結(jié)束前,保證了約束的一致性,即0到i的元素有序;

        3)循環(huán)條件的設(shè)計。循環(huán)結(jié)束時應(yīng)得到有序的元素序列,即0到n-1的元素有序。因此循環(huán)結(jié)束時i的值為n-1,條件即是i

        i=0;

        while(i

        i++;

        n-1到i冒泡;

        }

        3.2 約瑟夫環(huán)案例設(shè)計

        約瑟夫環(huán)問題:n個按序編號的小孩圍成一圈,從1到m報數(shù),數(shù)到m的小孩出列,下一個小孩從1繼續(xù)開始報數(shù),以此類推,求小孩的出列順序。

        步驟1:確定信息表示。結(jié)果用數(shù)組記錄出列順序,數(shù)組下標(biāo)對應(yīng)小孩編號,數(shù)組值為0表示沒有出列;

        步驟2:確定循環(huán)體的基本操作為處理一個小孩的報數(shù)(不管該小孩是否出列);

        步驟3:確定循環(huán)變量集合。數(shù)組a用來記錄結(jié)果,i表示將要處理的小孩,j表示將要報的數(shù),k表示將要出列的順序號(從1開始);

        步驟4:確定循環(huán)前的依賴集合。如果a[i]的值不是0,則本次循環(huán)結(jié)束;如果j的值是m,則a[i]的值賦k;

        步驟5:確定循環(huán)邊界。循環(huán)結(jié)束時將要出列的順序號應(yīng)該為n+1;

        步驟6:設(shè)計循環(huán)體。

        1)初始化。根據(jù)循環(huán)變量含義,首次循環(huán)之前數(shù)組元素的值應(yīng)為0,i=0,j=1,k=1;

        2)循環(huán)體設(shè)計。每次循環(huán)前的循環(huán)變量的含義及約束不變,因此在循環(huán)體內(nèi)改變各個循環(huán)變量邏輯的偽代碼如下:

        If(a[i]==0){ //小孩沒出列

        If(j==m){ //報數(shù)為m

        a[i]=k; //小孩出列

        k++;j=1;? //修改k,j的值,為下次循環(huán)做準(zhǔn)備

        } }

        i++; if(i==n-1)i=0;? //準(zhǔn)備處理下一個小孩

        3)循環(huán)條件設(shè)計。循環(huán)結(jié)束時所有小孩都出列了,此時k等于n+1,即while(k<=n)。

        需要強(qiáng)調(diào)的是,由于變量的含義是隨著其值的變化而變化,所以約束集合應(yīng)該在進(jìn)入循環(huán)之前確定。對照步驟5,即可驗證循環(huán)結(jié)構(gòu)的正確性。實際設(shè)計中的信息表示存在多種方式,如i可以表示為0到i-1的元素有序,這需要根據(jù)具體的信息進(jìn)行邏輯推理而定,也是提升學(xué)生計算思維和邏輯思維能力的一種途徑。

        4 實踐效果及結(jié)論

        近三年的教學(xué)實踐表明,基于循環(huán)不變式的教學(xué)方法對學(xué)生理解循環(huán)程序設(shè)計的本質(zhì),提高循環(huán)程序設(shè)計能力乃至程序設(shè)計基礎(chǔ)的課程成績均有比較好的效果。學(xué)生對循環(huán)控制結(jié)構(gòu)的正確理解和應(yīng)用已不成問題,程序設(shè)計基礎(chǔ)課程的平均成績由70分以下提高到80分以上,不及格人數(shù)大幅減少,明顯地提升了學(xué)生學(xué)習(xí)程序設(shè)計的自信力和興趣。由此可見,循環(huán)不變式的教學(xué)方法重構(gòu)了傳統(tǒng)的重語法輕邏輯的教學(xué)方式,從程序的內(nèi)在邏輯入手,融合學(xué)生計算思維和邏輯思維能力的培養(yǎng)和訓(xùn)練,實際教學(xué)效果明顯,具有推廣和應(yīng)用前景。

        參考文獻(xiàn):

        [1] 劉鑫,王忠,范青剛,等.智能時代程序設(shè)計基礎(chǔ)課程改革實踐探索[J].計算機(jī)教育,2022(6):194-199.

        [2] 姜懿烊.以計算思維為導(dǎo)向的中職C程序設(shè)計教學(xué)模式研究[D].長春:長春師范大學(xué),2021.

        [3] 李運(yùn)發(fā).以應(yīng)用需求為導(dǎo)向的程序設(shè)計課程教學(xué)改革[J].軟件導(dǎo)刊,2021,20(12):221-225.

        [4] 楊衛(wèi)明.大數(shù)據(jù)智能化背景下程序設(shè)計課程線上線下混合教學(xué)模式構(gòu)建[J].計算機(jī)時代,2021(5):84-87.

        [5] 易鋒,馬慧,何懷文,等.對比教學(xué)法在程序設(shè)計基礎(chǔ)課程中的應(yīng)用實踐研究[J].電腦知識與技術(shù),2022,18(20):155-157.

        【通聯(lián)編輯:王力】

        猜你喜歡
        邏輯思維計算思維程序設(shè)計
        基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
        從細(xì)節(jié)入手,談PLC程序設(shè)計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        高職高專院校C語言程序設(shè)計教學(xué)改革探索
        淺析例題法在高中物理學(xué)習(xí)中的應(yīng)用
        通過認(rèn)知規(guī)律進(jìn)行邏輯思維訓(xùn)練芻議
        考試周刊(2016年84期)2016-11-11 22:25:11
        淺析高中數(shù)學(xué)解題方法和技巧
        考試周刊(2016年86期)2016-11-11 07:57:30
        程序設(shè)計課程中計算思維和應(yīng)用能力培養(yǎng)問題研究
        民族高校C語言程序設(shè)計課程教學(xué)改革的研究
        軟件工程(2016年8期)2016-10-25 16:03:32
        算法的案例教學(xué)探析
        淺談藝術(shù)專業(yè)學(xué)生計算思維能力的培養(yǎng)
        国产精品卡一卡二卡三| 视频网站在线观看不卡| 人妻秘书被社长浓厚接吻| 国产高清乱码又大又圆| 亚洲欧美牲交| 亚洲av中文无码字幕色三| 日本高清色惰www在线视频| 亚洲人av毛片一区二区| 国产成人av三级三级三级在线 | 四虎成人免费| 久久久久一| 国产成人av区一区二区三| 午夜一区二区三区观看| 天堂8在线天堂资源bt| 久热这里只有精品99国产| 久久精品成人亚洲另类欧美| 国产午夜精品久久精品| 精品av熟女一区二区偷窥海滩 | 亚洲国产精品特色大片观看完整版 | 亚洲春色视频在线观看| 日本精品视频二区三区| 欧美黑人性暴力猛交喷水黑人巨大| 亚洲AV永久青草无码性色av| 一本之道加勒比在线观看| 一区二区三区四区亚洲免费| 久久亚洲中文字幕精品一区| 无码va在线观看| 国产亚洲精品bt天堂| 俺来也三区四区高清视频在线观看| 亚洲成人精品在线一区二区| 在线观看视频播放| 孩交精品xxxx视频视频| 免费看奶头视频的网站| 国产成人高清亚洲一区二区| 人妻少妇看a偷人无码| 无码三级在线看中文字幕完整版 | 全程国语对白资源在线观看| 中文字幕有码人妻在线| 国内揄拍国内精品少妇| 国产精品久久国产精麻豆99网站| 久久久久久无中无码|