資源描述:
《宏程序應(yīng)用指令.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、宏程序跳轉(zhuǎn)及重復(fù)指令GOTOS:跳回到程序開(kāi)始GOTOB:以程序開(kāi)始方向的帶跳轉(zhuǎn)目標(biāo)的跳轉(zhuǎn)指令。GOTOF:以程序末尾方向的帶跳轉(zhuǎn)目標(biāo)的跳轉(zhuǎn)指令。GOTO:帶跳轉(zhuǎn)目標(biāo)查找的跳轉(zhuǎn)指令。查找先向程序末尾方向進(jìn)行,然后再?gòu)某绦蜷_(kāi)始處進(jìn)行查找。GOTOC:與GOTO有區(qū)別的是,報(bào)警14080“跳轉(zhuǎn)目標(biāo)未找到”被抑制。這表示,在跳轉(zhuǎn)目標(biāo)查找沒(méi)有結(jié)果情況下不中斷程序加工,而以指令GOTOC下面的程序行繼續(xù)進(jìn)行。跳轉(zhuǎn)條件允許使用所有的比較運(yùn)算和邏輯運(yùn)算(結(jié)果:TRUE或者FALSE)。如果這種運(yùn)算的結(jié)果為T(mén)RUE,則執(zhí)行程序跳轉(zhuǎn)。TRUE(真實(shí)、準(zhǔn)確)FALSE(錯(cuò)誤)特殊情況
2、一般情況IF<跳轉(zhuǎn)條件>=TRUEGOTOB<跳轉(zhuǎn)目標(biāo)>IF<跳轉(zhuǎn)條件>=GOTOB<跳轉(zhuǎn)目標(biāo)>IF<跳轉(zhuǎn)條件>=TRUEGOTOF<跳轉(zhuǎn)目標(biāo)>IF<跳轉(zhuǎn)條件>=GOTOF<跳轉(zhuǎn)目標(biāo)>IF<跳轉(zhuǎn)條件>=TRUEGOTO<跳轉(zhuǎn)目標(biāo)>IF<跳轉(zhuǎn)條件>=GOTO<跳轉(zhuǎn)目標(biāo)>IF<跳轉(zhuǎn)條件>=TRUEGOTOC<跳轉(zhuǎn)目標(biāo)>IF<跳轉(zhuǎn)條件>=GOTOC<跳轉(zhuǎn)目標(biāo)>程序分支(CASE...OF...DEFAULT...)CASE功能可以檢測(cè)一個(gè)變量或者一個(gè)計(jì)算函數(shù)當(dāng)前值(類(lèi)型:INT),根據(jù)結(jié)果跳轉(zhuǎn)到程序中的不同位置。句法:CASE(<表達(dá)式>)OF<常量_1>GOTOF<跳
3、轉(zhuǎn)目標(biāo)_1><常量_2>GOTOF<跳轉(zhuǎn)目標(biāo)_2>...DEFAULTGOTOF<跳轉(zhuǎn)目標(biāo)_n>常量:變量或者計(jì)算函數(shù)首先規(guī)定的恒定值DEFAULT:對(duì)于變量或者計(jì)算函數(shù)沒(méi)有采用規(guī)定值的情況,可以用DEFAULT指令確定跳轉(zhuǎn)目標(biāo)。N20DEFINTVAR1VAR2VAR3N30CASE(VAR1+VAR2-VAR3)OF7GOTOFLabel_19GOTOFLabel_2DEFAULTGOTOFLabel_3N40Label_1:G0X1Y1N50Label_2:G0X2Y2N60Label_3:G0X3Y3CASE指令由N30定義下列程序分支可行性:1.如果計(jì)算
4、函數(shù)值VAR1+VAR2-VAR3=7,則跳轉(zhuǎn)到帶有跳轉(zhuǎn)標(biāo)記定義的程序段"Label_1"(→N40)。2.如果計(jì)算函數(shù)值VAR1+VAR2-VAR3=9,則跳轉(zhuǎn)到帶有跳轉(zhuǎn)標(biāo)記定義的程序段"Label_2"(→N50)。3.如果計(jì)算函數(shù)VAR1+VAR2-VAR3的值既不等于7也不等于9,則跳轉(zhuǎn)到帶有跳轉(zhuǎn)標(biāo)記定義的程序段“Label_3”(→N60)。程序部分重復(fù)(REPEAT,REPEATB,ENDLABEL,P)功能:程序部分重復(fù)是指在一個(gè)程序中,可以任意組合重復(fù)已經(jīng)編寫(xiě)的程序部分。需要重復(fù)的程序行或程序段落帶有跳轉(zhuǎn)標(biāo)記(標(biāo)簽)。REPEATB:重復(fù)程序行的指
5、令REPEAT:重復(fù)程序段落的指令1、重復(fù)單個(gè)程序行<跳轉(zhuǎn)標(biāo)記>:......REPEATB<跳轉(zhuǎn)標(biāo)記>P=...2.重復(fù)跳轉(zhuǎn)標(biāo)記和REPEAT指令之間的程序段落:<跳轉(zhuǎn)標(biāo)記>:......REPEAT<跳轉(zhuǎn)標(biāo)記>P=...3.重復(fù)兩個(gè)跳轉(zhuǎn)標(biāo)記間的段落:<起始跳轉(zhuǎn)標(biāo)記>:......<結(jié)束跳轉(zhuǎn)標(biāo)記>:......REPEAT<起始跳轉(zhuǎn)標(biāo)記><結(jié)束跳轉(zhuǎn)標(biāo)記>P=...說(shuō)明REPEAT指令不能被括在這兩個(gè)跳轉(zhuǎn)標(biāo)記之間。如果在REPEAT指令前找到了<起始跳轉(zhuǎn)標(biāo)記>,但在REPEAT指令前沒(méi)有找到<結(jié)束跳轉(zhuǎn)標(biāo)記>,則重復(fù)<起始跳轉(zhuǎn)標(biāo)記>和REPEAT指
6、令之間的程序段落。4.重復(fù)跳轉(zhuǎn)標(biāo)記和ENDLABEL間的段落:<跳轉(zhuǎn)標(biāo)記>:......ENDLABEL:......REPEAT<跳轉(zhuǎn)標(biāo)記>P=...說(shuō)明REPEAT指令不能被括在<跳轉(zhuǎn)標(biāo)記>和ENDLABEL之間。如果在REPEAT指令前找到了<跳轉(zhuǎn)標(biāo)記>,但在REPEAT指令前沒(méi)有找到ENDLABEL,則重復(fù)<跳轉(zhuǎn)標(biāo)記>和REPEAT指令之間的程序段落。示例1:重復(fù)單個(gè)程序行N10POSITION1:X10Y20N20POSITION2:CYCLE(0,,9,8);位置循環(huán)N30...N40REPEATBPOSITION1P=5;執(zhí)行程序段SATZN1
7、0五次N50REPEATBPOSITION2;執(zhí)行程序段N20一次N60...N70M30示例2:重復(fù)跳轉(zhuǎn)標(biāo)記和REPEAT指令之間的程序段落N(xiāo)5R10=15N10Begin:R10=R10+1;寬度N20Z=10-R10N30G1X=R10F200N40Y=R10N50X=-R10N60Y=-R10N70Z=10+R10N80REPEATBEGINP=4;執(zhí)行N10到N70程序部分四次N90Z10N100M30示例3:重復(fù)兩個(gè)跳轉(zhuǎn)標(biāo)記間的段落程序代碼注釋N5R10=15N10Begin:R10=R10+1;寬度N20Z=10-R10N30G1X=R10F200N
8、40Y=R