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 ... ,關係運算式中可以用 ANDORNOT

完整的例子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 : 使用者輸入 一個數字,電腦會判斷 個位數 、十位數、百位數