選擇結構的控制結構

2022-09-19 05:42:05 字數 3548 閱讀 3444

1. 簡單判斷:if 《條件表示式》

語句序列

endif

2. 選擇分支:if 《條件表示式》

語句序列1

else

語句序列2

endif

3. 多條件選擇:do case

case 《條件表示式1>

語句序列1

case 《條件表示式2>

語句序列2

……case 《條件表示式n>

語句序列n

[otherwise

語句序列n+1]

endcase

4.巢狀的if - else語句

if 《條件表示式1>

if 《條件表示式2>

語句序列1

else

語句序列2

else

if 《條件表示式3>

語句序列3

else

語句序列4

endif

endif

說明:1.在這4種控制結構中,第1種簡單判斷使用起來最簡單,但也最實用,可以作為首選,雖然在編制程式時語句多用幾句,但用起來卻很方便。

2.第2種選擇分支往往用在兩種情況的判斷。

3.第3種情況語句是多條件選擇,是真正的多路開關。

4.第4種巢狀的if -- else語句使用起來最靈活,其實,以上各種形式的分支結構間相互都可以巢狀

二.例項:

1.****在考生目錄中,已有檔案請除錯程式,完成以下功能。程式中「______n_____」是需要填充的地方,請填空,使程式完整。(上機填空題)

****功能:從鍵盤輸入資料a,通過型別判斷,輸出其資料型別的漢字說明。

set talk off

clear

input "a=" to a

do case

case type("a")="c"

?a,"是字元型資料。"

1 ?a,"是數值型資料。"

case type("a")="l"

?a,"是邏輯型資料。"

&& 2

?a,"是日期型資料。"

case type("a")="y"

?a,"是貨幣型資料。"

&& 3

set talk on

答案: type("a")="n"

type("a")="d"

2.從鍵盤輸入乙個數,說明它是奇數還是偶數。

set talk off

clea

(1) 『輸入乙個數=』 to sh &&3種人機對話語句

a=int(sh)

if a=sh

if (2整除的3種表示方法

(3輸出格式

else

? a,』是奇數!』

(4)else

? 『不是整數』

endif

set talk on

【供選擇的答案】

1、 a、acceptb、input

c、waitd、store

2、 a、int(a)/2=a/2b、int(a/2)

c、mod(a/2)=0d、a%2=0

3、 a、? a+』是偶數b、? str(a)-』是偶數!』

c、? a+是偶數d、? val(a)+』是偶數!』

4、 a、endcaseb、otherwise

c、endifd、else

3.程式設計,輸入x後,根據下式計算並輸出y值。(分段函式)

set talk off

clear

input 「x=」 to x

if x<-2

y=x^2-sin(x)

endif

if x>=-2 and x<=2

y=2^x+x

endif

if x>2

y=sqrt(x^2+x+1)

endif

?x,y

set talk on

retu

4.求一元二次方程序ax2+bx+c=0的根,a、b、c的值從鍵盤輸入。(用多路選擇分支結構實現。)

set talk off

clear

input "a=" to a

input "c=" to c

d=b*b-4*a*c

p=-b/(2*a)

do case

case d<0

?" 復根!"

case d=0

?"x1=x2=",p

case d>0

d1=sqrt(d)

?"x1=",(-b+d1)/(2*a)

?"x2=",(-b-d1)/(2*a)

endcase

set talk off

5.【程式說明】

輸入三個數,計算該三個數所構成的三角形面積。如果給定的三個數構成乙個三角形,則輸出面積值,否則輸出『輸入有錯』。(子程式呼叫)

【程式】

set talk off

clea

do whil .t.

(24) b

input 'a=' to a

input 'b=' to b

input 'c=' to c

if a<=0 or b<=0 or c<=0

? '輸入有錯'

else

do area with a,b,c

? await '輸入是否繼續?(y-繼續/n-退出)' to x

if upper(x)= 'n'

exit

endif

endif

endd

set talk on

* para s1,s2,s3

if s1+s2>s3 and s2+s3>s1 and s1+s3>s2

s=(s1+s2+s3)/2

s1=sqrt(s*(s-s1)*(s-s2)*(s-s3))

else

? '輸入有錯'

endif

6.說明:閱讀下列程式(段)並回答問題,在每小題提供的若干可選答案中,挑選乙個正確答案。(分支巢狀)

【程式】

set talk off

clea

input "x=" to x

s=1if x>=0

do case

case x<10

s=1case x<30

s=2otherwise

s=3endc

else

s=4endif

? sset talk on

【供選擇的答案】

(13) 當x輸入為0時,s的輸出結果為 (13) 。

a、1b、2c、3d、4

(14) 當x輸入為-1時,s的輸出結果為 (14) 。

a、1b、2c、3d、4

(15) 當x輸入為30時,s的輸出結果為 (15) 。

a、1b、2c、3d、4

(16) 當x輸入為35-10時,s的輸出結果為 (16) 。

a、1b、2c、3d、4

組織控制 市場控制 公司治理結構的模式選擇和制度安排

組織控制 市場控制 公司治理結構的模式選擇和制度安排公司治理結構是現代企業發展的產物。本世紀初誕生的現代企業的乙個顯著特徵是所有權和經營權的分離。現代企業的規模 技術含量 市場競爭帶來的機遇與風險 發展戰略確立的重要意義 內部資源配置的效率這些問題都是傳統業主式企業所不能比及或沒有碰到過的。由此,它...

VB選擇結構

三 完善程式鞏固新知 引入 半成品加工策略 出示順序結構中曾經完成的練習,要求學生指出原程式中有哪些還不夠完善的地方,請運用本課知識,進行修改 除錯,鞏固本課重點。要求兩人一組,兩人共同對兩個練習進行分析,然後每人選做一題,可以互相幫助,做完後互相交流,互相評價結果。練習一 乙個小球,不停地向上方滾...

VB選擇結構

按要求儲存檔案,窗體檔名為e6.frm,工程檔名為e6.vbp。7.彈球。窗體上有乙個紅色實心小球shape1,兩個命令按鈕 mand1和 mand2,乙個定時器timer1。shape1控制項屬性設定 shape 3 circle borderstyle 0 transparent fillsty...