李尚恩
(東莞理工學校,東莞 523106)
基于數組與漢字點陣的多學科融合教學的設計與實現
李尚恩
(東莞理工學校,東莞523106)
數組是一種高效的數據組織方式,和具體的語言無關,通過它能夠快速實現數據的輸入,輸出和復制,提高軟件開發(fā)的效率,它是軟件開發(fā)的精華知識,沒有它,在處理大量的數據時,根本無從下手。數組知識比較抽象,常用的操作有數組元素的輸入,數組元素的復制以及數組元素的輸出,學習數組知識需要嚴謹細心的學習態(tài)度,以及豐富的想象力,加上數組編程都是乏味的純數字操作,所以對初學者而言,難度較大。漢字點陣是計算機基礎,計算機組成原理等書籍里面必學的知識,但其復雜的點陣結構以及編碼,使得學習者難以領會和掌握。基于數組和漢字點陣的共同特點,它們都是重復而又可以找到規(guī)律的結構,現設計出一個教學案例以及相關程序,把數組的知識和漢字點陣的知識融合在一起,以直觀形象的方式操作本程序,設計出漂亮的漢字,掌握漢字點陣的概念和原理,再通過把漢字的點陣編碼存入數組,從數組中讀出點陣編碼,復制數組等操作,以直觀形象的方式讓學習者快速學會數組的相關知識。
數組用于保存大量的、邏輯上有聯系的數據,是一組具有相同名字、不同下標的變量的集合[1]。通過數組,可以用相同的名字引用一系列變量,并用數字(索引)來識別它們。在許多場合,使用數組可以縮短和簡化程序,因為可以利用索引值設計一個循環(huán),高效處理多種情況。數組有上界和下界,數組元素在上下界內是連續(xù)的。數組的基本操作包括:數組的輸入,數組的輸出以及數組的復制。數組在應用時,最突出的地方就是可以把無規(guī)律的數據規(guī)律化,使得可以使用循環(huán)結構來處理大量的重復的操作,大大提高數據處理速度和編程效率。例如:“白”、“日”、“依”、“山”、“盡”,這5個漢字是沒有規(guī)律的,編寫程序時須逐個引用它們,但如果把它們存放到一個數組里,見表1,它們就變得有規(guī)律了,可以通過循環(huán)結構來處理,尤其在數據量較大時,數組的作用就更加明顯。

表1 數組
目前,我國漢字點陣結構一般分為四類:16×16點陣組成的簡易型漢字字型;24×24點陣組成的普及型;32×32點陣組成的提高型;48×48點陣組成的精密型[2]。24針打印機一般采用24×24點陣組成普及型漢字字型,與鉛印漢字基本相同,印字質量高[2]。實際上,在設計漢字點陣圖像時,會涉及到漢字字體問題。我國漢字字體較多,常見的有宋體、仿宋體、楷體、黑體等。顯然,采用不同字體,所設計出的點陣圖像不盡相同。我國漢字打印機中的漢字庫,一般采用仿宋體所對應的漢字點陣圖像。在橫向24個方格和縱向24個方格上描點時,不管漢字的繁簡和筆劃多少,通常只占用22列,即橫向左、右各空出1列方格不描點,作為字與字之間間隔[3]。如圖1給出漢字“春”字的24×24點陣圖像,有了漢字點陣圖像,不難寫出其對應的點陣碼。對于24x24點陣結構,每行有3個字節(jié),共24行,因而共有3x24= 72字節(jié)點陣碼。根據“春”字的點陣圖像,可以寫出與其對應 的72字節(jié)的點陣碼,見表2。

圖1 “春”字點陣圖像

表2 “春”字點陣碼
基于數組和漢字點陣的共同特點,它們都是重復而又可以找到規(guī)律的結構,為了實現數組與漢字點陣的并行教學,特設計以下幾個環(huán)節(jié)來進行教學,使兩個知識點相融合,把抽象知識形象化,達到化難為易的目的。
3.1漢字點陣字模設計
運行漢字點陣設計程序,該程序已經自主開發(fā)完成,提供給學生直接使用。程序運行效果見圖2。該程序直觀,容易操作,工作區(qū)內有24×24個小方格,選擇右邊工具箱中的畫筆工具,通過鼠標對每個小方格進行點擊操作,即可把相應的小方格設置成黑色或無色,為了提高速度,亦可選擇刷子工具(刷子工具每次可刷兩行或兩列),根據漢字的字型對每個方格進行顏色設置,就可以設計出相應的漢字。見圖3,通過該形象直觀的漢字設計操作,學生可以很好地理解漢字點陣的概念和原理。

圖2 漢字點陣設計程序

圖3 學生設計的點陣漢字
3.2點陣碼存入數組實現數組的輸入
設計完漢字后,需要把這些漢字以編碼的形式保存到數組和保存到文件中,以便下次可以繼續(xù)使用。在這里,對漢字點陣的每一個小方格編碼如下,黑色的小方格用“1”表示,無色的小方格用“0”表示,共有24×24個小方格,所以存儲該漢字編碼需要使用長度為24× 24=576的一維數組,下標從0到575。其中下標從0至23的數組元素存放第一行小方格的編碼,下標從24至47的數組元素存放第二行小方格的編碼,依此類推。圖4顯示了“陳偉波”三個漢字的二進制編碼。

圖4 漢字點陣碼
3.3從數組中讀取點陣碼顯示漢字
啟動漢字點陣設計程序,選擇“文件-打開”,選擇保存在文件中的漢字編碼文件,“李.scn”,把漢字編碼讀入至長度為576的一維數組中,然后循環(huán)讀取每個數組元素的值,根據每個數組元素的值設定每個小方格的顏色,由于A(0)-A(23)的值均為0,所以第一行每個小方格均設定為無色,A(24)-A(47)這24個數組元素中,A(34)、A(35)的值為1,所以第二行小方格中,第11、12個小方格設定為黑色,其余小方格設定為無色。依此類推,即可根據每個數組元素的值還原漢字。見圖5。

圖5 從漢字點陣碼還原的漢字
3.4復制數組內容實現復制漢字
由于通過復制漢字編碼可以復制漢字,而漢字編碼在程序運行的過程中已經存放到長度為576的一維數組中,所以只需復制數組的內容,就可以實現復制漢字,并可以在復制出來的漢字中作任何修改,而不影響原來的字模。例如,可以在復制出來的漢字編碼中作修改,把它改成黑體、宋體、隸書、華文中宋等,亦可在漢字上加上一定的標志,而不用從零開始設計該漢字,大大簡化設計漢字的工作量。圖6顯示了由楷體字修改成華文中宋的“恩”字。

圖6 修改漢字點陣成華文中宋
綜合來說,基于數組和漢字點陣知識的共同特點,把它們有機地結合在一起,把抽象的知識形象化,使繁鎖的數字操作趣味化,讓學習者在直觀的漢字設計操作中領會漢字點陣的思想,掌握漢字點陣編碼的原理。通過對漢字編碼的存取,理解和掌握數組的基本操作,包括數組的輸入,數組的輸出及數組的復制等。通過本次教學,學生既學會了數組的知識,又學會了漢字點陣的知識,可謂一舉兩得,學生快速學會知識的同時,也大大提高了學習的積極性。
[1]闕向紅.Visual Basic程序設計教程[M].清華大學出版社,2006-12.
[2]陳其昌.漢字打印機設計原理[M].華中理工大學出版社,1995-2:13-15.
[3]劉中原.計算機組成原理[M].中國鐵道出版社2005-3:32-38.
[4]李曉燕.計算機實用基礎教程[M].華中師范大學出版社,2007-2.
[5]潘日明.C程序設計的數組探討[J].中國科技信息,2009(02).
Array;Chinese Character Lattice;Multi-Discipline Integration Teaching
Design and Implementation of Multi-Discipline Integration Teaching Based on Array and Chinese Character Lattice
LI Shang-en
(Dongguan Science and Technology School,Dongguan 523106)
1007-1423(2015)28-0041-04
10.3969/j.issn.1007-1423.2015.28.011
李尚恩(1980-),男,廣東廉江人,碩士研究生,講師,軟件設計師,研究方向為軟件工程、計算機輔助教學
2015-08-13
2015-09-26
數組知識比較抽象,漢字點陣知識也難于掌握,設計出一個教學案例,融合數組和漢字點陣的知識,把抽象、難掌握的知識直觀形象化,讓學習者在動手操作的學習過程中快速學會數組和漢字點陣的知識。實踐結果證明,由于數組與漢字點陣的共同特點和直觀形象的操作,學習者很快就掌握了相關知識。
數組;漢字點陣;多學科融合教學
Array of abstract knowledge,knowledge lattice of Chinese characters is difficult to grasp,designs a teaching case,combines the knowl-edge of the array and a Chinese character dot matrix,the abstract and difficult to master the knowledge and intuitive image,lets the learn-er in the practical operation in the process of learning quickly learn knowledge of the array and the Chinese character dot matrix.The practical results prove that,because of the common features of array and character matrix and the operation of intuitive image,learners soon master the relevant knowledge.