VB 6.0 講義 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
補充講義: 選擇 if ... then
指令3 : if ... then 選擇 (選擇用指令)
指令3.1 : if ... then
用法:
if 關係運算式 then 程式碼 程式碼只有一行
例:
if a>3 then 程式碼
完整的例子1:
a = 5
if a>3 then print " a is biger than 3 \n"
練習1 : 試寫一個程式,讓使用者由鍵盤輸入一個數字,如果大於1000,電腦會印出"大於1000"
練習2 : 偶數(奇數)確認法,由使用者由鍵盤輸入數字,如果是偶數,電腦會印出"偶數"
指令3.2 : if ... then ... end if
用法:
if 關係運算式 then
程式碼 程式碼有很多行時
程式碼
...
end if
例:
if a>3 then
程式碼
...
end if
完整的例子2:
a = 5
if a>3 then
print " a is biger than 3 \n"
print "Bye Bye \n"
end if
比較指令3.1 和 指令3.2
練習3 : 及不及格判斷程式,由使用者由鍵盤輸入數字,如果
< 60 ,電腦會印出以下兩行
抱歉,你不夠努力,請再修一次
請於 XX月XX日重修班見
指令3.3 : if ... then ... else ... end if
用法:
if 關係運算式 then
程式碼 符合條件式時執行
程式碼
...
else
程式碼 不符合條件式時執行
程式碼
...
end if
例:
if a>3 then
print " a > 3 \n"
...
else
print "a <= 3 \n"
...
end if
完整的例子3:
if a>3 then
print " a > 3 \n"
else
print "a < 3 \n"
print "maybe a = 3 \n"
end if
練習4 : 偶數(奇數)確認法,由使用者由鍵盤輸入數字,如果是偶數,電腦會印出"偶數",否則,電腦會印出"奇數"
練習5 : 潤年確認法,程式執行時會提醒使用者輸入 西元的年數 ,電腦會判斷"潤年"或"非潤年",並印出結果 (簡單版,只要是 4 的倍數就是潤年)
觀念 :if 中可以有 if
例:
if a>3 then
程式碼
...
if b>3 then
程式碼
...
end if
程式碼;
...
end if 這種觀念叫巢狀 if (多個 if ? )
完整的例子4 : 要進明志就讀,要有兩個條件:姓別(假設1代表男姓,2代表女姓)/分數(假設要大於300分),第一個條件要符合,才看看第二個條件
sex = 1
score = 312
if sex = 1 then
print "m..., you are man \n"
if score >300 then
print "Congratulation, you are a MIT studnet \n"
end if
end if
練習6 : 改寫上面的程式,讓使用者由鍵盤輸入分數/年齡,第一個條件要符合(假設要大於350分),才看看第二個條件(假設要大於12)
指令4.4 : 詳談 if ... ,關係運算式中可以用 AND 和 OR 和 NOT
完整的例子5 : 要進明志就讀,要有兩個條件:姓別(假設1代表男姓,2代表女姓)/分數(假設要大於300分),第一個條件要符合,才看看第二個條件
sex = 1
score = 312
if sex = 1 and score >300 then
print "Congratulation, you are a MIT studnet \n"
end if
練習7 : 改寫練習6的程式(只用一個 if),讓使用者由鍵盤輸入分數/年齡,第一個條件要符合(假設要大於350分),才看看第二個條件(假設要大於12)
練習8 : 某位男家教決定教不教學生,有兩個原則,如果是女生,則一定教,如果是男生,則要看他願意付的家教費是多少,如果是大於300元,才願意教。請設計一程式,讓使用者由鍵盤輸入性別(假設1代表男姓,2代表女姓)和金額,電腦會回答出,他收不收這個學生。
觀念 :if else 中也可以有 if else
用法:
if 關係運算式 then
程式碼
else
if 關係運算式 then
程式碼
else
程式碼
end if
end if
例:
if a>3 and b > 3 then
程式碼
...
else
if a>3 or b > 3
程式碼;
...
else
程式碼;
...
end if
end if
完整的例子6:
a = 5
b = 4
if a>3 and b > 3 then
print a," and ",b," are biger than 3 \n"
else
if a>3 or b > 3 then
print "One of ",a," and ",b," are biger than 3 \n"
else
print a," and ",b," are not biger than 3 \n"
end if
end if
練習9 : 使用者輸入 1~13 中其中一個數字,電腦會判斷<7、=7、>7
練習10 : 潤年確認法,程式執行時會提醒使用者輸入 西元的年數 ,電腦會判斷"潤年"或"非潤年",並印出結果 (完整版, 4 的倍數就是潤年, 但是如果是 100的倍數就不是潤年,但是如果是 400的倍數就是潤年)
print "請輸入西元年數:
" line input years x = int(years) if x % 4 = 0 then if x % 100 = 0 then if x % 400 = 0 then print x,"是潤年\n" else print x,"不是潤年\n" end if else print x,"是潤年\n" end if else print x,"不是潤年\n" end if |
|
print "請輸入西元年數: " line input years x = int(years) if x % 400 = 0 then print x,"是潤年\n" else if x % 100 = 0 then print x,"不是潤年\n" else if x % 4 = 0 then print x,"是潤年\n" else print x,"不是潤年\n" end if end if end if |
指令4 : select case 選擇 (判斷用指令)
用法:
select case 變數
case 條件1
print "<7"
case 條件2
print "=7"
case 條件3
print ">7"
end select
例:
select case c
case <7
print "<7"
case 7
print "=7"
case >7
print ">7"
end select
完整的例子7:
c=6
select case c
case <7
print "<7"
case 7
print "=7"
case >7
print ">7"
end select
練習11 : 使用者輸入 一個數字,電腦會判斷 個位數 、十位數、百位數