程式設計的三大結構

2021-03-04 09:39:16 字數 5340 閱讀 1127

一、程式設計的順序結構

順序結構:**按照由上到下的順序一行一行地執行。程式執行過程中沒有分支、沒有重複,

這種結構稱為順序結構。

例題:1、簡單的順序結構計算題目

private sub ***mand1_click()

dim a,b,c as integer

a=1b=2c=a+(2*a-b)

print c

end sub

2、交換兩個變數中的資料。

private sub ***mand1_click()

dim x as single, y as single

dim m as single

x = 6

y = 12

m = x

x = y

y = m

print x

print y

end sub

相關題解

單選題1、以下是一段vb程式:

a = 1

b = a + 1

b = a + b

c=a+b

它的基本結構屬於( a )

a、順序結構 b、選擇結構 c、迴圈結構 d、樹型結構

2、下列vb程式執行後,變數x的值為( a ).

x=2print x+l

print x+2

a、2 b、3 c、5 d、8

二、程式設計的分支結構

格式一:if條件then語句

執行這種形式的if語句時,首先對條件進行判斷。若條件成立,則執行then後面的語句;若條件不成立,則執行if語句後繼程式行的語句。

格式二:if條件 then 語句 1 else 語句 2

執行這種形式的if語句時,首先對條件進行判斷。若條件成立,則執行then後面的語句1;若條件不成立,則執行else後面的語句2。然後再順序執行分支結構以後的語句。

例題:1、輸入三個不相同的數,求出其中最小數。

private sub form_click()

dim a as single, b as single, c as single

dim min as single

a = inputbox("輸入a", "輸入框")

b = inputbox("輸入b", "輸入框")

c = inputbox("輸入c", "輸入框")

if a < b then min = a else min = b

if c < min then min = c

print "最小數="; min

end sub

執行這種形式的語句時,先進行判斷。若條件成立,則執行語句1;否則執行語句2。

格式三:if 條件 then

語句塊 end if

例題:當從輸入乙個數時,當該數大於或等於60時顯示"及格",該數小於60時顯示"不及格"。

private sub ***mand1_click()

dim a as single

a = val(text1.text)

if a >= 60 then

label1.caption = "及格"

end if

if a < 60 then

label1.caption = "不及格"

end if

end sub

格式四:if 條件 then

語句塊1

else

語句塊2

end if

例題:編寫程式,求函式y的值(當x≤0時,y=3x+1;當x>0時,y=4x+1)。

private sub form_click()

dim x as single

dim y as single

x = val(inputbox("請輸入變數x"))

if x <= 0 then

y = 3 * x + 1

else

y = 4 * x + 1

end if

print "y="; y

end sub

相關題解

單選題1、以下是一段visual basic程式:

if i=1 then

x=x+1

else

x=x*2

end if

它的基本結構屬於( a ).

a、選擇結構b、迴圈結構c、順序結構d、樹型結構

2、下列程式段執行後,變數value的值是( a )

x = 20

if x >= 10 then

value = 5 * x

else

value = 4 * x

end if

a、100 b、80 c、90 d、70

綜合分析

1、如要完成:從鍵盤輸入乙個正整數,判斷是否是奇數,如是就在螢幕上顯示。比較好

的演算法是( d )。

a、①輸人的數存人n變數②f=(n/2=int(n/2))③如果f中的值為true就顯示n中值

b、①輸人的數存人n變數②f=(n/2=int(n/2))③如果f中的值為false就顯示n中值

c、①輸人的數存人n變數②如果n/2=int(n/2)成立,就顯示n中值

d、①輸人的數存人n變數②如果n/2=int(n/2)不成立,就顯示n中值

2、下面是判斷變數x是不是能被5整除的偶數的程式,橫線上的邏輯表示式應為( ab )

private sub ***mandl_click()

dim x as integer

x=val(text1. text)

if ____ = 0 then

labell.caption=這個數是能被5整除的偶數

else

labell.caption=這個數不是能被5整除的偶數

end if

選項:a、(x mod 5) = 0 and (x mod 2 ) = 0 b、x mod 10 = 0 c、x mod 5 = 0 d、x mod 2 = 0

3、如要完成:從鍵盤輸入乙個正整數,判斷是否是偶數,如是就在螢幕上顯示。比較好

的演算法是( c )。

a、①輸入的數存人n變數②f=(n/2=int(n/2))③如果f中的值為true就顯示n中值

b、①輸入的數存人n變數②f=(n/2=int(n/2))③如果f中的值為false就顯示n中值

c、①輸入的數存人n變數②如果n/2=int(n/2)成立,就顯示n中值

d、①輸入的數存人n變數②如果n/2=int(n/2)不成立,就顯示n中值

4、如要完成:從鍵盤輸入乙個正整數,判斷是否是奇數,如是就在螢幕上顯示。比較好

的演算法是( d )。

a、①輸入的數存人n變數②f=(n/2=int(n/2))③如果f中的值為true就顯示n中值

b、①輸入的數存人n變數②f=(n/2=int(n/2))③如果f中的值為false就顯示n中值

c、①輸入的數存人n變數②如果n/2=int(n/2)成立,就顯示n中值

d、①輸入的數存人n變數②如果n/2=int(n/2)不成立,就顯示n中值

5、下列程式段執行後,m的值為( a )

a=2: b=1: c=5

if a < b then m = a else m = b

if c < m then m = c

選項:a、1 b、2 c、5 d、提示錯誤,無答案

三、程式設計的迴圈結構

一、for-next迴圈

for迴圈變數一般形式是:

for 迴圈變數=初值to終值step迴圈變數增量

迴圈體next 迴圈變數

例題1:求s=1+2+3+4.....+100

private sub form_click()

dim i as integer

dim sum as integer

sum = 0

for i = 1 to 100

sum = sum + i ' 迴圈體

next i

print "sum="; sum

end sub

例題2:step迴圈變數增量

private sub form_click()

for j = 3 to 15 step 2

print j

next j

end sub

迴圈變數的初值、終值、迴圈變數增量都是數值型。其中要重複執行的操作稱為迴圈體,增量可正可負,如果沒有設定step,則增量的預設值為1

1、 迴圈變數取初值;

2、 迴圈變數與終值比較,沒有超過終值轉3,否則循結束,接著執行迴圈語句的後繼語句;

3、 執行一次迴圈體

4、 迴圈變數增加乙個增量

5、 重複步驟2~4。

以上可以看出,for-next迴圈變數是一種當型迴圈。說明

(a) for語句與next語句必須成對出現,而且它們當中的「迴圈變數」必須是同乙個變數,如上例中均為i。

(b) 當迴圈變數為正時,迴圈變數超過終值,是指迴圈變數的值大於終值;若為負,則是指迴圈變數的值小於終值。

二、do-loop迴圈

for-next迴圈的次數是確定的,但是有的問題只知道迴圈結束的條件,重複執行的次數事先並不知道,這是需要do-loop迴圈

格式一: do while 條件

迴圈體loop

例題:求最大公約數

private sub ***mand1_click()

dim a as integer

dim b as integer

dim r as integer

a = val(text1.text)

b = val(text2.text)

r = a mod b

do while r <> 0

a = b

b = r

r = a mod b

loop

text3.text = str(b)

end sub

private sub ***mand2_click()

endend sub

當vb執行do while-loop迴圈時,先判斷指定的條件是否為真,若條件為真,執行迴圈體,條件為假時退出迴圈。

格式二: do

迴圈體    loop until條件

這種迴圈的執行過程如圖所示。進入迴圈體後,先執行一次迴圈體a,然後再檢查條件p是否成立。如果不成立,就重複執行迴圈體a,直到條件p成立退出迴圈體。

例題:如果我國人口每年以平均1.5%的速度增長,問多少年後我國人口達到或超過15億?設現在人口為12.3億。

實驗三順序結構程式設計

1 將程式第9 14行改為 a 61 b 62 c1 a c2 b f 3157.890121 g 0.123456789 d f e g p a m 50000 q b n 60000 執行程式,分析結果。2 在 1 的基礎上將printf語句改為 printf a d,b d,c1 c,c2 c...

實驗三 順序結構程式設計

實驗目的語要求 1 掌握c語言有關的算術運算子,以及包含這些運算子的表示式的求值規則。2 熟悉順序結構,掌握輸入輸出函式的使用方法。實驗內容 1 程式填空。以下程式功能 從鍵盤上輸入兩個實數,求兩數的和 差,輸出結果時要求小數部分佔兩位。include void main 2 程式改錯。程式功能 輸...

實驗三迴圈結構程式設計

一 實驗目的與要求 1 熟練掌握三種迴圈語句的應用。2 熟練掌握迴圈結構的巢狀。二 實驗內容 1 階乘問題 1 輸入n,求n的階乘n n 1 2 n 2 輸入n,求n的階乘和 1!2!n 2 水仙花數問題 1 輸出水仙花數及個數。2 輸入三位數m,n,輸出m n之間的水仙花數及個數,輸出的水仙花數要...