tft每日頭條

 > 生活

 > 常見的程序設計

常見的程序設計

生活 更新时间:2024-12-29 23:17:35

常見的程序設計?1 存儲程序概念1.1 我們現在的絕大多數電腦都是馮·諾依曼的“存儲程序”電腦要實現全過程的自動化,馮·諾依曼的設想是将解決問題的整個過程用具體架構的CPU框架指令集的指令全部描述出來,保存為二進制的磁盤文件,執行時讀入内存,并為需要處理的數據分配内存(或寄存器),由控制電路逐條讀取指令、解釋指令或讀入數據并送入運算電路或存儲電路,最後根據指令将結果送到輸出設備或磁盤文件,下面我們就來說一說關于常見的程序設計?我們一起去了解并探讨一下這個問題吧!

常見的程序設計(程序設計語言随想)1

常見的程序設計

1 存儲程序概念

1.1 我們現在的絕大多數電腦都是馮·諾依曼的“存儲程序”電腦。要實現全過程的自動化,馮·諾依曼的設想是将解決問題的整個過程用具體架構的CPU框架指令集的指令全部描述出來,保存為二進制的磁盤文件,執行時讀入内存,并為需要處理的數據分配内存(或寄存器),由控制電路逐條讀取指令、解釋指令或讀入數據并送入運算電路或存儲電路,最後根據指令将結果送到輸出設備或磁盤文件。

1.2 馮·諾依曼電腦分為五個部分:輸入設備、存儲設備、控制器、運算器、輸出設備。其思路就是将解決問題的方案按步驟盡可能無歧義地細分,定義需要的數據和指令語句,也就是所謂的程序代碼,這些代碼存入到可随機訪問的存儲電路(存儲器),這樣可由控制電路(控制器)随機訪問存儲器中存儲的數據和指令、解釋指令,将需要進行的運算通過控制電路送入運算電路(運算器)進行運算,通過輸出數據的代碼将處理後的數據呈現給用戶。所以,C語言程序設計的基本步驟有以下4個步驟:

1.2.1 定義需要的變量或數據結構;

1.2.2 輸入數據或變量賦初值;

1.2.3 完成具體的處理(調用函數或實例化對象);

1.2.4 輸出數據。

以上也是C語言主函數main()或其它函數的主要組成部分。

2 指令抽象

上述的存儲電路、控制電路、運算電路都是由晶體管實現的開關電路,自然,與二進制的機器語言有對應關系。二進制的機器語言隻有"0,1"兩個符号,所以由"0,1"符号組成的代碼不管是編寫、閱讀、和維護都是很困難的,通過建立"0,1"符号組成的指令用有意義的字母組合去表示(彙編語言),并建立二者一一對應的關系,可以用字母組合去編寫代碼(叫彙編代碼),由“彙編器”去翻譯,這相對于直接用二進制去編碼來說是一個進步。當然,可以再進一步抽象,用更接近自然語言的字母組合(高級語言)與彙編語言建立對應關系,用高級語言編寫代碼,由“編譯器”或“解釋器”翻譯成彙編代碼,然後再由“彙編器”翻譯到機器語言。上述的“彙編器”、“解釋器”、“編譯器”都是所謂的“翻譯”程序,最初出現的這些“翻譯”程序一般都由語言創建者編寫。之所以有高級語言的存在和應用,還是以程序讀、寫的便捷為目的。

我們說電腦的功能一般包括自動控制和數據處理,對于自動控制,一般不需要或隻有很簡單的輸入、輸出設備或界面。對于數據處理(數值與非數值),則包括有數據的定義和對數據的操作。數據,就是你定義的變量、數據結構、容器。對數據的操作,就是你對定義的數據構造的表達式、函數、算法。傳統的結構化程序設計就是把這些内容都寫在一起,或按各部分的功能歸集為函數。而對象化程序設計方法則是更進一步的歸集分類為對象。數據的操作或處理,包括數據的輸入(将需要處理的數據放入内存的容器中)、處理、輸出(顯示到屏幕或保存到文件);處理主要分為文字的處理和數值的計算。計算主要是加減乘除等,而文字或文本的處理也就是增查删改。

3 輸入、輸出在程序設計中的理解

數據的輸入輸出,要區分輸入輸出的設備與界面。輸入輸出的界面分兩種,一種是命令用戶界面,一個是圖形用戶界面。在C 中,開發的控制台程序就是前者,而MFC應用程序則是後者,通常是通過插入的控件進行輸入和輸出,通過事件決定代碼何時執行。也包括外存儲器内保存的“數據文件”與内存的輸入輸出。操作系統把各種輸入/輸出設備統一作為文件來處理,每一個與主機相連的輸入設備(鍵盤、鼠标)都看作一個輸入文件,每一個輸出設備(顯示器、打印機等)都看作一個輸出文件,稱為标準輸入\輸出文件。磁盤文件是指存儲在外部介質(硬盤、光盤或U盤)上的文件。

3.1 其對象同樣包括數據和操作數據的代碼。

3.2 硬件的輸入(鍵盤、鼠标)、輸出(顯示器、打印機)。

3.3 磁盤文件的輸入(外部存儲器上的磁盤文件→内存)、輸出(内存→外部存儲器上的磁盤文件);

3.4 輸入、輸出的界面,控制台程序一般通過命令界面的控制台,VC的MFC程序通過控件布局界面,網頁程序一般通過表單布局界面。

3.4 數據輸入内存(或寄存器)的時間

3.4.1 編譯時即完成了數據的輸入或初始化;

3.4.2 程序運行時輸入;

4 數據在内存中的存儲與數據結構

當今的操作系統都會給應用程序的每一個進程分配獨立的“虛拟地址空間”,操作系統将物理内存分配給虛拟地址空間。

數據的抽象機制是高級程序設計語言一個很重要的概念,程序設計語言會特意追求其在某個領域的效率,追求程序的易寫、易讀、或易維護,但也不可能面面俱到。

C語言中malloc()大體的實現是,從操作系統一次性地取得比較大的内存,然後将這些内存“零售”給應用程序。

5 數據的歸集

數據在電腦中的定義,一般包括地址、變量名、變量值三個部分,為什麼會有數組的概念,關鍵是其地址是連續的(數組名就是元素首地址),這就是規律,可以通過循環對其進行定義及其它各種操作。一條指令實際上包括兩種信息即操作碼和地址碼。操作碼(OperationCode,OP)用來表示該指令所要完成的操作(如加、減、乘、除、數據傳送等),其長度取決于指令系統中的指令條數。地址碼用來描述該指令的操作對象,它或者直接給出操作數,或者指出操作數的存儲器地址或寄存器地址(即寄存器名)。變量的4個屬性:變量名稱、數據類型、變量地址、變量的值;變量地址由系統分配給變量一個内存單元編号。C 可以用&(地址運算符)加變量名稱得到一個變量的地址。

6 代碼的歸集

程序設計語言的着眼點是大程序,而學習的起點是從小程序開始的,所以對一些程序設計語言的思路或概念如果隻是站在寫小程序的角度,可能很難理解。

電腦的硬件和軟件都會考慮“模塊化”。電腦硬件的“模塊化”就是将部件或零件的按模塊生産、組裝。而軟件模塊化的思想體現在函數、類、對象等概念方面。

函數一般分為三個部分,函數的聲明、函數的定義、函數的調用。聲明和定義中的參數相當于變量的聲明,而函數調用時的參數相當于變量的賦值。變量可以在程序内的三個地方進行定義:函數内部、函數的參數(形參)、所有函數的外部。

類同樣也是三部曲。

7 編程的思維方式

過程化思維:描述數據以及數據的處理過程。

描述數據:說明求解問題需要哪些數據,這些數據的規格是什麼樣的。

描述數據的處理過程:說明數據如何輸入、如何加工處理以及如何輸出處理結果的過程,包括輸入數據、處理數據和輸出結果三個環節。

針對描述數據,C語言首先提供了變量的概念,用來記住數據所在的存儲空間的地址,通過變量我們可以方便地對數據進行存取訪問。指針的概念可以直接訪問操作系統和編譯器分配的堆内存。

8 其它

選擇結構和循環結構都會跟一個表達式,這個表達式中會包含一個或多個變量,這個變量通常也會包含在的複合語句中,表示對數據的處理。

計算機完成任務的特點是不怕步驟多,但要求每一步足夠簡單,且相互之間有規律可循,規律不明顯時要創建條件讓其更有規律。足夠多的步驟可以應用循環結構去完成。計算機與人腦相比有速度快、容量大的特點,計算機可以高速地、不厭其煩地進行大量的重複操作,處理大量數據信息。

對數據的操作或對數據庫中數據記錄的操作都是“增、查、删、改”,同時對數據的處理要考慮一個效率的問題,包括空間(存儲)的效率和時間的效率。為什麼有不同的數據結構和窗口的存在,就是因為他們在“增、查、删、改”等方面的效率各有效率和優勢。

程序設計語言一般由其創建者提供給用戶的有三個部分:語法手冊、函數庫或類庫、編譯器或解釋器;由程序設計語言提供給你的函數庫或類庫一般都是由其自身的語言實現的高效率的代碼,拿過來就可以使用,你也就沒必要自己重新再寫。

程序設計語言寫代碼、計算機執行代碼的概念與工廠的産品與工藝設計、輸入、加工、輸出的概念進行類比很合适。數據的存儲可以類比為物料的存儲、數據的容器可以類比為物料的容器。

對計算機語言的了解:知道語言設計者為解決何種問題而創造了這種語言,以及這種語言經曆過怎麼樣的曆史變遷後,慢慢就能理解為什麼需要有這種功能。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved