版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第六章 深入學(xué)習(xí)變量在實(shí)際編程過(guò)程中,經(jīng)常用變量交換臨時(shí)的數(shù)據(jù)或資源,前面已經(jīng)了解了變量的概念,這一章來(lái)學(xué)習(xí)靜態(tài)變量、變量數(shù)組及動(dòng)態(tài)管理變量。本章學(xué)習(xí)內(nèi)容:6.1 認(rèn)識(shí)靜態(tài)變量 6.5 動(dòng)態(tài)管理數(shù)組變量6.2 靜態(tài)變量的應(yīng)用 6.6 定時(shí)提醒小程序練習(xí)6.3 變量的命令操作 6.7 課后練習(xí)6.4 變量數(shù)組的定義 合理的運(yùn)用變量在編程過(guò)程中,能簡(jiǎn)化或優(yōu)化程序代碼運(yùn)行的效率。全局變量、程序集變量或局部變量,建立時(shí)默認(rèn)為非靜態(tài)變量,只有在子程序里局部變量才有“靜態(tài)”屬性設(shè)置。6.1 認(rèn)識(shí)靜態(tài)變量在子程序里面建立兩個(gè)變量。分別命名為“靜態(tài)變量”和“非靜態(tài)變量”,用鼠標(biāo)在靜態(tài)變量的“靜態(tài)”屬性欄里點(diǎn)擊
2、,出現(xiàn)“”符號(hào),這樣,靜態(tài)變量就具有了靜態(tài)屬性?!办o態(tài)”屬性欄里沒(méi)有“”符號(hào),說(shuō)明該變量為非靜態(tài)變量。1靜態(tài)變量與動(dòng)態(tài)變量的區(qū)別:非靜態(tài)變量在其所在子程序開始被執(zhí)行前自動(dòng)分配存儲(chǔ)空間并初始化,在所在子程序執(zhí)行完畢后自動(dòng)釋放所分配的存儲(chǔ)空間,也就是說(shuō),變量的存儲(chǔ)空間僅在其所在子程序執(zhí)行過(guò)程中存在;而靜態(tài)變量則保留現(xiàn)行內(nèi)容以供下次繼續(xù)使用。2全局變量和程序集變量具有“靜態(tài)”屬性嗎?雖然在全局變量和程序集變量里沒(méi)有設(shè)置“靜態(tài)”選項(xiàng),但是全局變量一旦賦值,變量數(shù)據(jù)就占據(jù)了指定的存儲(chǔ)空間,并在程序運(yùn)行期間永久存在僅在應(yīng)用程序啟動(dòng)運(yùn)行前被初始化一次,只有程序結(jié)束,存儲(chǔ)空間才被釋放。程序集也是一樣,在程序集
3、里面,程序集變量一旦賦值,只有程序集退出時(shí),存儲(chǔ)空間才被釋放。6.2 靜態(tài)變量應(yīng)用下面跟著實(shí)例來(lái)演示靜態(tài)變量的應(yīng)用。新建一個(gè)易語(yǔ)言程序,加入一個(gè)畫板和一個(gè)按鈕組件,更改畫板的“邊框”屬性為“凹入式”,“畫板背景色”屬性為白色。雙擊按鈕進(jìn)入程序設(shè)計(jì)界面,在“_按鈕1_被單擊”子程序里面建立兩個(gè)整數(shù)型變量,分別命名為“靜態(tài)變量”和“非靜態(tài)變量”,在靜態(tài)變量的“靜態(tài)”屬性欄里用鼠標(biāo)點(diǎn)擊,出現(xiàn)“”符號(hào),使其具有“靜態(tài)”屬性。順序輸入以下程序代碼。畫板1.滾動(dòng)寫行 (靜態(tài)變量)畫板1.滾動(dòng)寫行 (非靜態(tài)變量)靜態(tài)變量 靜態(tài)變量 1非靜態(tài)變量 非靜態(tài)變量 1按F5運(yùn)行程序,連續(xù)單擊3次按鈕。在畫板得出如下
4、結(jié)果。001020從結(jié)果可以看出,整數(shù)型靜態(tài)變量和非靜態(tài)變量的初始化值都是0,子程序結(jié)束后非靜態(tài)變量的數(shù)據(jù)清空,而靜態(tài)變量的數(shù)據(jù)依舊保留。6.3 變量的命令操作變量建立好并指定了數(shù)據(jù)類型后,如果不進(jìn)行賦值操作,變量會(huì)默認(rèn)初始化數(shù)值。在系統(tǒng)核心支持庫(kù)里面有變量?jī)蓚€(gè)操作命令。輸入“賦值”命令按回車,代碼行會(huì)變?yōu)椤埃??”,在易語(yǔ)言里面賦值操作的符號(hào)是“=”,后者數(shù)據(jù)賦予給前者??梢灾苯虞斎胱兞棵印?”加變量值。如:變量1=100變量2=“易語(yǔ)言”加入文本型變量3,輸入“連續(xù)賦值”命令,第一個(gè)參數(shù)是用作賦于的值或資源,第二個(gè)參數(shù)是被賦值的變量或變量數(shù)組,可以被重復(fù)添加。連續(xù)賦值 (“全中文全可視易
5、語(yǔ)言”, 變量2, 變量3)運(yùn)行程序后,變量2和變量3的值都等于“全中文全可視易語(yǔ)言”。這里不可以用連續(xù)賦值命令給變量1和變量2賦值,因?yàn)樗鼈兪遣煌愋偷淖兞俊?.4 變量數(shù)組的定義請(qǐng)打開上一章所完成的程序,將“_按鈕1_被單擊”子程序中的內(nèi)容全部刪除,然后進(jìn)行以下輸入操作:加入一個(gè)名為單維變量的整數(shù)型變量,在其數(shù)組屬性中輸入“3”,表明此變量為一個(gè)單維數(shù)組,共有 3 個(gè)成員。加入一個(gè)名為多維變量的整數(shù)型變量,在其數(shù)組屬性中輸入“2,2”,表明此變量為一個(gè)二維數(shù)組,共有 4 (2 × 2 的結(jié)果)個(gè)成員。順序輸入下列語(yǔ)句行:?jiǎn)尉S變量 1 100多維變量 2 1 200畫板1.滾動(dòng)寫行
6、 (單維變量 1, 多維變量 2 1)畫板1.滾動(dòng)寫行 (多維變量 3)多維變量 4 300畫板1.滾動(dòng)寫行 (多維變量 2 2)按F5運(yùn)行程序,連續(xù)單擊按鈕。在畫板得出如下結(jié)果。100200200300通過(guò)上面的程序可以知道:數(shù)組變量可以有多個(gè)成員變量,每個(gè)成員變量等同于一個(gè)單獨(dú)變量。各成員變量的引用方法為:數(shù)組變量名 + “” + 從 1 開始的成員位置 + “” + .譬如上面的單維變量,它有“單維變量 1”、“單維變量 2 ”、“單維變量 3 ”3個(gè)成員。多維變量有“多維變量 1 1 ”、“多維變量 1 2 ”、“多維變量2 1 ”、“多維變量2 2”四個(gè)成員。該表是將經(jīng)過(guò)上述運(yùn)算后,
7、各變量變更后的數(shù)值。變量名初始值運(yùn)行后的值單維變量 10100單維變量 200單維變量 300多維變量 1 100多維變量 1 200多維變量 2 10200多維變量 2 20300多維變量的成員也可以使用單維的方式來(lái)引用。譬如上面的“多維變量 3”等同于“多維變量 2 1 ”,“多維變量4 ”等同于“多維變量 2 2 ”。此方法可用來(lái)遍歷數(shù)組的所有成員。請(qǐng)繼續(xù)輸入進(jìn)行以下操作:(1)加入一個(gè)名稱為變量1的整數(shù)型變量。(2)添加以下程序代碼。計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (多維變量), 變量1)畫板1.滾動(dòng)寫行 (多維變量變量1)計(jì)次循環(huán)尾 ()從運(yùn)行結(jié)果可以看出,此段程序可以順序顯示出多維變量
8、中所有成員的內(nèi)容。其中前4行是第一次的運(yùn)行結(jié)果,后4行是剛才輸入新程序后的運(yùn)行結(jié)果,再試一試將上面添加的程序段中的多維變量改為單維變量。計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (單維變量), 變量1)畫板1.滾動(dòng)寫行 (單維變量變量1)計(jì)次循環(huán)尾 ()運(yùn)行后查看結(jié)果。前面已說(shuō)過(guò)了數(shù)組變量的每個(gè)成員可以當(dāng)成單個(gè)變量應(yīng)用,但是每個(gè)成員的數(shù)據(jù)類型必須相同。如果數(shù)組變量是整數(shù)型,里面對(duì)應(yīng)的每個(gè)成員也必須是整數(shù)型,否則變量賦值時(shí)會(huì)提示錯(cuò)誤。6.5 動(dòng)態(tài)管理數(shù)組變量下面將繼續(xù)講述如何動(dòng)態(tài)管理數(shù)組變量,它是易語(yǔ)言的高級(jí)特性之一。在系統(tǒng)核心支持庫(kù)下有一組數(shù)組操作命令,我們通過(guò)一個(gè)簡(jiǎn)單的例子來(lái)了解它們。在窗體上創(chuàng)建一個(gè)按鈕
9、組件。把其寬度拉長(zhǎng),更改窗口標(biāo)題為“動(dòng)態(tài)顯示文字”。分別建立文本變量1和整數(shù)型變量2,在變量1的數(shù)組屬性里輸入0,請(qǐng)繼續(xù)輸入進(jìn)行代碼:重定義數(shù)組 (變量1, 假,7) /把變量1的成員數(shù)重定義為7變量1= “中”, “文”, “編”, “程”, “易”, “語(yǔ)”, “言” /賦值給變量1每個(gè)成員對(duì)應(yīng)的文本 按鈕1.標(biāo)題=“” /清除按鈕1的標(biāo)題文字計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (變量1), 變量2) /循環(huán)次數(shù)為變量1的成員數(shù)按鈕1.標(biāo)題 按鈕1.標(biāo)題 到文本 (變量1 變量2) / 取變量1每個(gè)成員文字給按鈕1的標(biāo)題延時(shí)(300) /每次取變量1成員內(nèi)容間隔的時(shí)間計(jì)次循環(huán)尾 ()按F5運(yùn)行程序
10、,點(diǎn)擊按鈕1,按鈕的標(biāo)題會(huì)動(dòng)態(tài)顯示“中-文-編-程-易-語(yǔ)-言”。下面刪除代碼段:重定義數(shù)組 (變量1, 假, 7)再運(yùn)行程序,發(fā)現(xiàn)結(jié)果一樣,所以得出結(jié)論:變量1 “中”, “文”, “編”, “程”, “易”, “語(yǔ)”, “言” 這種賦值給變量1的操作,可以重新改變變量成員數(shù)目,并清除原先所有數(shù)據(jù)。原來(lái)成員數(shù)為0個(gè)成員,執(zhí)行后改為7個(gè)成員。再清除循環(huán)的一組代碼,添加一個(gè)新的文本型變量3,數(shù)組成員為0,繼續(xù)輸入:變量3=變量1信息框(取數(shù)組成員數(shù)(變量3),0,)運(yùn)行后,彈出信息框,得出“7”個(gè)變量3的成員數(shù),也就是說(shuō)明:變量3=變量1 這行代碼把變量1的成員數(shù)及其內(nèi)容同時(shí)賦給變量3,等同于:
11、“復(fù)制數(shù)組”命令:復(fù)制數(shù)組(變量1,變量3)。用Ctrl+回車鍵把信息框代碼行置為草稿,接著輸入以下代碼:重定義數(shù)組 (變量3, 真, 3, 4) /把單維變量3重定義為二維變量信息框 (取數(shù)組下標(biāo) (變量3, 1), 0, ) /得出變量3第一維的成員數(shù)信息框 (取數(shù)組下標(biāo) (變量3, 2), 0, ) /得出變量3第二維的成員數(shù)運(yùn)行后得出變量3第一維的成員數(shù)為3;第二維的成員數(shù)為4。6.6 定時(shí)提醒小程序練習(xí)變量數(shù)組是編程中臨時(shí)存儲(chǔ)多個(gè)數(shù)據(jù)的“小倉(cāng)庫(kù)”,其類型可以是整數(shù)、文本、字節(jié)集等等,在實(shí)際編程中會(huì)常常讀成員內(nèi)容時(shí),遇到超出下標(biāo)的錯(cuò)誤,好多出現(xiàn)在循環(huán)代碼中,需注意!下面就來(lái)練習(xí)本節(jié)的定
12、時(shí)提醒小程序。在新建的易程序窗口上添加如圖所示的組件,調(diào)整位置大小并更改標(biāo)題內(nèi)容。選住時(shí)鐘組件,在屬性面板上更改“時(shí)鐘周期”為1000,單位是毫秒,1秒=1000毫秒,目的是每1秒都執(zhí)行對(duì)應(yīng)的周期事件。雙擊標(biāo)題為“加入提示”的按鈕,進(jìn)入代碼編寫窗口。新建 “提示內(nèi)容”、“提示時(shí)間”兩個(gè)文本型和“變量1”整數(shù)型程序集變量,并設(shè)置“提示時(shí)間”變量的數(shù)組屬性為0個(gè)成員。在“_按鈕1_被單擊” 子程序下輸入:提示內(nèi)容 編輯框1.內(nèi)容提示時(shí)間 分割文本 (編輯框2.內(nèi)容, “:”, )切換到時(shí)鐘1屬性面板,點(diǎn)擊獨(dú)有的周期事件,進(jìn)入“_時(shí)鐘1_周期事件”子程序代碼編寫窗口,也可以直接用雙擊時(shí)鐘1組件進(jìn)入“
13、_時(shí)鐘1_周期事件”子程序代碼編寫窗口。輸入以下代碼:上面的命令代碼是取現(xiàn)在時(shí)間的小時(shí)部分和分鐘部分與指定提示的時(shí)間判斷,相同則執(zhí)行信息框提示。變量1的目的是控制一分鐘只提示一次,當(dāng)然你也可以讓程序提示兩次或多次。只需更改“如果真 (變量1 10 0)”代碼,等于每間隔10秒 提示一次。按鈕F5運(yùn)行程序,立刻會(huì)彈出錯(cuò)誤信息,問(wèn)題在哪里呢?原來(lái)“提示時(shí)間”數(shù)組變量的成員默認(rèn)是0,判斷提示時(shí)間1當(dāng)然出錯(cuò)了。先把時(shí)鐘1的時(shí)鐘周期設(shè)為0,再“_按鈕1.被單擊”子程序中添加代碼,判斷分割后的提示時(shí)間數(shù)組的成員數(shù),如果等于2,就分配時(shí)鐘1的時(shí)鐘周期為1000,不等于2還設(shè)為0。如果 (取數(shù)組成員數(shù) (提示時(shí)間) 2)時(shí)鐘1.時(shí)鐘周期 1000時(shí)鐘1.時(shí)鐘周期 0動(dòng)態(tài)賦予時(shí)鐘1的時(shí)鐘周期可以很好的節(jié)約系統(tǒng)資源。時(shí)鐘周期事件是經(jīng)常用到的即時(shí)判斷條件的事件,但一直會(huì)占用系統(tǒng)資源,不需要時(shí)時(shí)鐘周期最好設(shè)為0。按鈕F5運(yùn)行程序,在提示文本后面編輯框輸入一段文字,“我愛(ài)易語(yǔ)言!”,輸入提示時(shí)間,格式為“小時(shí):分鐘”,因?yàn)槌绦蚴欠指睢?”到提示時(shí)間數(shù)組,點(diǎn)擊“加入提示”按紐,程序到指定時(shí)間會(huì)談出提示的內(nèi)容。上面提示程序的原理就是輸入時(shí)間數(shù)字,以“:”分割出小時(shí)和分鐘與實(shí)際時(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合同法學(xué)教學(xué)大綱
- 2025有限公司員工試用期合同
- 2025商業(yè)地產(chǎn)銷售代理合同
- 二零二五年度地質(zhì)災(zāi)害應(yīng)急土方運(yùn)輸服務(wù)合同3篇
- 2025年度養(yǎng)殖場(chǎng)養(yǎng)殖廢棄物資源化利用合同3篇
- 2025年度科技創(chuàng)新園區(qū)拆遷房產(chǎn)分割與產(chǎn)業(yè)扶持協(xié)議3篇
- 2025年度林業(yè)產(chǎn)業(yè)發(fā)展競(jìng)業(yè)禁止模板木方交易協(xié)議3篇
- 二零二五年度農(nóng)村集體建設(shè)用地個(gè)人地基買賣合同2篇
- 二零二五年度高速公路建設(shè)項(xiàng)目承包協(xié)議3篇
- 2025年度水上旅游安全事故處理與救援服務(wù)協(xié)議3篇
- 小學(xué)體育期末檢測(cè)方案
- 2023-2024學(xué)年福建省莆田市荔城區(qū)中山中學(xué)、九中聯(lián)考九年級(jí)(上)期末數(shù)學(xué)試卷
- 接觸網(wǎng)設(shè)備故障應(yīng)急處理
- 2022年1月自考00850廣告設(shè)計(jì)基礎(chǔ)試題及答案含解析
- 娛樂(lè)演藝居間合同協(xié)議書范本
- 酒店服務(wù)禮儀教程-門童篇課件
- 食堂安全用電知識(shí)培訓(xùn)課件
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試語(yǔ)文試題(解析版)
- 湖北省黃岡市黃州區(qū)啟黃中學(xué)2023年數(shù)學(xué)九年級(jí)第一學(xué)期期末調(diào)研模擬試題含解析
- 親子鑒定報(bào)告樣本
- 智能制造職業(yè)規(guī)劃
評(píng)論
0/150
提交評(píng)論