《計算機與電腦科學》摘錄筆記
-
一臺數字機不是單一的機器,而是由五個不同的要素組成的系統:1.中央處理器;2.輸入裝置;3.儲存裝置;4.輸出裝置;5.被稱為匯流排的通訊網路,它將所有要素連線起來並將系統和外界連線起來;
-
儲存器指儲存資訊供中央處理器快速檢索的計算機晶片。隨機儲存器(RAM)用來儲存操作計算機程式的資訊和指令。通常,程式由磁碟驅動器的儲存區調到隨機儲存器中。隨機儲存器也稱作易失性儲存器,因為當計算機的電源關閉時,計算機晶片中的資訊隨著丟失。只讀儲存器(ROM)必須永久性可供計算機操作使用的關鍵資訊和軟體,如從開機到關機一直指揮計算機執行的作業系統。只讀儲存器叫做非易失性儲存器,因為當計算機的電源關閉時,儲存晶片中的資訊不會丟。
-
程式語言可分為低階語言和高階語言。低階程式語言或機器語言,是程式語言中最基礎的型別,可以被計算機直接理解。機器語言視計算機制造商與型號不同而有所區別。高階語言是必須首先翻譯成機器語言計算機才能理解和處理的程式語言。C、C++、PASCAL和FORTRAN都是高階語言的例子。組合語言是中級語言,非常接近於機器語言,沒有其他高階語言所表現出的語言複雜程度,但仍然需要翻譯成機器語言。
-
一條典型的機器語言指令可能寫成 10010 1100 1011,意思是把儲存暫存器A的內容加到儲存暫存器B的內容中。
-
在面嚮物件語言中,用來編寫程式的程式碼和由程式處理的資料,組合成叫做物件的單元。物件進一步組合成類,而類則定義物件必須具有的屬性。類的一個簡單例子就是書這個類。這個類中的物件可能是小說和短篇小說。物件還有某些與其相關的功能,稱為方法。計算機通過使用一個物件的某種方法來訪問該物件。方法對物件中的資料執行某種操作,然後將值返回給計算機。物件的類也可進一步組合成層,而在層中一個類的物件可繼承另一個類的方法。面嚮物件語言提供的這種結構,使該語言對於複雜的程式設計任務非常有用。 ====》舉例,之後寫程式碼,把物件用到的屬性和方法寫到最外邊的物件上,賦值為空,說明這個方法和屬性,方便檢視;
-
資料宣告語句給稱為變數的那些程式元素以名稱和屬性。變數在程式中可以賦予不同的值。變數可以具有的屬性稱為型別,它們包括:變數中能儲存哪些可能的值;這些值中使用何種程度的數值精度;以及一個變數可以如何以有組織結構的方式------如以表或陣列的形式——表示一組比較簡單的值。在許多程式語言中,一個關鍵的資料型別是指標。指標變數本身沒有值,而是含有計算機可以用來查詢某個其他變數的資訊——也就是說,它們指向另一個變數。
-
表示式是語句的一段,用於描述要對一些程式變數執行的一系列計算操作,如 X+Y/Z,其中X、Y和Z為變數,加法和除法是計算操作。賦值語句給一個變數賦予得自某個表示式的值,而條件語句則指定要被測試、然後用於選擇接下來應該執行的其他語句的表達。
-
過程和函式語句將某些程式碼塊定義為以後可在程式中回撥的過程或函式。這些語句也定義程式設計師可選的變數和引數種類,以及當表示式訪問過程或函式時程式碼所返回的值的型別。許多程式語言也容許叫做巨集的小翻譯程式。巨集將那些用程式設計師定義的語言結構編寫的程式碼段翻譯成程式語言可以理解的語句。
-
計算機程式是指揮計算機執行某種處理功能或功能組合的一套指令。
-
將原始碼翻譯成目的碼的應用程式有3種:編譯程式、解釋程式和彙編程式。這3種應用程式有不同的操作方式,對不同型別的程式語言進行操作,但是,它們都要達到將程式語言翻譯成機器語言的相同目的。
-
編譯程式將使用FORTRAN、C和Pascal等高階程式語言編寫的文字檔案一次性從原始碼翻譯成目的碼。這不同於BASIC等解釋執行的語言所採取的方式。在解釋執行的語言中,程式是隨著每條指令的執行而逐個語句地翻譯成目的碼的。解釋執行的語言的優點是,它們可以立即開始執行程式,而不需要等到所有的原始碼都得到編譯。對程式的更改也可以相當快地進行,無需等到程式重新編譯完。解釋執行的語言的缺點是,它們執行起來慢,因為每次執行程式,都必須對整個程式一次一條指令地翻譯。另一方面,編譯執行的語言只編譯一次,因此計算機執行起來可比解釋執行的語言快得多。由於這個原因,編譯執行的語言比解釋執行的語言常用,而且,在專業和科學領域幾乎總是應用編譯執行的語言。
-
另一種翻譯程式是彙編程式,它用於以組合語言編寫的程式或程式組成部分。組合語言也是一種程式語言,但它遠比其他型別的高階語言類似於機器語言。在組合語言中,一個語句通常可以翻譯成機器語言的一條指令。今天,組合語言很少用來編寫整個程式,而是最常用於程式設計師需要直接控制計算機某方面功能的情況。
-
並行運算
致力於平行計算領域研究的電腦科學家們,推出了許多新的程式模型。在平行計算中,多箇中央處理器同時合作處理同一個問題。一個問題的組成部分由不同的處理器同時處理,這樣就加快了問題的解決速度。由於並行處理計算機的極端複雜性,以及使其儘可能有效地執行所包含的困難,為這種系統設計程式的科學家和工程師面臨著許多挑戰。 一種稱為分散式計算的平行計算,使用多個互連計算機的中央處理器來解決問題。用來在分散式計算應用環境下處理資訊的計算機,常常通過因特網連線。因特網的應用正在成為分散式計算的一種特別有用的形式,尤其是在使用Java等程式語言的情況下。在這種應用中,使用者登入到一個站點,並下載一個Java程式到其計算機上。該Java程式執行時,就會與其所來自的站點上的其他程式通訊,也可以與不同計算機或站點上執行的其他程式通訊。
-
軟體開發的瀑布模型
-
由於使用實現技巧規避了設計問題,這也可能導致不良的系統結構。
-
演化開發
演化開發基於這樣的思想:開發一個初始的實現,讓其接受使用者評論,並讓其經過多個版本的改進,一直到開發出能夠滿足需要的系統(圖5A-2)。規格說明、開發及驗證活動不是分開進行,而是交叉進行,各項活動之間有快速的資訊反饋。
一種是探索式開發。在這種型別中,過程的目標是與客戶協作探索其需求,並交付一個最終的系統。- 元件開發
分散式的資料模型可以將不同的資料庫訪問請求分開在不同的伺服器上; 分散式資料庫模型並非一種新模型,而是基於關係模型的。但是,資料儲存在通過因特網或用廣域網通訊的數臺計算機上。每臺計算機(或站點)保持資料庫的一部分或整個資料庫。換句話說,資料或者是分段儲存的——每個站點儲存一段,或者被每個站點複製一份。在分段型分散式資料庫中,資料是本地化的,本地使用的資料儲存在相應的站點上。然而,這並不意味著一個站點不能訪問儲存在另一個站點上的資料,但訪問大多是本地性的,偶爾是全域性性的。雖然每個站點對其本地資料具有完全的控制,但也存在通過因特網或廣域網的全域性控制。例如,一家制藥公司可能在許多國家擁有多個站點。每個站點有一個資料庫,儲存著自己僱員的資訊。但是,中心人事部門可以控制所有的資料。 擁有這種資料庫是為了安全,如果一個站點上的系統發生故障,該站點的使用者可以訪問另一個站點上的資料。