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

        ?

        談科學(xué)思維方法在“C 程序設(shè)計”教學(xué)中的運(yùn)用

        2024-01-21 18:52:42李曉會
        關(guān)鍵詞:窮舉程序設(shè)計科學(xué)

        崔 杰,趙 穎,李曉會

        (遼寧工業(yè)大學(xué) 電子與信息工程學(xué)院,遼寧 錦州 121001)

        二十一世紀(jì)是一個信息技術(shù)高速發(fā)展的時代,以計算機(jī)技術(shù)為代表的信息技術(shù)已經(jīng)逐步滲透到社會的各個領(lǐng)域,計算機(jī)已經(jīng)成為學(xué)習(xí)、生產(chǎn)、生活必備的工具,并發(fā)揮著重大的作用。作為新一代的大學(xué)生,對計算機(jī)技術(shù)的掌握尤為重要,不僅要掌握計算機(jī)的應(yīng)用,還要提高自己的思維能力以及遇到問題能夠進(jìn)行分析應(yīng)變的能力。能夠恰當(dāng)?shù)剡\(yùn)用科學(xué)的思維方法借助計算機(jī)高效地解決生活和工作中遇到的問題,是當(dāng)代大學(xué)生需要逐步培養(yǎng)并具備的能力[1]。在大學(xué)階段,程序設(shè)計課程無疑是培養(yǎng)大學(xué)生計算機(jī)能力及科學(xué)思維最有效的課程。程序設(shè)計課程是每個大學(xué)的計算機(jī)基礎(chǔ)必修課程,對提升大學(xué)生程序設(shè)計能力和科學(xué)思維能力起著不可或缺的作用。有效地訓(xùn)練和培養(yǎng)學(xué)生的科學(xué)思維能力,成為大學(xué)教師不可忽視的教學(xué)目標(biāo)。在傳統(tǒng)的“C 程序設(shè)計”教學(xué)過程中,教師只注重程序設(shè)計本身涉及的數(shù)據(jù)結(jié)構(gòu)和算法的講解,對程序設(shè)計中應(yīng)用到的多種思維方法很少提及,學(xué)生也只是機(jī)械地學(xué)習(xí)編寫程序。程序設(shè)計中涉及很多的科學(xué)思維方法,常見的思維方法比如窮舉思維、發(fā)散思維、遞歸思維等。在教學(xué)過程中要有意識地將程序設(shè)計教學(xué)與科學(xué)思維方法聯(lián)系起來[2],并要貫穿課程始終。

        一、科學(xué)思維方法的重要性

        大學(xué)階段是學(xué)生自主學(xué)習(xí)及培養(yǎng)思維能力的黃金階段,要培養(yǎng)一個合格的大學(xué)生,首先要從培養(yǎng)他的思維能力開始,使其逐步養(yǎng)成用科學(xué)的思維方法思考問題、解決問題的習(xí)慣。如果教師只教給學(xué)生現(xiàn)象背后的原理或操作流程,學(xué)生的收益是很有限的。科學(xué)思維方法能讓學(xué)生用敏銳、有創(chuàng)造性的眼光去看待事物,沉穩(wěn)面對挑戰(zhàn),用正確高效的方式去處理問題。養(yǎng)成這樣一種做事的習(xí)慣,將來無論到什么領(lǐng)域,學(xué)生們總是能依賴成功的思維方式解決問題,若把這種思維應(yīng)用到工作、生活的方方面面,那它就能發(fā)揮更大的作用。

        二、科學(xué)思維方法在“C 程序設(shè)計”教學(xué)中的運(yùn)用

        傳統(tǒng)的“C 程序設(shè)計”課堂不會刻意講授科學(xué)的思維方法,但是科學(xué)思維方法在“C 程序設(shè)計”中卻實(shí)實(shí)在在地被應(yīng)用到。在傳統(tǒng)的教學(xué)模式下,科學(xué)思維方法的傳授并沒有得到教師的足夠重視。筆者依據(jù)多年積累的C 程序設(shè)計課程教學(xué)經(jīng)驗(yàn),對程序設(shè)計中涉及的科學(xué)思維方法進(jìn)行歸納總結(jié)。在課程講授的過程中,選取恰當(dāng)?shù)陌咐M(jìn)行分析,使學(xué)生逐步養(yǎng)成用科學(xué)的思維方法來分析、解決問題的習(xí)慣,使學(xué)生學(xué)習(xí)程序設(shè)計的興趣也得到很大的激發(fā),學(xué)習(xí)質(zhì)量得以提升。本文主要講解窮舉思維、發(fā)散思維、遞歸思維在“C 程序設(shè)計”教學(xué)中的運(yùn)用。

        (一)窮舉思維

        窮舉思維是一種最簡單、最直接且有效的解決問題的思維方法。雖然簡單直接,卻可以解決很多計算機(jī)領(lǐng)域中的計算問題。它的思想是根據(jù)問題的描述來確定數(shù)據(jù)個數(shù)及大致范圍,根據(jù)要求設(shè)置判斷的條件,對范圍內(nèi)的數(shù)據(jù)逐一去檢查核對,直到找出全部的結(jié)果為止。如果排查完所有情況后都沒有符合要求的條件,則本題無解。窮舉思維在整個計算機(jī)領(lǐng)域的應(yīng)用非常廣泛,看似簡單的窮舉思維方法,卻能夠利用計算機(jī)解決很多的問題。在程序設(shè)計中經(jīng)常遇到的密碼破譯問題、素數(shù)問題、完數(shù)問題、水仙花數(shù)問題、邏輯判斷問題、雞兔共籠問題、硬幣問題等很多問題都是可以通過窮舉思維來解決的。窮舉的應(yīng)用領(lǐng)域也非常廣闊,在理論上,由于計算機(jī)計算速度很快,采用窮舉法可使計算領(lǐng)域中的多種問題得到解決。在現(xiàn)實(shí)應(yīng)用中,如果要解決的問題需要的數(shù)據(jù)量不是很大,那么就沒有必要花很大的代價去設(shè)計一種更高效的算法,用窮舉算法實(shí)現(xiàn)其運(yùn)算速度一般情況下都是可以接受的。

        窮舉法也稱為列舉法,最終要列舉出全部需要的結(jié)果。根據(jù)窮舉法獲得結(jié)果數(shù)據(jù)類型的不同,可以分成簡單數(shù)據(jù)、數(shù)據(jù)的排列、數(shù)據(jù)的組合,分別對應(yīng)下面3 種列舉方法,分別為順序列舉、排列列舉和組合列舉。

        用窮舉法解決計算問題,大致可以分以下3 個步驟:

        1.確定范圍:分析問題涉及哪些情況,設(shè)置窮舉的循環(huán)范圍。應(yīng)用窮舉法解決時,對涉及的每種情況必須一一列舉,既不要遺漏,也不要重復(fù),否則可能會導(dǎo)致解的遺漏或增加。

        2.設(shè)計條件:首先將滿足問題的條件描述出來,然后利用選擇結(jié)構(gòu)進(jìn)行條件判定的實(shí)施,最后得到問題所有需要的解。

        3.運(yùn)行及結(jié)果分析:

        以排列列舉為例:排列列舉每一個要求的結(jié)果都是一些數(shù)據(jù)的排列。以幼兒園老師分玩具為例:有5 個不同的玩具,要分給甲、乙、丙3 位同學(xué),分配原則就是每個同學(xué)只能分到1 個玩具,請問老師有多少種不同的分玩具的方案?

        (1)分析

        本題是一個典型的排列窮舉實(shí)例,答案是一個排列問題,即從5 個玩具中取3 個進(jìn)行排列的方法的總數(shù)。為了區(qū)分不同的玩具,需要將5 個玩具進(jìn)行從1 到5 編號。最終的結(jié)果是3 個同學(xué)每人分到1 個玩具,必須滿足3 個人所得到的玩具的編號都不相同,這就是滿足題目要求的1 種分玩具方案。列出所有的分配方案就是最終的解。

        (2)實(shí)現(xiàn)代碼如下:

        (3)運(yùn)行程序

        程序運(yùn)行后最終會有60 種分配方案,如果不列舉,學(xué)生也不會想到會有如此多的分配方案,通過本題目的學(xué)習(xí),會使學(xué)生深刻體會到計算機(jī)與窮舉法結(jié)合的魅力。

        (二)發(fā)散思維

        發(fā)散思維是創(chuàng)新型人才應(yīng)具備的最主要的特點(diǎn),是評價人才創(chuàng)新能力的重要標(biāo)志之一。發(fā)散思維是從待解決的問題出發(fā),以不同的途徑和方法尋求多種解決問題的答案,最終比較方法之間的優(yōu)劣以獲得最終解決問題的思維方法。在心理學(xué)領(lǐng)域,發(fā)散思維是大腦在思維時不按照一貫的想法去思考,通常呈現(xiàn)一種發(fā)散狀態(tài)的思維模式。發(fā)散思維能夠使人產(chǎn)生奇思妙想、拓展思路、開闊視野、轉(zhuǎn)換看待問題的角度,從而實(shí)現(xiàn)人才培養(yǎng)的全面發(fā)展。在C 程序設(shè)計課程的教學(xué)中,教師可以設(shè)計一些可以多路解決的程序設(shè)計題目,通過該類題目的訓(xùn)練來逐步培養(yǎng)和訓(xùn)練學(xué)生的發(fā)散思維能力。不同的學(xué)生看待問題的角度不同,做題的方法也就不同。首先,教師應(yīng)積極鼓勵學(xué)生勤于思考,拓寬思路,對學(xué)生的思維給予鼓勵和肯定。其次,教師匯總學(xué)生的不同解決方法,引導(dǎo)學(xué)生分析不同方法的優(yōu)缺點(diǎn)及適應(yīng)情況,達(dá)到舉一反三的效果。以此教會學(xué)生發(fā)散性思維,使學(xué)生后續(xù)的程序設(shè)計的學(xué)習(xí)效果更為顯著。

        在“C 程序設(shè)計”教學(xué)之初,發(fā)散思維就給學(xué)生留下了深刻的印象。例如求3 個數(shù)的最小值問題,是非常簡單的一道題,通過該題,卻讓學(xué)生實(shí)實(shí)在在體會到從不同角度、不拘一格的發(fā)散思維方法。求3 個數(shù)的最小值,首先,教師提出問題,學(xué)生分組討論采用怎樣的方法來解決,每組學(xué)生都可以列出幾種方法,雖然方法不夠完善,但已經(jīng)足夠讓學(xué)生了解到發(fā)散思維的魅力。其次,由教師進(jìn)行總結(jié),該問題基本上可以從3 個方向來分析解決,即1 個1 個數(shù)比較;2 個2 個數(shù)比較;3 個數(shù)一起比較。最后,教師與學(xué)生一起討論每種方法的優(yōu)劣及適用情況,哪種方法適合數(shù)據(jù)量比較大的情況,最終得出結(jié)論是前兩種方法更加適合推廣,為后續(xù)的選擇排序和冒泡排序埋下伏筆。解決求3 個數(shù)的最小值問題不但能開闊思路,同時也用到了if 選擇結(jié)構(gòu)的3種形式及if 的嵌套,使學(xué)生把所學(xué)的知識融會貫通,對發(fā)散思維也有了更深的理解,為后續(xù)的“C 程序設(shè)計”學(xué)習(xí)奠定了良好的基礎(chǔ)。

        (三)遞歸思維

        遞歸思維方法比較難于理解,本文利用淺顯易懂的實(shí)例來講解遞歸思維方法。遞歸思維分為兩部分,遞推與回歸。遞推從問題向后推,一直推到能得到結(jié)果之后向前回歸,一直回歸到欲求問題的本身,使問題最終得以解決。同時,遞歸也存在不足之處,在遞歸調(diào)用的過程當(dāng)中系統(tǒng)為每一層的返回點(diǎn)、局部量等開辟了棧來存儲,遞歸次數(shù)過多容易造成棧溢出等,所以在遞歸次數(shù)過多的情況下不提倡用該方法。

        但如果算法很復(fù)雜,卻具有遞推和回歸的特性,利用遞歸算法編寫程序,可以使程序變得簡潔和清晰。遞歸算法在程序設(shè)計中應(yīng)用廣泛,“漢諾塔”[3]問題就是典型的代表,該算法非常具有遞歸的代表性,但對初學(xué)者來說不容易理解。因此,作為遞歸算法的入門,筆者選取一個非常簡單的游戲來進(jìn)行算法的入門講解,然后再讓學(xué)生去解決“漢諾塔”問題,學(xué)生有了興趣,解決問題的積極性也就提高了,問題也就變得沒那么難了。

        遞歸思維舉例:猜一猜學(xué)生年齡問題游戲

        讓班級中的5 個同學(xué)到前面站成一排,大家來猜一猜第1 個同學(xué)的年齡。第1 個同學(xué)說我比第2個同學(xué)大2 歲;第2 個同學(xué)說他比第3 個同學(xué)大2歲;第3 個同學(xué)說他比第4 個同學(xué)大2 歲;第4 個同學(xué)說他比第5 個同學(xué)大2 歲。最后第5 個同學(xué)說他的年齡是3 歲。請問誰能知道第一個同學(xué)的年齡是多大?

        學(xué)生開始猜,如果想知道第1 個同學(xué)的年齡,要向后推問第2 個同學(xué)的年齡,想知道第2 個同學(xué)的年齡,要向后推問第3 個同學(xué)的年齡,以此類推一直推到第5 個同學(xué)的年齡。已知第5 個同學(xué)的年齡是3 歲,通過回歸就可以知道第4 個同學(xué)的年齡是5 歲,再回歸就可以知道第3 個同學(xué)的年齡是7歲,一直回歸就可以知道第1 個同學(xué)的年齡是11歲,這就是典型的遞歸算法的應(yīng)用。

        遞歸算法代碼實(shí)現(xiàn)如下:

        遞歸算法分析:

        1.在調(diào)用函數(shù)的過程中又直接或間接調(diào)用了該函數(shù)本身,進(jìn)行層層調(diào)用,一直調(diào)用到遞推結(jié)束的條件,然后層層返回,一直到最初的調(diào)用位置。

        2.必須有遞推結(jié)束的條件

        通過這個猜年齡的小游戲讓學(xué)生深刻體會到遞歸算法的神奇,充分調(diào)動了學(xué)生的學(xué)習(xí)興趣,加深了學(xué)生對遞歸思維的理解,逐步掌握了遞歸思維解決問題的方法[4]。課后讓學(xué)生自己玩“漢諾塔”游戲,親身體驗(yàn)游戲的過程,進(jìn)行小組討論如何利用遞歸算法來解決“漢諾塔”問題。教材中有“漢諾塔”的范例,如果學(xué)生理解得不夠透徹,可以借助教材,最終也能夠順利解決。通過讓學(xué)生自己分析,寫出遞推函數(shù),達(dá)到了舉一反三、對所學(xué)知識能夠靈活應(yīng)用的目的。

        三、總結(jié)

        科學(xué)思維方法有很多,在教學(xué)中需要不斷積累,找到合適的案例,恰到好處地將科學(xué)思維加以運(yùn)用,才能使教學(xué)達(dá)到預(yù)期的效果。科學(xué)思維的引入使學(xué)生對編程的興趣明顯增強(qiáng),無論是在期末考試還是在程序設(shè)計大賽中都有不錯的表現(xiàn)。在C程序設(shè)計課程教學(xué)中,教師通過有意識地培養(yǎng)學(xué)生的科學(xué)思維方式,使他們在遇到問題時能夠勤于思考、善于變通,根據(jù)不同問題的特點(diǎn),選擇不同的方法來解決,把所學(xué)的知識與技術(shù)能夠靈活地運(yùn)用到生產(chǎn)生活中,從而提高了分析問題和解決問題的能力。

        猜你喜歡
        窮舉程序設(shè)計科學(xué)
        強(qiáng)調(diào)舉例,提高學(xué)生數(shù)學(xué)思維的深刻性
        基于Visual Studio Code的C語言程序設(shè)計實(shí)踐教學(xué)探索
        科學(xué)大爆炸
        從細(xì)節(jié)入手,談PLC程序設(shè)計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        淺談初中代數(shù)式最值的求解技巧
        高職高專院校C語言程序設(shè)計教學(xué)改革探索
        科學(xué)
        分布式系統(tǒng)中的一種特殊規(guī)格字符集分片算法
        科學(xué)拔牙
        PLC梯形圖程序設(shè)計技巧及應(yīng)用
        亚洲国产成人久久精品一区| 少妇装睡让我滑了进去| 亚洲欧美日韩人成在线播放| 国产av无码专区亚洲av| 伊人久久综在合线亚洲不卡| 国产日本在线视频| 日本一区二区啪啪视频| 美女免费观看一区二区三区| 手机看片自拍偷拍福利| 成人一区二区免费中文字幕视频| 亚洲av永久无码精品三区在线 | 最新国产三级| 午夜视频免费观看一区二区| 白色白色白色在线观看视频| 日本视频一区二区三区在线观看| 夜夜夜夜曰天天天天拍国产| 狠狠综合久久av一区二区 | 中国少妇×xxxx性裸交| 国产操逼视频| 国产精品一区二区在线观看完整版 | 黄色潮片三级三级三级免费| 蜜桃尤物在线视频免费看| 国内精品久久久久伊人av| 风间由美性色一区二区三区| 久久永久免费视频| 玩弄极品少妇被弄到高潮| 麻豆视频av在线观看| 午夜一区二区视频在线观看| 欧美噜噜久久久xxx| 国产精品无码专区av在线播放| 精品人妻伦九区久久AAA片69| 国产成人精品麻豆| 一区二区三区在线日本视频| 亚洲视频网站大全免费看| 正在播放国产多p交换视频| 国产成人综合在线视频| 国产精品爆乳在线播放| 久久国产精品一区二区| 亚洲av熟女中文字幕| 少妇裸体性生交| 一群黑人大战亚裔女在线播放|