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