2015年6月25日 星期四

P1D 6/26小考解說

一、
01題:12+8 = 20   { + 加 }
02題:12-8 = 4    { - 減 }
03題:12*8 = 96   { * 乘 }
04題:12/8 = 1.5   { / 除,可能會有小數 }
05題:-12^2 = -144    { ^ 次方,優先序在 - 之前,所以先算出144再加負號 }
06題:121^0.5 = 11    { 0.5次方即開平方,但只取正根 }
07題:21\4 = 5    { \ 整除求 商 ,  21÷4 = 5餘1}  
08題:31Mod4 = 3  { Mod 整除求 餘 ,  31÷4  = 7餘3 }
09題:31.5\6.5 = 5 { \ 整除求 商左右先算出4捨6入的整數再除,即32÷6}
10題:31.5Mod6.5 = 5.5  { 找出最大的 a 使 31.5 - a*6.5 >=0 ,得a=4,求31.5 - 4*6.5即是}
  { 關係運算需在算術運算之後,  為真 True、為假 False }
{算術的優先序:括號先、 ^ 、 * , / 、\ 、 Mod 、 + , -  }
11題:13<4 = False    { <小於, 13<4為假 }
12題:3=3 = True     { =等於, 3=3為真 }
13題:6<>6 = False    { <>不等於, 6<>6 為假 }
14題:3>=5 = False   { >= 大於或等於, 3>=5 為假 }
15題:3<=5 = True  { <= 小於或等於, 3<=5 為真 }
 { 邏輯運算需在關係運算後,又先Not、再And、最後才 Or }
 { Not 真假相反、And(且)左右皆真才真、 Or(或)左右一真即真 }
16題:13>4 And 5>4 = True    { 先算關係 → True And True :左右皆真}
17題:13<4 Or 5>4 = True  {  → False  Or  True :一真即真}
18題:3>=4 Or 5<=3 = False  {  → False  Or  False:無真所以為假}
19題:Not (-2^3 <= 16/2) =  False {  → Not ( -8 <= 8 ) → Not ( True ):真 的相反為 假}
20題:59.7 Mod 32.5/2 =  10.95 {  先/再mod → 59.7 Mod 16.25 → 59.7 - 3*16.25}
21題:3+35 Mod 30\50/8 = 3 {  先/ , \ , mod最後才+ → 3+ 35 Mod 30 \6.25→3+35 Mod 5→3+0 }
22題:"919" > "920"+"3-5"= False  { 字串相加為串接 → "919" > "920+3-5" ,第1字同比第2字}
{字串的比較是比內碼、中文字>英文小寫>英文大寫>數字}
23題:"312"+4&3 = 3163   { &為將2資料串接為字串,但優先序在 + 之後 , 又}
 { 若有一數字與一字串相加會轉成數字相加,故→ "312"+4等於316,316 & 3等於 3163}
24題:7*5<3^2 +2 Or "Ab">"aB" = False  {  →35<11 Or "Ab">"aB" → False Or False}
二、
第1 題
Dim A,S
For A=11 to 123 Step 3
   S=S+A                                  ' 迴圈內 A變化為 11,14,17,....,122
Next A                                     ' 當 A=125>123結束,不的加至 S
Debug.print("S= " & S & "A= " & A) { 印出 S= [S值]  A=  [A值] } 
' 以上 11 ~ 122 項數共有 (122-11)÷3 +1 = 38
' 和 S = (11+122)÷2×項數 = 133÷2×38 = 2527
應印出:  S=2527 A=125 

第2題
Dim A,S
For A=123 to12 Step -3
     S=S+A                            ' 迴圈內 A變化為 123,120,117,....,12
Next A                                 ' 當 A=9 <12 結束,不的加至 S
 Debug.print("S= " & S & "A= " & A)
' 以上 123 ~ 12 項數共有 (123-12)÷3 +1 = 38
' 和 S = (123+12)÷2×項數 = 135÷2×38 = 2565
應印出:  S=2565 A=9 

第3題
Dim A,S,C
For A = 11 to111               '增加值預設為1
  If A mod 9 = 1 Then        ' 迴圈內11~111只有符合的以會執行IF內指令
    S= S+A                         ' 符合的 A有 19、28、…、109 皆加入 S
    C=C+1                          ' 每一個 C+1 ,即是算項數 
  End If
Next A
Debug.print("S= " & S & "C= " & C)
應印出:  S=704 C=11 

第4題
Dim A,S,C
For A=200 to100 Step 5  '增加值為正時 > 終值即結束,跳至 Next的下一指令
  If A mod 17 =0 Then
  S=S+A
  C=C+1
Next A
 Debug.print("S= " & S & "C = " & C)
應印出:  S=0 C=0           '註:但A已設為 200 哦

0 意見:

張貼留言