任照富
(重慶電力高等專(zhuān)科學(xué)校,重慶400053)
計(jì)算機(jī)的技術(shù)應(yīng)用主要分為兩個(gè)方向:一是計(jì)算機(jī)的軟件技術(shù);二為計(jì)算機(jī)的硬件技術(shù)。兩者雖然為不同的方向,但是卻存在著非常密切的聯(lián)系。計(jì)算機(jī)的智能算法是基于計(jì)算機(jī)邏輯語(yǔ)言而形成的。所謂智能算法,就是通過(guò)計(jì)算機(jī)語(yǔ)言的邏輯編譯,逐步形成一種可以實(shí)現(xiàn)智能化功能的算法。因此,分析計(jì)算機(jī)的智能算法主要分析其主流的計(jì)算機(jī)高級(jí)語(yǔ)言中的C語(yǔ)言以及面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。而計(jì)算機(jī)硬件則就是簡(jiǎn)單的邏輯電路,而邏輯電路主要由門(mén)設(shè)計(jì)功能實(shí)現(xiàn)。因此,本文重點(diǎn)分析計(jì)算機(jī)智能算法與計(jì)算機(jī)的門(mén)設(shè)計(jì)原理,從而解析計(jì)算機(jī)的運(yùn)行原理。
計(jì)算機(jī)智能算法屬于計(jì)算機(jī)軟件技術(shù)應(yīng)用范疇,從抽象的意義角度分析,其主要的研究對(duì)象是計(jì)算機(jī)邏輯語(yǔ)言。計(jì)算機(jī)的邏輯語(yǔ)言通過(guò)一定的編譯和運(yùn)行,從而實(shí)現(xiàn)所謂的抽象概念下的算法。算法實(shí)際上是一種數(shù)學(xué)思想,通過(guò)一定的運(yùn)算方式,從而實(shí)現(xiàn)一定的功能。因此,研究與分析計(jì)算機(jī)智能算法,實(shí)際上就是分析計(jì)算機(jī)的程序設(shè)計(jì)語(yǔ)言的邏輯編譯流程。通過(guò)對(duì)計(jì)算機(jī)高級(jí)語(yǔ)言中的C語(yǔ)言以及面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言進(jìn)行分析,實(shí)現(xiàn)對(duì)計(jì)算機(jī)智能算法的了解。
計(jì)算機(jī)智能算法在計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言中體現(xiàn)得最為明顯,而面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言則是計(jì)算機(jī)高級(jí)語(yǔ)言中的代表。因此,分析面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,具有較為深入的意義。
表1對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中成員訪問(wèn)的數(shù)據(jù)屬性進(jìn)行了匯總。面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,不僅僅可以創(chuàng)建類(lèi),更能夠通過(guò)類(lèi)而派生類(lèi),這就是類(lèi)的繼承。一個(gè)基類(lèi)中,成員函數(shù)的數(shù)據(jù)一般分為公有和私有的,一種情況下為受保護(hù)的成員數(shù)據(jù)。面向?qū)ο蟪绦蛟O(shè)計(jì)中,如果是公有數(shù)據(jù),可以直接進(jìn)行訪問(wèn),而私有數(shù)據(jù)則無(wú)法直接訪問(wèn)。此外,受保護(hù)數(shù)據(jù)——protected,則是無(wú)法訪問(wèn)的。當(dāng)然,在使用了繼承以后,其在功能上就與私有數(shù)據(jù)一樣了。
表1 成員訪問(wèn)數(shù)據(jù)屬性匯總表
對(duì)于類(lèi)的繼承,可以通過(guò)一段程序代碼來(lái)進(jìn)行分析:
以上程序是通過(guò)定義學(xué)生檔案的基類(lèi),進(jìn)而進(jìn)行派生類(lèi)的繼承。其中基類(lèi)為class std,即學(xué)生們的基本信息,省略中間的派生過(guò)程,#include<iostream.h>#include"undergraduate.h"using nsp std;其中using nsp std;就是對(duì)基類(lèi)的繼承。其中關(guān)于學(xué)生信息:學(xué)生姓名sn;學(xué)生年齡sa;學(xué)生身高sh;學(xué)生體重sw等,可以進(jìn)行繼承類(lèi)的訪問(wèn)方式。
C語(yǔ)言為面向過(guò)程的程序設(shè)計(jì)語(yǔ)言,而面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言則為面向?qū)ο筮M(jìn)行設(shè)計(jì),兩者之間的設(shè)計(jì)風(fēng)格有著迥然不同的變化。那么,針對(duì)面向的不同方向,兩者的設(shè)計(jì)優(yōu)勢(shì)怎樣?哪一個(gè)設(shè)計(jì)風(fēng)格更利于實(shí)際應(yīng)用?以下通過(guò)編程的實(shí)例進(jìn)行代碼解析。
首先,依然定義一個(gè)面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的類(lèi),該類(lèi)中需要包括公有數(shù)據(jù)和私有數(shù)據(jù)。因此,設(shè)計(jì)代碼如下:
以上代碼是建立了一個(gè)office的新類(lèi),他可以實(shí)現(xiàn)的功能是:打印一個(gè)整數(shù)。
以上是面向?qū)ο蟪绦蛟O(shè)計(jì)對(duì)一個(gè)類(lèi)的定義,然后通過(guò)類(lèi)的對(duì)象進(jìn)行打印信息的方法。而實(shí)際上,通過(guò)C語(yǔ)言的printf函數(shù)直接打印的方法就可以實(shí)現(xiàn),代碼如下:
通過(guò)C語(yǔ)言的打印函數(shù)printf可以省略很多設(shè)計(jì)方法,從而對(duì)定義的整數(shù)進(jìn)行直接打印。那么,是不是C語(yǔ)言在設(shè)計(jì)上就有優(yōu)勢(shì)呢?接著進(jìn)行改進(jìn)分析,對(duì)原有面向?qū)ο蟮念?lèi)進(jìn)行改進(jìn)處理,代碼如下:
通過(guò)改進(jìn)以上類(lèi)的程序,發(fā)現(xiàn)原有的類(lèi)中出現(xiàn)兩個(gè)成員函數(shù):on()和off()函數(shù),兩者可以通過(guò)改變私有數(shù)據(jù)noisy的狀態(tài),來(lái)決定是否對(duì)信息進(jìn)行打印輸出。因此,off()函數(shù)會(huì)對(duì)打印信息函數(shù)進(jìn)行關(guān)閉處理,直到使用的時(shí)候,才可以進(jìn)行打印輸出。由于成員函數(shù)定義了office類(lèi)的自身,因此會(huì)啟動(dòng)面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的內(nèi)聯(lián)函數(shù)(inline)進(jìn)行擴(kuò)展,從而節(jié)省了內(nèi)存使用。
如果不使用類(lèi)進(jìn)行實(shí)現(xiàn),而通過(guò)C語(yǔ)言的形式,則代碼如下:
可以看出C語(yǔ)言程序中的office()函數(shù)不能對(duì)打印信息進(jìn)行關(guān)閉處理,不具有邏輯判斷功能。如果要實(shí)現(xiàn)對(duì)打印信息的關(guān)閉處理,就需要另外設(shè)置變量進(jìn)行處理。這樣,就沒(méi)有面向?qū)ο蟮念?lèi)的封閉性好,函數(shù)的獨(dú)立性就將被破壞。
計(jì)算機(jī)門(mén)設(shè)計(jì)是計(jì)算機(jī)硬件的基本原理之一,計(jì)算機(jī)的硬件通過(guò)邏輯電路進(jìn)行配合,從而實(shí)現(xiàn)邏輯指令的傳輸與運(yùn)行。門(mén)設(shè)計(jì)的基礎(chǔ)是晶體管的計(jì)算機(jī)硬件,在計(jì)算機(jī)的硬件組成中,其遵守的只有二進(jìn)制。也就是說(shuō),計(jì)算機(jī)的硬件只能讀懂二進(jìn)制代碼。在二進(jìn)制中,只有0和1兩個(gè)指令,0代表否,而1代表是。通過(guò)強(qiáng)大的集成電路,將兩者進(jìn)行區(qū)分,從而實(shí)現(xiàn)不同的功能。
計(jì)算機(jī)門(mén)設(shè)計(jì)原理中,比較常見(jiàn)的就是中央處理器的OD門(mén)和OC門(mén)。兩者是中央處理器得以發(fā)揮的基礎(chǔ)。計(jì)算機(jī)通過(guò)計(jì)算機(jī)的軟件或者是計(jì)算機(jī)語(yǔ)言發(fā)出一定的需求,而這些需求需要通過(guò)一定的指令進(jìn)行邏輯分析。而OD門(mén)和OC門(mén)就是這樣的一組指令,當(dāng)計(jì)算機(jī)發(fā)出請(qǐng)求的時(shí)候,所有的指令都需要經(jīng)過(guò)中央處理器進(jìn)行分析和運(yùn)算。而這時(shí)候,OD和OC門(mén)就實(shí)現(xiàn)了邏輯運(yùn)算,將不同的處理指令進(jìn)行緩存以及傳輸兩種不同的處理方式。緩存就是將指令存儲(chǔ)到計(jì)算機(jī)的RAM中,實(shí)現(xiàn)預(yù)處理操作。而傳輸就是直接進(jìn)行中央處理器的計(jì)算。
總之,門(mén)設(shè)計(jì)原理以計(jì)算機(jī)硬件為基礎(chǔ),通過(guò)對(duì)邏輯指令進(jìn)行簡(jiǎn)單的0和1的識(shí)別,從而最大限度地實(shí)現(xiàn)對(duì)指令的操作。
通過(guò)分析計(jì)算機(jī)高級(jí)語(yǔ)言中的C語(yǔ)言以及面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,從而了解到計(jì)算機(jī)智能算法實(shí)際上就是通過(guò)計(jì)算機(jī)語(yǔ)言的邏輯編譯,實(shí)現(xiàn)一系列的軟件功能。計(jì)算機(jī)智能算法最為直觀的應(yīng)用就是計(jì)算機(jī)的軟件應(yīng)用。通過(guò)軟件應(yīng)用的實(shí)現(xiàn),讓實(shí)際的需求以一種簡(jiǎn)單的算法形式呈現(xiàn),從而最大限度地實(shí)現(xiàn)軟件的功能。門(mén)設(shè)計(jì)是基于計(jì)算機(jī)的硬件邏輯指令,對(duì)不同的指令進(jìn)行0和1的需求判斷,從而進(jìn)行復(fù)雜的邏輯指令輸出,進(jìn)而完成計(jì)算機(jī)的功能。
[1] 張振頂,黎華,李茂東,等.LABVIEW和C語(yǔ)言混合編程在工業(yè)鍋爐熱效率計(jì)算中的應(yīng)用[J].能源與環(huán)境,2012,(5):24-25.
[2] 李洛,黃達(dá)峰,袁宜英.智能化C語(yǔ)言自學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].寧波職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012,(5):42-45.
[3] 原立濤,李鳳玲,邸抗.C語(yǔ)言中if-else語(yǔ)句的嵌套分析[J].軟件工程師,2012,(11):46-47.