返回列表 上一主題 發帖

給小朋友練習加法的問題

哈 我家也有小孩子 剛好可以用到...拿走了....感謝提供創意和解答
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 11# softsadwind

讚喔!
能夠物盡其用是最棒的了^^

TOP

稍微修改成我要的版本 分有需要的人使用
A1的數字可以更改,除法的部份,是有構想 不過沒有實力寫:P
讓有空的大大幫忙完成
A1 開√ ,取整數
例如 A1=100 開√就是10
C3:C22 就是取1~10的亂數
A3:A22 就是取 (1~10的亂數) x C欄
或許有更快得方法......盼望有人分享囉:D


加法練習.rar (16.16 KB)
  1. Sub 加法出題()
  2. UP = Range("A1"): LOWER = 0
  3. Sheets("加").Select
  4. For Each R In [A3:A22]
  5.    R.Value = Int((UP - LOWER + 1) * Rnd + LOWER)
  6.    R.Offset(0, 2).Value = Int((UP - R.Value - LOWER + 1) * Rnd + LOWER)
  7.    Range("B3:B22") = "+"
  8.    Range("B1") = "以內加法"
  9.    Range("F3").Select
  10.    ActiveCell.FormulaR1C1 = _
  11.         "=IF(RC[-1]<>"""",IF((RC[-5]+RC[-3])=RC[-1],""√"",""×""),"""")"
  12.         Selection.AutoFill Destination:=Range("F3:F22"), Type:=xlFillDefault
  13.    
  14. Next
  15. [E3:E22] = ""
  16. End Sub
  17. Sub 減法出題()
  18. UP = Range("A1"): LOWER = 0
  19. Sheets("加").Select
  20. For Each R In [A3:A22]
  21.    R.Value = Int((UP - LOWER + 1) * Rnd + LOWER)
  22.    R.Offset(0, 2).Value = Int((R.Value - LOWER) * Rnd + LOWER)
  23.    Range("B3:B22") = "-"
  24.    Range("B1") = "以內減法"
  25.    Range("F3").Select
  26.    ActiveCell.FormulaR1C1 = _
  27.         "=IF(RC[-1]<>"""",IF((RC[-5]-RC[-3])=RC[-1],""√"",""×""),"""")"
  28.         Selection.AutoFill Destination:=Range("F3:F22"), Type:=xlFillDefault
  29. Next
  30. [E3:E22] = ""
  31. End Sub

  32. Sub 乘法出題()
  33. UP = Range("A1"): LOWER = 0
  34. Sheets("加").Select
  35. For Each R In [A3:A22]
  36.    R.Value = Int((UP - LOWER + 1) * Rnd + LOWER)
  37.    R.Offset(0, 2).Value = Int((UP - R.Value - LOWER + 1) * Rnd + LOWER)
  38.    Range("B3:B22") = "x"
  39.    Range("B1") = "以內乘法"
  40.    Range("F3").Select
  41.    ActiveCell.FormulaR1C1 = _
  42.         "=IF(RC[-1]<>"""",IF((RC[-5]*RC[-3])=RC[-1],""√"",""×""),"""")"
  43.         Selection.AutoFill Destination:=Range("F3:F22"), Type:=xlFillDefault
  44.    
  45. Next
  46. [E3:E22] = ""
  47. End Sub
複製代碼
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 13# softsadwind

試試看
    加法練習.rar (18.7 KB)
學海無涯_不恥下問

TOP

回復 14# Hsieh

        昨天有下載謝老大的範本                       
        不過似乎有點問題                       
        嗯...後來想一想應該是我的構想有問題                       
        還是回歸到另外一種作法                       
                               
        a= "A1"                       
                               
        1 至 A1 取亂數, 代號 ar  位置 C3:C22                       
                               
        a / ar .....取整數, 代號 m                       
                                
        1 ~ m  取亂數 代號  mr  …..位置A3:A22                       
                               
        舉例來說                       
        A1 輸入 100, a = 100                       
        1 到 a 之間取亂數 ( 也就是1到100取亂數)                       
        假設取到數值 99  , 因此  ar = 99                       
        a / ar = 100 / 99 = 1.xxxxx  取整數 m = 1                       
        1 到  m  之間取亂數,(也就是 1 到 1 取亂數)                        
        得到 數值 1,因此 mr = 1                       
        根據這些數值帶出                       
                               
        mr * ar        /        ar        =
        1 * 99        /        99        =
題目:        99        /        99        =
                               
        在另外一個例子                       
        A1 輸入 99, a = 99                       
        1 到 a 之間取亂數 ( 也就是1到100取亂數)                       
        假設取到數值 2  , 因此  ar = 2                       
        a / ar = 99 / 2 = 49.5  取整數 m = 49                       
        1 到  m  之間取亂數,(也就是 1 到 49 取亂數)                        
        得到 數值 49,因此 mr = 49                       
        根據這些數值帶出                       
                               
        mr * ar        /        ar        =
        49 * 2        /        2        =
題目:        98        /        2        =

   再次麻煩囉~~~~
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 14# Hsieh


    剛剛又在看了一次,原來是我沒看清楚...
   稍微更改了一些設定....
   讓1 會出現, 讓最大值可以相除....
  1. Sub 出題()
  2. Dim k$, sp As Shape
  3. k = Application.Caller
  4. Set sp = ActiveSheet.Shapes(k)
  5. n = sp.TextFrame.Characters(1, 1).Text
  6. x = [A1]
  7. For i = 3 To 22
  8. Select Case n

  9. Case "加"
  10. Cells(1, 2) = "以內加法"
  11. p = "+"
  12. a = "+"
  13. s = Array(Int((x - 1 + 1) * Rnd + 1), p, Int((x - 1 + 1) * Rnd + 1), "=", "")

  14. Case "減"
  15. Cells(1, 2) = "以內減法"
  16. p = "-"
  17. a = "-"
  18. s = Array(Int((x - 1 + 1) * Rnd + 1), p, Int((x - 1 + 1) * Rnd + 1), "=", "")

  19. Case "乘"
  20. Cells(1, 2) = "以內乘法"
  21. p = "X"
  22. a = "*"
  23. j = Int(Sqr(x))
  24. s = Array(Int((j - 1 + 1) * Rnd + 1), p, Int((j - 1 + 1) * Rnd + 1), "=", "")

  25. Case "除"
  26. Cells(1, 2) = "以內除法"
  27. p = "÷"
  28. a = "/"
  29. y = Int((x - 1 + 1) * Rnd + 1)
  30. Z = Int((x - 1 + 1) * Rnd + 1)
  31. Do Until y Mod Z = 0 And y >= Z
  32.     y = Int((x - 1 + 1) * Rnd + 1)
  33.     Z = Int((x - 1 + 1) * Rnd + 1)
  34. Loop
  35. s = Array(y, p, Z, "=", "")
  36. End Select
  37. Cells(i, 1).Resize(, 5) = s
  38. Cells(i, 6).FormulaR1C1 = _
  39.         "=IF(RC[-1]<>"""",IF((RC[-5]" & a & "RC[-3])=RC[-1],""√"",""×""),"""")"
  40. Next
  41. End Sub
複製代碼
再次感謝 謝老大的幫忙......我想這個程式應該很夠用了....:>
加法練習.rar (18.01 KB)
50 字節以內
不支持自定義 Discuz! 代碼

TOP

Ps. 我們家小朋友 六歲而已 所以 1 很重要  要出現. ....呵呵....
50 字節以內
不支持自定義 Discuz! 代碼

TOP

1.減法會出現負數,
小朋友還沒到那個程度,
怎麼修正可以不出現負數呢?

2.每一題答完,
對或錯立刻顯示,
這樣小朋友會堅持改到對才繼續往下,
永遠是100分,
能變成全部題目做完才顯示對或錯嗎?

TOP

回復 18# dondon1495

Hsieh超版的程式稍作修改即可
加減乘除法練習.rar (18.36 KB)

TOP

回復 10# dondon1495


    這個其實會有一個問題唷~
    提出來給你參考~
    excel 只要是有數字的~ 用滑鼠一拉~ 左下方就會將兩個加在一起~
    這樣答案就跑出來囉~
學習才能提升自己

TOP

        靜思自在 : 口說好話、心想好意、身行好事。
返回列表 上一主題