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