版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
編制計(jì)算機(jī)程序解決問題信息技術(shù)基礎(chǔ)---第四章信息的加工與表達(dá)(下)案例分析:劉麗的媽媽是公司經(jīng)理,需要對(duì)業(yè)務(wù)信函郵件進(jìn)行加密……她的表哥建議可以從一些工具類軟件中找加密軟件……劉麗想自己來編寫加密程序來對(duì)郵件加密,并鉆研了計(jì)算機(jī)編程……編程序:就是我們針對(duì)具體問題,運(yùn)用程序設(shè)計(jì)語言編制一個(gè)專門的計(jì)算機(jī)程序來解決問題。下面我們先認(rèn)識(shí)一下計(jì)算機(jī)程序的基本知識(shí)。一、認(rèn)識(shí)計(jì)算機(jī)與程序1、計(jì)算機(jī)運(yùn)行的基本流程:接通電源---計(jì)算機(jī)執(zhí)行ROM中的指令進(jìn)行自檢---運(yùn)行操作系統(tǒng)windows。
操作系統(tǒng)裝載完畢,用戶可以從“開始”菜單中的“所有程序”(或點(diǎn)擊桌面上相應(yīng)的程序圖標(biāo))選擇程序運(yùn)行。2、計(jì)算機(jī)的硬件組成計(jì)算機(jī)的硬件組成:輸入設(shè)備、輸出設(shè)備、中央處理器、存儲(chǔ)器計(jì)算機(jī)的各部件由中央處理器根據(jù)程序指令控制著相互配合工作。中央處理器:控制器和運(yùn)算器組成存儲(chǔ)器分為內(nèi)存和外存內(nèi)存:分為ROM、RAM外存:硬盤、光盤、U盤等。3、計(jì)算機(jī)工作的基本流程:A、計(jì)算機(jī)工作時(shí),中央處理器根據(jù)輸入指令,從輸入設(shè)備或外存中輸入程序或數(shù)據(jù),并保存到計(jì)算機(jī)內(nèi)存中。B、執(zhí)行程序時(shí)從內(nèi)存中讀取指令和數(shù)據(jù),按順序執(zhí)行指令,處理結(jié)果放回內(nèi)存。C、中央處理器執(zhí)行輸出或保存指令時(shí),會(huì)把內(nèi)存中的處理結(jié)果輸出到輸出設(shè)備或保存到外存中去。逐條順序執(zhí)行預(yù)先存放在存貯器中指令馮諾伊曼:存儲(chǔ)程序控制原理輸入設(shè)備輸出設(shè)備預(yù)先將程序輸入存儲(chǔ)器運(yùn)算器控制器中央處理器內(nèi)存儲(chǔ)器RAM外存儲(chǔ)器傳輸程序或數(shù)據(jù)控制執(zhí)行指令4、計(jì)算機(jī)程序基本知識(shí)事例賞析:下圖是一個(gè)電子設(shè)備---數(shù)字顯示電路,如果分別用二進(jìn)制的“0”和“1”表示燈泡的“滅”與“亮”兩種狀態(tài),試分析“6”這個(gè)數(shù)字用二進(jìn)制代碼如何表示。1101111
計(jì)算機(jī)是一種數(shù)字化的電子設(shè)備,采用了大量的集成電路,盡管其中的電路設(shè)計(jì)非常復(fù)雜,但工作時(shí)每段電路只有兩種狀態(tài),可形象地稱為開和關(guān)。所以計(jì)算機(jī)的電路可以采用二進(jìn)制數(shù)字編碼來表示和控制。
當(dāng)把控制計(jì)算機(jī)操作的指令與存儲(chǔ)數(shù)據(jù)的電路狀態(tài)用二進(jìn)制數(shù)字1和0對(duì)應(yīng)表示時(shí),人們就可以事先把需要執(zhí)行的指令和處理的數(shù)據(jù)用1、0組成的代碼編寫好程序,輸入計(jì)算機(jī)時(shí)把1、0代碼直接轉(zhuǎn)換為相應(yīng)的開關(guān)電路,就可以讓計(jì)算機(jī)工作了。這些1、0代碼就好像是計(jì)算機(jī)能聽得懂的語言而被稱為機(jī)器語言。早期的計(jì)算機(jī)程序就是用機(jī)器語言編制的。計(jì)算機(jī)程序設(shè)計(jì)語言的發(fā)展歷程:
隨著科學(xué)家的努力,計(jì)算機(jī)程序設(shè)計(jì)語言的使用越來先進(jìn)和方便了。機(jī)器語言:由1、0代碼組成。難記難學(xué),不方便用戶使用。匯編語言:把1、0代碼轉(zhuǎn)換為有意義的字符代碼。
以上兩種計(jì)算機(jī)語言,要求用戶對(duì)計(jì)算機(jī)的結(jié)構(gòu)組成非常熟悉才能使用,屬于低級(jí)語言。高級(jí)程序語言:貼近人們閱讀理解習(xí)慣,操作界面越來越人性化,使得更多人能夠更方便使用計(jì)算機(jī)。0100010001011010101011000010001000101101010111100101000100110110101010101101010111Movax,8Movbx,10Addax,bxY=8X=Y+10指令序列的集合
程序高級(jí)語言匯編語言機(jī)器語言計(jì)算機(jī)高級(jí)語言程序常見的如:BASIC、PASCAL、C++、VISUALBASIC等。
使用高級(jí)語言編寫的程序都需要經(jīng)過一系列的翻譯過程轉(zhuǎn)換為機(jī)器語言,才能讓計(jì)算機(jī)執(zhí)行。計(jì)算機(jī)機(jī)器語言程序計(jì)算機(jī)高級(jí)語言程序翻譯程序用戶計(jì)算機(jī)編寫計(jì)算機(jī)語言系統(tǒng)執(zhí)行
在計(jì)算機(jī)中的所有信息,包括字符、圖像、動(dòng)畫、聲音、視頻等都是以二進(jìn)制數(shù)字(1、0)編碼來表示的。二、體驗(yàn)程序的作用及其編制環(huán)境計(jì)算機(jī)程序的運(yùn)行,用戶大多數(shù)時(shí)候是看不見其中運(yùn)行過程的,見到的基本上是程序的操作界面及運(yùn)行結(jié)果。
下面我們以VISUALBASIC(簡稱為VB)程序設(shè)計(jì)語言為例,體驗(yàn)一下如何運(yùn)用計(jì)算機(jī)程序來解決問題。VB程序是一個(gè)可視化程序設(shè)計(jì)語言,是一個(gè)面向?qū)ο蟮募砷_發(fā)系統(tǒng)。
(一)、任務(wù):要求:利用VB程序設(shè)計(jì)語言編寫一個(gè)加密、解密的程序,對(duì)一個(gè)文本文件中的字符進(jìn)行轉(zhuǎn)換:
加密:使原來可以閱讀的字符---明文,變成其它讀不明白的字符---密文。
解密:則把密文恢復(fù)為明文。加密前的文件(明文)加密后的文件(密文)加密程序解密程序方法如下:1、準(zhǔn)備一份文本格式的待加密文件。2、新建程序文件。啟動(dòng)VB程序VB的窗口組成:窗體設(shè)計(jì)器工具箱窗體在屏幕的布局當(dāng)前控件的屬性窗體文件菜單欄標(biāo)題欄具箱工程管理器工具欄窗體代碼設(shè)計(jì)窗3、輸入程序----加密源程序的代碼:---PrivateSubForm_Load()FileName1$=InputBox("請(qǐng)輸入需要加密的文件名及路徑:")OpenFileName1$ForInputAs#1LineInput#1,a$MsgBoxa$,,"加密前的文本內(nèi)容"Close#1mm$=""n=Len(a$)Fori=1Tonb$=Mid$(a$,i,1)c$=Chr(Asc(b$)-10)mm$=mm$&c$NextMsgBoxmm$,,"加密后的文本內(nèi)容"FileName2$=InputBox("請(qǐng)輸入加密后的文件名及路徑:")OpenFileName2$ForOutputAs#2Print#2,mm$Close#2EndEndSub4、運(yùn)行程序運(yùn)行VB編寫的加密程序,比較一下范文加密前后的情況。范文:測試文本5、保存程序把程序保存為“加密01.frm”6、修改程序把加密改為解密程序,以“解密01.frm”文件名來保存程序解密程序的源代碼:PrivateSubForm_Load()FileName1$=InputBox("請(qǐng)輸入需要解密的文件名及路徑:")OpenFileName1$ForInputAs#1LineInput#1,a$MsgBoxa$,,"解密前的文本內(nèi)容"Close#1mm$=""n=Len(a$)Fori=1Tonb$=Mid$(a$,i,1)c$=Chr(Asc(b$)+10)mm$=mm$&c$NextMsgBoxmm$,,"解密后的文本內(nèi)容"FileName2$=InputBox("請(qǐng)輸入解密后的文件名及路徑:")OpenFileName2$ForOutputAs#2Print#2,mm$Close#2EndEndSub7、運(yùn)行解密程序體驗(yàn)一下解密的效果!8、生成可直接執(zhí)行的exe文件。命令:菜單---“文件”---“生成工程.exe”EXE格式的文件可在計(jì)算機(jī)中直接運(yùn)行。(二)、探討交流VB程序與之前學(xué)過的應(yīng)用程序(如Word、PowerPoint、Excel等)相比有何不同之處?
VB程序作為一個(gè)可視化的程序設(shè)計(jì)語言,那首先設(shè)計(jì)一個(gè)窗口,再在窗口中設(shè)置相應(yīng)控件(或者說相應(yīng)按鈕等),然后根據(jù)程序的需要,對(duì)相應(yīng)的控件進(jìn)行代碼編寫。
VB的功能強(qiáng)大,一經(jīng)編寫完畢,可無限處使用,速度快、可靠性高,精確度高。三、認(rèn)識(shí)程序中的基本元素程序代碼是用計(jì)算機(jī)語言編寫的,計(jì)算機(jī)語言也有它的基本組成元素和書寫規(guī)定。要讀懂和編寫計(jì)算機(jī)程序就首先要懂得計(jì)算機(jī)語言中的這些元素和規(guī)則。任務(wù):計(jì)算機(jī)程序中通常會(huì)出現(xiàn)常量、變量、函數(shù)、運(yùn)算符、表達(dá)式、語句等,這些都是計(jì)算機(jī)語言的基本元素。在VB中輸入下列程序并運(yùn)行,試找出其中哪些基本,領(lǐng)會(huì)它們的作用。
例子:PrivateSubForm_Click()
Print"劉"Print"麗"Print"機(jī)內(nèi)代碼"PrintAsc("劉")PrintAsc("麗")EndSubPrivateSubForm_Click()xm1$="劉"xm2$="麗"dm1=Asc(xm1$)dm2=Asc(xm2$)Print("字符")Print"機(jī)內(nèi)代碼是:"Printxm1$Printdm1Printxm2$Printdm2EndSubLx2.frmLx1.frm例子:PrivateSubForm_Click()xm1$="劉"xm2$="麗"Print"原字符"Printxm1$;Printxm2$dm1=Asc(xm1$)dm2=Asc(xm2$)Print"機(jī)內(nèi)代碼是:"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("的機(jī)內(nèi)代碼是:")Printdm1Printdm2Print("代碼還原的字符是:")Printzxm1$;Printzxm2$;EndSubLx3.frmLx4.frm探討交流:運(yùn)行了這幾個(gè)程序之后,你有何發(fā)現(xiàn)?VB的基本知識(shí):
1、常量、變量與數(shù)據(jù)類型。
VB的標(biāo)準(zhǔn)數(shù)據(jù)類型:
字節(jié)型(byte)、邏輯型(boolean)、整型(integer)、長整型(long)、單精度型(single)、雙精度型(double)、貨幣型(currency)、日期型(date)、字符型(string)、對(duì)象型(object)、變體型(variant)。計(jì)算機(jī)的內(nèi)存儲(chǔ)器存放著大量的信息,這些信息都是為了解決某個(gè)問題而設(shè)置的。在高級(jí)語言中,需要將存放數(shù)據(jù)的內(nèi)存單元命名,通過內(nèi)存單元名訪問其中的數(shù)據(jù)。命名的內(nèi)存單元就是常量或變量。常量:
在程序運(yùn)行過程中,其值始終保持不變的量稱為常量。常量可分為:1、普通常量:可以分為數(shù)值常量如12、18、&H14字符串常量如“abcd”“12345”邏輯常量如true(邏輯真)false(邏輯假)日期常量如#2014-3-18#等2、符號(hào)常量:一些數(shù)據(jù)在程序中反復(fù)使用,可用一個(gè)符號(hào)來代替這個(gè)數(shù)據(jù)。變量:
所謂變量,是指在程序運(yùn)行期間其值可以變化的量。在VisualBasic中執(zhí)行應(yīng)用程序期間,用變量來臨時(shí)存儲(chǔ)數(shù)據(jù)。每個(gè)不同的變量都用變量的標(biāo)識(shí)符來區(qū)分,而變量的標(biāo)識(shí)符就稱為變量名。變量的類型:%:表示整型&:表示長整型!:表示單精度型#:表示雙精度型@:表示貨幣型$:表示字符型例:abc$表示該變量為字符型變量abc!表示該變量為單精度型變量abc@表示該變量為貨幣型變量2、運(yùn)算符、函數(shù)與表達(dá)式
在計(jì)算機(jī)程序設(shè)計(jì)高級(jí)語言中,通過運(yùn)算符和操作數(shù)能夠組成各種類型的表達(dá)式,從而實(shí)現(xiàn)程序編制中所需要的大量操作。
它們可分為:
算術(shù)運(yùn)算符與算術(shù)表達(dá)式如:y=x+15關(guān)系運(yùn)算符與關(guān)系表達(dá)式如:x>y邏輯運(yùn)算符與邏輯表達(dá)式如:x=0andx>0字符串運(yùn)算符與字符串表達(dá)式如:”abc”+“def”或“abc”&”def”
函數(shù):VisualBasic語言提供了大量的內(nèi)部函數(shù),用戶可以直接調(diào)用它們。
內(nèi)部函數(shù)又叫標(biāo)準(zhǔn)函數(shù),包括數(shù)學(xué)函數(shù)、字符串函數(shù)、轉(zhuǎn)換函數(shù)、日期函數(shù)和格式輸出函數(shù)等。如:sin(x)求正弦值date()求當(dāng)前系統(tǒng)的日期asc(x)求x指定字符的機(jī)內(nèi)碼chr(x)求x指定機(jī)內(nèi)碼的對(duì)應(yīng)字符3、語句程序由一行行的語句組成,語句是指揮計(jì)算機(jī)工作的指令,每個(gè)語句都有其格式規(guī)定,包括關(guān)鍵詞、搭配的參數(shù)、符號(hào)等。
如:print#1mm$是把mm$的值輸出到內(nèi)存中的1號(hào)文件區(qū)中去。y=x+1是指把x+1的值賦于給y一個(gè)應(yīng)用程序可能由若干段程序組成,每段程序前面和后面都有起始定義語句和結(jié)束語句。
Privatesub是定義子程序的語句Endsub是結(jié)束子程序的語句
上面兩個(gè)語句是成對(duì)出現(xiàn)的。
Form窗體是子程序的應(yīng)用對(duì)象Click表示單擊鼠標(biāo)時(shí)開始執(zhí)行該子程序Load表示程序裝載后開始執(zhí)行
PrivateSubForm_Load()EndSubPrivateSubForm_Click()EndSub實(shí)踐:把上述任務(wù)程序中的“劉麗”修改為你的名字并執(zhí)行程序,查看結(jié)果。探究活動(dòng):試找出加密程序中有哪些變量、運(yùn)算符、函數(shù)和語句,嘗試了解它們的作用。四、剖析編制計(jì)算機(jī)程序解決問題的過程當(dāng)我們遇到的問題需要通過編制計(jì)算機(jī)程序來解決的時(shí)候,該如何做呢?一般來說,需要經(jīng)歷以下過程:分析問題設(shè)計(jì)算法編寫程序調(diào)試運(yùn)行檢測結(jié)果修改1、分析問題對(duì)于任何一個(gè)實(shí)際問題,首先要分析該問題的需求情況及已知條件,判斷解決問題的可能性和目標(biāo)要求,然后對(duì)需要解決的問題給出一個(gè)精確的描述或者建立一個(gè)描述問題的模型。
探討交流:你對(duì)本節(jié)開頭的劉麗媽媽提出的郵件安全問題如何分析?2、設(shè)計(jì)算法問題分析清楚后。接下來是要給出解決這個(gè)問題的詳細(xì)方法和步驟,這一過程稱為設(shè)計(jì)算法。
算法是程序編寫的基礎(chǔ)。描述算法的方法:自然語言描述、流程圖的形式描述等。根據(jù)要求的不同:可以粗略描述、也可以詳細(xì)描述。算法描述越詳細(xì),編寫程序就越方便。探討交流:
1、觀摩課本圖4-9加密算法描述。2、想一想,能不能找到其它的加密算法?3、編寫程序有了清晰可操作的算法描述,就可以選擇一種計(jì)算機(jī)語言工具(如:VB程序設(shè)計(jì)語言),來實(shí)現(xiàn)算法。一般來說,只要算法確定,設(shè)計(jì)語言的選擇沒有什么特別的限定,通常根據(jù)問題的特性和編程人員對(duì)語言的熟悉程序來選定。詳盡的算法描述是更有利于轉(zhuǎn)換為計(jì)算機(jī)語言的代碼。探討交流:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年汽車內(nèi)飾件定制加工合同范本3篇
- 2024年度綠色節(jié)能暖通系統(tǒng)承包工程合作協(xié)議模板3篇
- 《港口物流園區(qū)的運(yùn)輸優(yōu)化》
- 《A銀行B分行個(gè)人汽車消費(fèi)貸款風(fēng)險(xiǎn)控制研究》
- 2024外貿(mào)企業(yè)信用保險(xiǎn)及風(fēng)險(xiǎn)保障合作協(xié)議二零二四3篇
- 睡眠追蹤對(duì)高血壓的影響-洞察分析
- 藥店O2O模式研究-洞察分析
- 移動(dòng)端可用性分析-洞察分析
- 2024醫(yī)療器械市場推廣與銷售代理合同3篇
- 息肉患者飲食指導(dǎo)-洞察分析
- 我國商業(yè)銀行中間業(yè)務(wù)的發(fā)展現(xiàn)狀、存在問題及對(duì)策研究-以中國建設(shè)銀行為例
- DL∕ T 736-2010 農(nóng)村電網(wǎng)剩余電流動(dòng)作保護(hù)器安裝運(yùn)行規(guī)程
- 滬教版七年級(jí)數(shù)學(xué)上冊(cè)期末試卷01(原卷版+解析)
- 籃球場建設(shè)合同協(xié)議
- 2024-2030年中國機(jī)械密封行業(yè)市場運(yùn)營現(xiàn)狀及投資規(guī)劃研究建議報(bào)告
- 勞動(dòng)教育國內(nèi)外研究現(xiàn)狀綜述
- 電能質(zhì)量試題庫
- 奧數(shù)試題(試題)-2023-2024學(xué)年四年級(jí)下冊(cè)數(shù)學(xué)人教版
- 中學(xué)心理團(tuán)輔活動(dòng)方案
- 2022-2023學(xué)年北京市東城區(qū)北京版六年級(jí)上冊(cè)期末測試英語試卷【含答案】
- AQ∕T 7009-2013 機(jī)械制造企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化規(guī)范
評(píng)論
0/150
提交評(píng)論