久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

珠算的形式模型與算法

 小柴胡湯 2024-05-04 發(fā)布于江蘇

0 引 言

珠算是我國優(yōu)秀文化遺產(chǎn),,被譽(yù)為“最古老的計(jì)算機(jī)”“中國第五大發(fā)明”,蘊(yùn)含著巨大的文化價(jià)值和強(qiáng)大的數(shù)理功能,。在電子計(jì)算機(jī)發(fā)達(dá)的時(shí)代,,珠算逐漸淡出了人們的視野,珠算文化難以為繼,,珠算“無用論”的觀點(diǎn)在大眾中蔓延開來,。誠然,珠算的計(jì)算作用逐漸被削弱,,但作為中華傳統(tǒng)文化的優(yōu)秀代表,,珠算集中國古代算學(xué)之精華,凝結(jié)了中華民族對(duì)“數(shù)”的認(rèn)識(shí)與應(yīng)用實(shí)踐,,已然成為民族記憶與身份認(rèn)同的重要文化“標(biāo)識(shí)”,,其在教育啟智、體驗(yàn)中國古代數(shù)學(xué)之美,、傳播中國傳統(tǒng)文化等方面一直都蘊(yùn)含著巨大的價(jià)值,。珠算是以算盤為工具的進(jìn)行數(shù)值計(jì)算的一種方法,從籌算演變而來,,最早在東漢徐岳所著《數(shù)術(shù)記遺》[1]中有記載,,于明代開始流行,在很長一段歷史階段內(nèi)是社會(huì)主流的計(jì)算方法,。古代珠算多用口訣描述和記錄各種算法的撥珠規(guī)則,,如大家耳熟能詳?shù)摹叭叨弧薄岸惶碜魑濉倍际侵樗阒械目谠E,,九九乘法表也脫胎于珠算乘法的大九九口訣。珠算主要分為初級(jí)方法如加法,、減法,、乘法、除法,,高級(jí)方法如開平方,、開立方等,每種方法因計(jì)算方式不同,,又有多種算法可選:如乘法有空盤前乘法,、后乘法、留頭乘法等,;除法有商除法,、歸除法、省除法等,;開平方有歸除開平方,、商除開平方、折半開平方等,。

在珠算形式化方面,,文獻(xiàn)[2]中認(rèn)為珠算不只是形而下的“器”,更蘊(yùn)含著高明的“道”,,而展現(xiàn)珠算的道需要把算珠從算盤這個(gè)器中解脫出來,,將古珠算的觀念升華為現(xiàn)代珠算,即將珠算符號(hào)化:算盤上一檔可表示 0—9 十個(gè)數(shù),,10 種算珠組合稱作10 個(gè)珠碼(如圖1所示),將表示 0,、1 和 5 的 3 個(gè)珠碼作為基數(shù)(稱珠母),,然后只需珠母累積即可得 10 個(gè)珠碼,10 個(gè)珠碼并排組合可衍生各種運(yùn)算,。

圖片

市面上的珠算模擬軟件眾多,,PC 平臺(tái)上的“珠心算大師”[3]實(shí)現(xiàn)了珠算四則運(yùn)算的自動(dòng)計(jì)算和演示,并配有出題功能,;“珠心算大師”的亮點(diǎn)在于實(shí)現(xiàn)了兩種乘算和三種除算算法,,能夠滿足用戶多樣的需求。Android 平臺(tái)的珠算模擬軟件“Simple Soroban”[4]界面美觀,,并配有詳細(xì)的珠算四則運(yùn)算教學(xué)和練習(xí)題庫,;網(wǎng)站“sorobanexam”[5]也對(duì)珠算四則運(yùn)算進(jìn)行了可分步演示的實(shí)現(xiàn),。市面上缺乏實(shí)現(xiàn)珠算開方運(yùn)算模擬的軟件,,沒有完全展現(xiàn)出珠算強(qiáng)大的數(shù)理功能。

算盤由算珠,、梁和框組成,,珠算就是在這一結(jié)構(gòu)之上通過撥動(dòng)算珠(撥珠靠梁為加,,撥珠離梁為減)改變珠和梁的關(guān)系以形象化數(shù)學(xué)的各種運(yùn)算。本文在抽象層面首先通過對(duì)算盤進(jìn)行建模,,建立起阿拉伯?dāng)?shù)字和用算盤表示的數(shù)字之間的映射,,然后基于算盤的形式模型建立珠算加減乘除和開平方運(yùn)算的形式模型與相應(yīng)的算法;在設(shè)計(jì)層面,,基于 C++語言和可視化庫 EasyX[6]研制了一套珠算可視化演示與學(xué)習(xí)系統(tǒng),,實(shí)現(xiàn)了所建立的珠算形式模型與算法,。珠算加法和減法的建模主要依據(jù)《新刻訂正家傳秘訣盤珠算士民利用》[7](簡稱《盤珠算法》)中的加法和減法口訣,,乘法以現(xiàn)代的空盤前乘法為基礎(chǔ),除法以商除法為基礎(chǔ),,開平方算法以折半開平方算法為基礎(chǔ),。

本文的主要貢獻(xiàn):①建立算盤、珠算四則運(yùn)算和開平方運(yùn)算的形式模型,,降低珠算的復(fù)雜度,,使珠算可復(fù)現(xiàn),具有可操作性,;②基于 C++語言和可視化庫 EasyX 研制一套珠算可視化演示與學(xué)習(xí)系統(tǒng)[8],,實(shí)現(xiàn)珠算的形式模型與算法,特別是實(shí)現(xiàn)珠算開平方算法的自動(dòng)化和可視化,。

1 算盤的形式模型

珠算的本質(zhì)是通過一定的規(guī)則(即算法),,增減算珠,從而完成特定的數(shù)學(xué)運(yùn)算,。珠算的各種算法是在算盤這個(gè)實(shí)體上進(jìn)行的,,為了實(shí)現(xiàn)珠算算法的形式化,首先需要對(duì)算盤進(jìn)行完整的抽象,,即把算盤符號(hào)化,,然后在算盤形式模型的基礎(chǔ)上建立珠算四則運(yùn)算和開平方運(yùn)算所對(duì)應(yīng)的形式模型與算法。本文使用 5 珠×15 檔算盤,,左邊表示高檔(高位),,右邊表示低檔(低位),,每檔梁上 1 珠(每珠表示 5),梁下 4 珠(每珠表示 1),。

根據(jù)算盤的結(jié)構(gòu),,可以將算盤的上珠和下珠作為符號(hào)化的基本單元。算盤共有 15 檔,,因此上珠符號(hào)和下珠符號(hào)各有 15 個(gè),。這樣一個(gè)上珠符號(hào)和一個(gè)下珠符號(hào)便構(gòu)成了數(shù)學(xué)中“位”的概念,而各個(gè)位又組成了數(shù),,如此便可剝?nèi)ニ惚P的“形”,,留下算盤的“神”。數(shù) 17 從算盤抽象出來就是兩個(gè)數(shù)組類型的元組如圖 2 所示,。Upper 存儲(chǔ)了上珠符號(hào)的值,,Lower 存儲(chǔ)了下珠符號(hào)的值,不同位置的算珠符號(hào)代表不同的位,,左為高位,,右為低位,且規(guī)定小數(shù)位在第 13 檔和 14 檔之間,,這樣算盤便可表示最高兩位小數(shù),,以此為基礎(chǔ),可以建立起算盤的形式模型:

圖片

ji,、j  和 d,、UpperLower 配合使用,,表示算盤上的檔位,。規(guī)定算盤最左邊是第 1 檔,1 ≤ ≤ 15,,1 ≤ ≤ 15,。

d:算盤上所表示的阿拉伯?dāng)?shù)字。為防止溢出,,的小數(shù)部分不超過 2 位,,整數(shù)部分不超過 13 位。為方便運(yùn)算,,規(guī)定 有一個(gè)長度固定為 15 位的填充序列,,其第 位用 d[i] 表示,d[i] = 5*Ui+LiUi,、L在下文解釋),;第 i位用 d[ij] 表示。例如 d=17.2時(shí),其填充序列為000000000001720,,d[14]=2,,d[12,14]=172。

len:表示 整數(shù)部分的位數(shù),。例如 d=17.2 時(shí),len=2,。

Upper:數(shù)字 在算盤梁上部分的表示,,是一個(gè)從左至右各檔梁上靠近梁的算珠數(shù)構(gòu)成的 1×15 數(shù)組,表示為圖片0 ≤ U≤ 1,,為方便表示,,將 U記作 Upper[i]。

Lower:數(shù)字 在算盤梁下部分的表示,,是一個(gè)從左至右各檔梁下靠近梁的算珠數(shù)構(gòu)成的 1×15 數(shù)組,,表示為 圖片0 ≤ L≤ 4。為方便表示,,將 L記作 Lower[i],。

圖片

為了用數(shù)學(xué)語言描述模型中各個(gè)元組間的計(jì)算,還需要在阿拉伯?dāng)?shù)字(d)和從算盤抽象出來的符號(hào)(Upper,,Lower)之間建立起一座互通的“橋梁”,,使得這兩種表示數(shù)的方式能夠相互轉(zhuǎn)換。根據(jù)算盤的結(jié)構(gòu),,設(shè)計(jì)了公式(1)和(2)成 與 Upper,、Lower 之間的轉(zhuǎn)換。公式(1)計(jì)算算盤每一檔所表示的數(shù),,并與其十進(jìn)制的計(jì)量單位相乘,,將每一檔的積累加,最終得到算盤上所表示的數(shù),。為避免無效計(jì)算,,的范圍為 15~13-len。公式(2)中的圖片意為首先依次取 的每一位,,然后將其除以 5(“/5”)可得上珠(Ui)個(gè)數(shù),,用 5 取余(“%5”)可得下珠個(gè)數(shù)(Li),對(duì)于 所不存在的位(即 0≤i≤13-len 時(shí)),,Ui,、L皆為 0。

圖片

2 珠算加減法的形式模型與算法描述

加法有兩個(gè)操作數(shù),,被加數(shù)和加數(shù),,自然地可以在算盤的形式模型(下文稱基礎(chǔ)模型)之上建立珠算加法的形式模型:被加數(shù)和加數(shù)分別用一個(gè)基礎(chǔ)模型表示,然后添加一個(gè)元組存儲(chǔ)加法運(yùn)算的結(jié)果。由于加法有進(jìn)位,,為方便計(jì)算,,再添加一個(gè)基礎(chǔ)模型表示進(jìn)位數(shù),據(jù)此,,珠算加法的形式模型如下:

圖片

i,,j:表示算盤上的擋位,基礎(chǔ)模型中已寫明,,此處不再贅述,。

Aug:被加數(shù)的算盤形式,Aug=<Aug.dAug.lenAug.UpperAug.Lower>,,為避免溢出,,規(guī)定Aug.d 整數(shù)部分的位數(shù)小于等于 12,小數(shù)部分的位數(shù)小于等于 2,。

Add:加數(shù)的算盤形式,,Add=<Add.dAdd.lenAdd.UpperAdd.Lower>,為避免溢出,,規(guī)定 Add.d  整數(shù)部分的位數(shù)小于等于 12,,小數(shù)部分的位數(shù)小于等于 2。

Ca:進(jìn)位數(shù)的算盤形式,,Ca=<Ca.dCa.lenCa.UpperCa.Lower>,。若本位(第 檔)產(chǎn)生進(jìn)位,設(shè)上檔(本檔的前一檔)為第 jj=i-1)位,,則有公式(3),。

圖片

r:存儲(chǔ)珠算加法的結(jié)果,用阿拉伯?dāng)?shù)字形式表示,。

《盤珠算法》上所載加法口訣“一上一……一下五去四……一去九進(jìn)一……”描述了進(jìn)行珠算加法時(shí)的撥珠規(guī)則,,對(duì)其歸類整理成表 1。表中每句口訣的第一個(gè)數(shù)字是加數(shù),,其余為撥珠動(dòng)作,。表示撥珠動(dòng)作的有“上”“下”“去”“進(jìn)”4 個(gè)字?!吧稀奔醇由?;“下”為把上珠撥下一個(gè);“去”即減去,;“進(jìn)”為本檔滿十時(shí)在左邊一檔加一,。

根據(jù)是否進(jìn)位,表 1 將加法運(yùn)算的情況分為兩大類,、四小類:直接加,,即只需撥動(dòng)一次算珠的;湊五加,即下珠不夠加,,需要下上珠的,;進(jìn)十加,即產(chǎn)生進(jìn)位的,;進(jìn)十破五加,,即產(chǎn)生進(jìn)位且需要撥去上珠的。這 4 種情況在實(shí)際打算盤時(shí),,并不需要嚴(yán)格記憶,,只需觀察盤面就可做到心中有數(shù),但如果脫離算盤這個(gè)實(shí)體,,將珠算符號(hào)化,則需要給定具體的判定條件,。在何種條件下使用何種口訣(規(guī)則)改變算珠符號(hào)的值,,是形式化和自動(dòng)化珠算算法的主要內(nèi)容和難點(diǎn)。

圖片

珠算加法的運(yùn)算過程首先是將被加數(shù)布于盤面,,然后從左至右和加數(shù)依次做一位加法,。為方便描述,設(shè)當(dāng)前需要計(jì)算的檔位為 i,,則被加數(shù)所在位由 Aug.Upper[i] 和 Aug.Lower[i] 表示,,加數(shù)所在位由 Add.Upper[i] 和 Add.Lower[i] 表示。根據(jù)推理和驗(yàn)算,,珠算加法各撥珠規(guī)則的判定流程圖如圖 3 所示,。受限于版面,算法的偽代碼描述已上傳到系統(tǒng)的源代碼倉庫,,下文的其他 4 個(gè)算法同理,。

圖片

珠算減法與加法在結(jié)構(gòu)上相似,只是“加”變?yōu)椤皽p”,,“進(jìn)位”變?yōu)椤敖栉弧?。為避免贅述,直接給出珠算減法的形式模型:

圖片

受限于版面,,珠算減法形式模型與算法的完整介紹請(qǐng)參考源代碼倉庫中的完整版論文,。

3 珠算乘法、除法與開平方

我國珠算乘法所用算法眾多,,分類繁雜,,按計(jì)算順序可分為“前乘法”和“后乘法”兩大類?!侗P珠算法》中最早記載了用累加實(shí)現(xiàn)乘法的“二字奇法”,,即“凡用分物,進(jìn)一隔位而除之。凡用見總,,退一隔位而加之……”,,而國人所熟悉的小九九乘法口訣,在南宋楊輝所著《乘除通算變寶》[9]中有言:“因九九錯(cuò)綜而有合數(shù)陰陽,,凡八十一句,,今人求簡,止年四十五句,,余置不用……”,,這說明乘法口訣早在南宋以前就有了。20 世紀(jì) 50 年代,,珠算工作者施劍揚(yáng)和翁長金兩位打破傳統(tǒng)乘法的約束,,創(chuàng)作了“空盤前乘法”,華印椿對(duì)此酌加改進(jìn)充實(shí),,在《珠算教程》[10]一書中加以介紹和推廣,。“空盤前乘法”在運(yùn)算時(shí),,乘數(shù)和被乘數(shù)都不撥在算盤上,,故有“空盤”之稱。所謂“前乘”,,即從乘數(shù)的首位乘起,,直到末位,把每一位與被乘數(shù)相乘的結(jié)果錯(cuò)位相加,,最后得到乘積,。這種算法相對(duì)傳統(tǒng)的珠算乘法減少了撥珠次數(shù),提高了計(jì)算速度,,簡單易學(xué),,適合大眾。

珠算除法主要有“歸除法”(簡稱歸除)和“商除法”(簡稱商除)兩種,。因歸除熟練后運(yùn)算較快,,明代多用歸除,然而歸除所需口訣眾多(一位除時(shí)用“九歸訣”,,立商時(shí)用“撞歸口訣”,,需退商時(shí)用“退商口訣”),且口訣條目也分類繁雜,,形式化難度較大,。“商除法”起源于籌算商除法,,不用歸除口訣,,比歸除簡便,,計(jì)算方法與筆算除法相似,是筆算除法的珠算化,。商除的核心是商量而除之,,即“商除”是用心算權(quán)衡估量被除數(shù)和除數(shù)以確定商數(shù)。商除法與筆算除法相似,,易于理解,,形式化也較為簡單,故選商除法作為珠算除法形式模型的基礎(chǔ),。

有人以為算盤只能加減乘除,,不能開方,這其實(shí)是誤解,。1996年出版的《世界珠算通典》[11]和 2002 年出版《數(shù)學(xué)辭?!?/span>[12]都記錄了一種叫“折半開平方”的方法,但華印椿 1987 年所著《中國珠算史稿》--[13]的珠算開方的歷史部分對(duì)其并沒有介紹,,推測可能是現(xiàn)代人所創(chuàng)之法,,該法所用口訣很少,運(yùn)算簡練,,以此設(shè)計(jì)珠算開平方的基礎(chǔ)模型,可降低建模的難度,。

同樣由于版面原因,,珠算空盤前乘法、商除法和折半開平方的形式模型與算法描述請(qǐng)讀者移步至源代碼倉庫,,閱讀完整版論文,。

4 結(jié) 語

中國珠算所形成的一套計(jì)算體系實(shí)際上是一種用中國古文表述的公理體系,這種體系(一種計(jì)算模型和算法)因其簡單性和便利性而被人們所采用,,并在中國古代的經(jīng)濟(jì)生活中不斷發(fā)展,、演變直到成熟。本文將這種中國古文表述的公理體系形式化,,對(duì)中國古代靠文字和經(jīng)商之士口口相傳的珠算口訣和規(guī)則的各個(gè)步驟進(jìn)行了明確定義,,將諸多需要心算的部分形式化,使得珠算算法可復(fù)現(xiàn),、可操作,,推翻了江曉原教授在《〈周髀算經(jīng)〉——中國古代唯一的公理化嘗試》[14]一文所提出的“《周髀算經(jīng)》之后,構(gòu)建幾何模型的公理化方法就在古代中國絕響了”的觀點(diǎn),。

參考文獻(xiàn):

[1] 徐岳. 數(shù)術(shù)記遺[M]. 北京: 北京文藝出版社, 2021.

[2] 郭啟庶. 論珠心算使數(shù)學(xué)教學(xué)簡易化并自然與計(jì)算機(jī)教學(xué)整合[J]. 珠算與珠心算, 2003(4): 4.

[3] 文升軟件工作室. 珠算大師V2.0[EB/OL]. [2024-01-30]. http://abc./zsds.htm, 2022.

[4]Btco.SimpleSoroban[EB/OL].[2024-01-30]. https://play.google.com/store/apps/details?id=br.net.btco.soroban, 2022.

[5] solsTiCe d'Hiver. Yet another virtual soroban[EB/OL]. [2024-01-30]. https://www./tutorials.html, 2022.

[6] 石家莊意在科技有限公司. EasyX graphics library for C++[EB/OL]. [2024-01-30]. https://, 2022.

[7] 徐心魯. 新刻訂正家傳秘訣盤珠算士民利用[M]. 福建: 熊臺(tái)南刊刻, 1573.

[8]Github.Wusimpl/AbacusFormulation[EB/OL].[2024-01-30]. https://github.com/wusimpl/AbacusFormulation.

[9] 楊輝. 乘除通變算寶[M]. 北京: 中華書局, 1985.

[10] 華印椿. 珠算教程[M]. 北京: 中國財(cái)政經(jīng)濟(jì)出版社, 1956.

[11] 李培業(yè), 鈴木久男. 世界珠算通典[M]. 西安: 陜西人民出版社, 1996.

[12] 數(shù)學(xué)辭海編委會(huì). 數(shù)學(xué)辭海第六卷[M]. 太原: 山西教育出版社, 2002.

[13] 華印椿. 中國珠算史稿[M]. 北京: 中國財(cái)政經(jīng)濟(jì)出版社, 1987.

[14] 江曉原.《周牌算經(jīng)》——中國古代唯一的公理化嘗試[J]. 自然辯證法通訊, 1996(3): 43-48.

第一作者簡介:董榮勝,,男,桂林電子科技大學(xué)教授,,教育部課程思政教學(xué)名師,,教育部計(jì)算機(jī)課程思政虛擬教研室建設(shè)試點(diǎn)項(xiàng)目帶頭人,,[email protected]

(完)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多