屈彪+程鑫君+姜蓉+譚劍波
摘要:編程能力是計(jì)算思維訓(xùn)練中的重要內(nèi)容,編程能力的提高是一個(gè)循序漸進(jìn)的過(guò)程。該文以“循環(huán)報(bào)數(shù),逢N退出”問(wèn)題為例,利用計(jì)算機(jī)相關(guān)知識(shí),分別從不同的角度,對(duì)該問(wèn)題的求解過(guò)程進(jìn)行了有益的探討,對(duì)于加強(qiáng)計(jì)算機(jī)思維的訓(xùn)練、加深對(duì)計(jì)算機(jī)基礎(chǔ)知識(shí)的理解與應(yīng)用、加速推進(jìn)氣象工作信息化建設(shè)、特別是對(duì)于雷電信息數(shù)據(jù)處理與分析都有較大幫助。
關(guān)鍵詞:面向?qū)ο?;棧;?duì)列;循環(huán)鏈表;計(jì)算思維;雷電信息
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)28-0248-03
周以真(Jeannette M.Wing)提出的計(jì)算思維(Computational Thinking)是指運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)及相關(guān)領(lǐng)域的一系列思維活動(dòng)。計(jì)算思維的有效訓(xùn)練與運(yùn)用對(duì)于氣象工作信息化特別是雷電數(shù)據(jù)實(shí)時(shí)處理與分析非常重要。本文從一經(jīng)典例子出發(fā),在JAVA平臺(tái)下,采用拓展型方法對(duì)該問(wèn)題進(jìn)行求解,分別采用數(shù)組、鏈表、棧、隊(duì)列等多種方法進(jìn)行計(jì)算,從而達(dá)到提高思維與能力訓(xùn)練的目的。
問(wèn)題描述: 設(shè)有n個(gè)人,如右圖1所示圍成一圈,對(duì)這n個(gè)人順次從1到n進(jìn)行編號(hào)。然后從第1個(gè)人開始,逆時(shí)針順次以1,2,…,N, 1,2,…,N,…循環(huán)報(bào)數(shù),只要某個(gè)人報(bào)到的數(shù)字是N,則退出該圈,當(dāng)這個(gè)圈中只剩一個(gè)人時(shí)則停止報(bào)數(shù)。試計(jì)算最后留下的人的編號(hào)多少?
1 利用數(shù)組實(shí)現(xiàn)計(jì)算
數(shù)組是由具有相同數(shù)據(jù)類型的、且有一定順序關(guān)系的元素所構(gòu)成的集合。概述中提出的問(wèn)題的數(shù)組算法的關(guān)鍵是設(shè)置一個(gè)計(jì)數(shù)器,在循環(huán)報(bào)數(shù)的過(guò)程中,讓滿足條件的人不斷退出數(shù)組(以整數(shù)0表示),直至數(shù)組中僅剩余一人為止。詳細(xì)算法如下。
6 結(jié)束語(yǔ)
編程能力是計(jì)算思維訓(xùn)練中的重要內(nèi)容,訓(xùn)練方法多種多樣,編程能力的提高也是一個(gè)循序漸進(jìn)、不斷總結(jié)、不斷探索的過(guò)程。本文以一個(gè)典型例子,利用計(jì)算機(jī)相關(guān)知識(shí),分別從不同的角度,對(duì)該問(wèn)題的求解過(guò)程進(jìn)行了有益的探討,對(duì)于加強(qiáng)思維訓(xùn)練、加深對(duì)計(jì)算機(jī)基礎(chǔ)知識(shí)的理解與應(yīng)用,加速推進(jìn)氣象工作信息化建設(shè)、特別是雷電信息數(shù)據(jù)處理與分析都有較大幫助。
參考文獻(xiàn):
[1] 張東, 龔曉娟. 發(fā)散性思維與一題多解[J]. 新疆職業(yè)大學(xué)學(xué)報(bào), 2004(1):79-80.
[2] 馬苗, 田紅鵬. “面向?qū)ο蟪绦蛟O(shè)計(jì)與C++”教學(xué)中的問(wèn)題與思考[J]. 計(jì)算機(jī)教育, 2008(6):81-82.
[3] 印旻, 王行言. Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)[M]. 2版0北京: 清華大學(xué)出版社, 2007.
[4] 陳國(guó)君, 陳磊, 鄒林達(dá), 等. Java程序設(shè)計(jì)基礎(chǔ)[M]. 5版.北京: 清華大學(xué)出版社, 2015.endprint