編制計算機程序解決問題_第1頁
編制計算機程序解決問題_第2頁
編制計算機程序解決問題_第3頁
編制計算機程序解決問題_第4頁
編制計算機程序解決問題_第5頁
已閱讀5頁,還剩48頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

編制計算機程序解決問題信息技術基礎---第四章信息的加工與表達(下)案例分析:劉麗的媽媽是公司經理,需要對業務信函郵件進行加密……她的表哥建議可以從一些工具類軟件中找加密軟件……劉麗想自己來編寫加密程序來對郵件加密,并鉆研了計算機編程……編程序:就是我們針對具體問題,運用程序設計語言編制一個專門的計算機程序來解決問題。下面我們先認識一下計算機程序的基本知識。一、認識計算機與程序1、計算機運行的基本流程:接通電源---計算機執行ROM中的指令進行自檢---運行操作系統windows。

操作系統裝載完畢,用戶可以從“開始”菜單中的“所有程序”(或點擊桌面上相應的程序圖標)選擇程序運行。2、計算機的硬件組成計算機的硬件組成:輸入設備、輸出設備、中央處理器、存儲器計算機的各部件由中央處理器根據程序指令控制著相互配合工作。中央處理器:控制器和運算器組成存儲器分為內存和外存內存:分為ROM、RAM外存:硬盤、光盤、U盤等。3、計算機工作的基本流程:A、計算機工作時,中央處理器根據輸入指令,從輸入設備或外存中輸入程序或數據,并保存到計算機內存中。B、執行程序時從內存中讀取指令和數據,按順序執行指令,處理結果放回內存。C、中央處理器執行輸出或保存指令時,會把內存中的處理結果輸出到輸出設備或保存到外存中去。逐條順序執行預先存放在存貯器中指令馮諾伊曼:存儲程序控制原理輸入設備輸出設備預先將程序輸入存儲器運算器控制器中央處理器內存儲器RAM外存儲器傳輸程序或數據控制執行指令4、計算機程序基本知識事例賞析:下圖是一個電子設備---數字顯示電路,如果分別用二進制的“0”和“1”表示燈泡的“滅”與“亮”兩種狀態,試分析“6”這個數字用二進制代碼如何表示。1101111

計算機是一種數字化的電子設備,采用了大量的集成電路,盡管其中的電路設計非常復雜,但工作時每段電路只有兩種狀態,可形象地稱為開和關。所以計算機的電路可以采用二進制數字編碼來表示和控制。

當把控制計算機操作的指令與存儲數據的電路狀態用二進制數字1和0對應表示時,人們就可以事先把需要執行的指令和處理的數據用1、0組成的代碼編寫好程序,輸入計算機時把1、0代碼直接轉換為相應的開關電路,就可以讓計算機工作了。這些1、0代碼就好像是計算機能聽得懂的語言而被稱為機器語言。早期的計算機程序就是用機器語言編制的。計算機程序設計語言的發展歷程:

隨著科學家的努力,計算機程序設計語言的使用越來先進和方便了。機器語言:由1、0代碼組成。難記難學,不方便用戶使用。匯編語言:把1、0代碼轉換為有意義的字符代碼。

以上兩種計算機語言,要求用戶對計算機的結構組成非常熟悉才能使用,屬于低級語言。高級程序語言:貼近人們閱讀理解習慣,操作界面越來越人性化,使得更多人能夠更方便使用計算機。0100010001011010101011000010001000101101010111100101000100110110101010101101010111Movax,8Movbx,10Addax,bxY=8X=Y+10指令序列的集合

程序高級語言匯編語言機器語言計算機高級語言程序常見的如:BASIC、PASCAL、C++、VISUALBASIC等。

使用高級語言編寫的程序都需要經過一系列的翻譯過程轉換為機器語言,才能讓計算機執行。計算機機器語言程序計算機高級語言程序翻譯程序用戶計算機編寫計算機語言系統執行

在計算機中的所有信息,包括字符、圖像、動畫、聲音、視頻等都是以二進制數字(1、0)編碼來表示的。二、體驗程序的作用及其編制環境計算機程序的運行,用戶大多數時候是看不見其中運行過程的,見到的基本上是程序的操作界面及運行結果。

下面我們以VISUALBASIC(簡稱為VB)程序設計語言為例,體驗一下如何運用計算機程序來解決問題。VB程序是一個可視化程序設計語言,是一個面向對象的集成開發系統。

(一)、任務:要求:利用VB程序設計語言編寫一個加密、解密的程序,對一個文本文件中的字符進行轉換:

加密:使原來可以閱讀的字符---明文,變成其它讀不明白的字符---密文。

解密:則把密文恢復為明文。加密前的文件(明文)加密后的文件(密文)加密程序解密程序方法如下:1、準備一份文本格式的待加密文件。2、新建程序文件。啟動VB程序VB的窗口組成:窗體設計器工具箱窗體在屏幕的布局當前控件的屬性窗體文件菜單欄標題欄具箱工程管理器工具欄窗體代碼設計窗3、輸入程序----加密源程序的代碼:---PrivateSubForm_Load()FileName1$=InputBox("請輸入需要加密的文件名及路徑:")OpenFileName1$ForInputAs#1LineInput#1,a$MsgBoxa$,,"加密前的文本內容"Close#1mm$=""n=Len(a$)Fori=1Tonb$=Mid$(a$,i,1)c$=Chr(Asc(b$)-10)mm$=mm$&c$NextMsgBoxmm$,,"加密后的文本內容"FileName2$=InputBox("請輸入加密后的文件名及路徑:")OpenFileName2$ForOutputAs#2Print#2,mm$Close#2EndEndSub4、運行程序運行VB編寫的加密程序,比較一下范文加密前后的情況。范文:測試文本5、保存程序把程序保存為“加密01.frm”6、修改程序把加密改為解密程序,以“解密01.frm”文件名來保存程序解密程序的源代碼:PrivateSubForm_Load()FileName1$=InputBox("請輸入需要解密的文件名及路徑:")OpenFileName1$ForInputAs#1LineInput#1,a$MsgBoxa$,,"解密前的文本內容"Close#1mm$=""n=Len(a$)Fori=1Tonb$=Mid$(a$,i,1)c$=Chr(Asc(b$)+10)mm$=mm$&c$NextMsgBoxmm$,,"解密后的文本內容"FileName2$=InputBox("請輸入解密后的文件名及路徑:")OpenFileName2$ForOutputAs#2Print#2,mm$Close#2EndEndSub7、運行解密程序體驗一下解密的效果!8、生成可直接執行的exe文件。命令:菜單---“文件”---“生成工程.exe”EXE格式的文件可在計算機中直接運行。(二)、探討交流VB程序與之前學過的應用程序(如Word、PowerPoint、Excel等)相比有何不同之處?

VB程序作為一個可視化的程序設計語言,那首先設計一個窗口,再在窗口中設置相應控件(或者說相應按鈕等),然后根據程序的需要,對相應的控件進行代碼編寫。

VB的功能強大,一經編寫完畢,可無限處使用,速度快、可靠性高,精確度高。三、認識程序中的基本元素程序代碼是用計算機語言編寫的,計算機語言也有它的基本組成元素和書寫規定。要讀懂和編寫計算機程序就首先要懂得計算機語言中的這些元素和規則。任務:計算機程序中通常會出現常量、變量、函數、運算符、表達式、語句等,這些都是計算機語言的基本元素。在VB中輸入下列程序并運行,試找出其中哪些基本,領會它們的作用。

例子:PrivateSubForm_Click()

Print"劉"Print"麗"Print"機內代碼"PrintAsc("劉")PrintAsc("麗")EndSubPrivateSubForm_Click()xm1$="劉"xm2$="麗"dm1=Asc(xm1$)dm2=Asc(xm2$)Print("字符")Print"機內代碼是:"Printxm1$Printdm1Printxm2$Printdm2EndSubLx2.frmLx1.frm例子:PrivateSubForm_Click()xm1$="劉"xm2$="麗"Print"原字符"Printxm1$;Printxm2$dm1=Asc(xm1$)dm2=Asc(xm2$)Print"機內代碼是:"Printdm1Printdm2jm1$=Chr(dm1-10)jm2$=Chr(dm2-10)Print"加密后的密文字符是:"Printjm1$;Printjm2$zxm1$=Chr(Asc(jm1$)+10)zxm2$=Chr(Asc(jm2$)+10)Print"解密的字符是:"Printzxm1$;Printzxm2$;EndSubPrivateSubForm_Click()xm1$="劉"xm2$="麗"dm1=Asc(xm1$)dm2=Asc(xm2$)zxm1$=Chr(dm1)zxm2$=Chr(dm2)Print"字符:";Printxm1$;Printxm2$;Print("的機內代碼是:")Printdm1Printdm2Print("代碼還原的字符是:")Printzxm1$;Printzxm2$;EndSubLx3.frmLx4.frm探討交流:運行了這幾個程序之后,你有何發現?VB的基本知識:

1、常量、變量與數據類型。

VB的標準數據類型:

字節型(byte)、邏輯型(boolean)、整型(integer)、長整型(long)、單精度型(single)、雙精度型(double)、貨幣型(currency)、日期型(date)、字符型(string)、對象型(object)、變體型(variant)。計算機的內存儲器存放著大量的信息,這些信息都是為了解決某個問題而設置的。在高級語言中,需要將存放數據的內存單元命名,通過內存單元名訪問其中的數據。命名的內存單元就是常量或變量。常量:

在程序運行過程中,其值始終保持不變的量稱為常量。常量可分為:1、普通常量:可以分為數值常量如12、18、&H14字符串常量如“abcd”“12345”邏輯常量如true(邏輯真)false(邏輯假)日期常量如#2014-3-18#等2、符號常量:一些數據在程序中反復使用,可用一個符號來代替這個數據。變量:

所謂變量,是指在程序運行期間其值可以變化的量。在VisualBasic中執行應用程序期間,用變量來臨時存儲數據。每個不同的變量都用變量的標識符來區分,而變量的標識符就稱為變量名。變量的類型:%:表示整型&:表示長整型!:表示單精度型#:表示雙精度型@:表示貨幣型$:表示字符型例:abc$表示該變量為字符型變量abc!表示該變量為單精度型變量abc@表示該變量為貨幣型變量2、運算符、函數與表達式

在計算機程序設計高級語言中,通過運算符和操作數能夠組成各種類型的表達式,從而實現程序編制中所需要的大量操作。

它們可分為:

算術運算符與算術表達式如:y=x+15關系運算符與關系表達式如:x>y邏輯運算符與邏輯表達式如:x=0andx>0字符串運算符與字符串表達式如:”abc”+“def”或“abc”&”def”

函數:VisualBasic語言提供了大量的內部函數,用戶可以直接調用它們。

內部函數又叫標準函數,包括數學函數、字符串函數、轉換函數、日期函數和格式輸出函數等。如:sin(x)求正弦值date()求當前系統的日期asc(x)求x指定字符的機內碼chr(x)求x指定機內碼的對應字符3、語句程序由一行行的語句組成,語句是指揮計算機工作的指令,每個語句都有其格式規定,包括關鍵詞、搭配的參數、符號等。

如:print#1mm$是把mm$的值輸出到內存中的1號文件區中去。y=x+1是指把x+1的值賦于給y一個應用程序可能由若干段程序組成,每段程序前面和后面都有起始定義語句和結束語句。

Privatesub是定義子程序的語句Endsub是結束子程序的語句

上面兩個語句是成對出現的。

Form窗體是子程序的應用對象Click表示單擊鼠標時開始執行該子程序Load表示程序裝載后開始執行

PrivateSubForm_Load()EndSubPrivateSubForm_Click()EndSub實踐:把上述任務程序中的“劉麗”修改為你的名字并執行程序,查看結果。探究活動:試找出加密程序中有哪些變量、運算符、函數和語句,嘗試了解它們的作用。四、剖析編制計算機程序解決問題的過程當我們遇到的問題需要通過編制計算機程序來解決的時候,該如何做呢?一般來說,需要經歷以下過程:分析問題設計算法編寫程序調試運行檢測結果修改1、分析問題對于任何一個實際問題,首先要分析該問題的需求情況及已知條件,判斷解決問題的可能性和目標要求,然后對需要解決的問題給出一個精確的描述或者建立一個描述問題的模型。

探討交流:你對本節開頭的劉麗媽媽提出的郵件安全問題如何分析?2、設計算法問題分析清楚后。接下來是要給出解決這個問題的詳細方法和步驟,這一過程稱為設計算法。

算法是程序編寫的基礎。描述算法的方法:自然語言描述、流程圖的形式描述等。根據要求的不同:可以粗略描述、也可以詳細描述。算法描述越詳細,編寫程序就越方便。探討交流:

1、觀摩課本圖4-9加密算法描述。2、想一想,能不能找到其它的加密算法?3、編寫程序有了清晰可操作的算法描述,就可以選擇一種計算機語言工具(如:VB程序設計語言),來實現算法。一般來說,只要算法確定,設計語言的選擇沒有什么特別的限定,通常根據問題的特性和編程人員對語言的熟悉程序來選定。詳盡的算法描述是更有利于轉換為計算機語言的代碼。探討交流:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論