亚洲免费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)
        国产精品_国产精品_k频道w| 蜜桃久久综合一区二区| 在线观看亚洲第一黄片| 国产99久久久国产精品免费看| 亚洲日韩欧美一区二区三区| 国产精品香蕉网页在线播放| 日韩精品极视频在线观看免费| 日本在线 | 中文| 久久久久久久性潮| 91热爆在线精品| 激情五月天色婷婷久久| 男人和女人做爽爽免费视频| 天天爽天天爽天天爽| 久久久久久无码AV成人影院| 国产色av一区二区三区| 无码人妻丰满熟妇区五十路| 人人狠狠综合久久亚洲婷婷| 国产高清黄色在线观看91| 中文国产乱码在线人妻一区二区 | 亚洲视频中文字幕更新| 亚洲精品中文字幕一区二区| 亚洲熟女乱色综合亚洲av| 午夜亚洲AV成人无码国产| 日韩精品一区二区三区av| аⅴ天堂中文在线网| 精品久久久久久中文字幕| 久国产精品久久精品国产四虎| 网站在线观看视频一区二区| 妺妺窝人体色www看美女| 国产特级全黄一级毛片不卡| 一本色道亚州综合久久精品| 欧美高清视频手机在在线| 国产免费av片在线观看播放| 99国产精品无码专区| 男女做那个视频网站国产| 曰欧一片内射vα在线影院| 亚洲AⅤ永久无码精品AA| 国产福利一区二区三区在线观看| 亚洲av综合av国产av中文| 中文字幕喷水一区二区| 一区二区三区在线观看视频免费|