10以内数的组成分解图_什么是破十法?一年级数学20以内退位减法如何学习?...

一年级数学计算主要内容是20以内进位加法,和20以内退位减法。

这两部分计算内容是小学数学计算的根基,后续100以内加减法,乘除法学习都需要20以内加减法的基础。在低年级小学生的学习中,为了计算方法的熟练化,需要分段反复的巩固练习,达到一定的心算熟练程度,会大大丰富孩子们的数字事实,为后续学习打下坚实基础。

0c78d1bb4414bc3a7bf5c034035088fb.png

什么是破十法?

“破十法”是20以内退位减法计算的一种重要方法,也是一年级数学教学的重难点。

【引例】小明有15根胡萝卜,他要喂给小兔子8根,请问他还剩下多少根胡萝卜呢?

列出算式就是:15-8=?

2ef74538040b1cae17e918bcad1beaf5.png

做20以内减法时,当被减数个位小于减数,也就是说个位不够减了,这时就可以用破十法来进行计算,破十法计算步骤分解如下。

1,十几分成10和几

把15分成10和5,在式子中画出来,10放在右边,5放右边。

看大数,分出10和剩数

d88e78c1e8e31c13b24ad65d7b4d6ea0.png

2,用10减去小数,得出差

用10减去8,得到差为2,这里需要10的分成基础。

66f05456afba647877f24b7d68f5414f.png

3,差加上剩数

2+5=7,所以15-8=7。这样就算出结果了。

e4c173d1cacf279294f0defaecbd0703.png

看大数,分出十,减小数,加剩数

破十法学习一般会放在20以内进位加法-凑十法之后,两者联系是非常紧密的。

凑十法和破十法基础都是10的分成,要注意分段学习和巩固,如果数的组成基础不熟练,必然是有学习难度的。

d7d5ba97bdbd1160aaf29fe8be010ce3.png

20以内退位减法计算方法多样化

除了破十法,由于学生生活背景和思考角度不同,以及所熟悉的加减法的现实情景不同,因此刚开始学习时,所使用的方法必然是多样的。

20以内退位减法其他常见计算方法

1,数数法

16d299ec6d9b26f5817a2aa47f49d3a9.png

2,平十法

以15-7=?为例,可以把7分拆成5和2,通过连减法来计算。

15先减去5,得到十,再减去2,得到结果8。

c3a8221098f966368548932cba6a3872.png

3,做减法,想加法

比如我们要计算15-8=?,可以利用加法和减法的关系,想8和几相加得15,然后推出15减8等于7。初学退位减法,可以通过一图多式的练习,体验加法与减法的内在联系,形成对于20以内加减法的整体认知结构。

ead04c13e578e9d3732bb0a878f6d218.png

4,减法口诀

如果一开始学习加减法时就让孩子记忆一些口诀是不妥的,需要有个理解的过程。

随着心算准确率逐步提升,为了提高计算速度,可以了解下退十加补法口诀。

30044781f2b4f3d1edef5b112fb961f8.png

结束语:低年级学生具象思维为主,现实场景是学生理解加法和减法的基础,会运用计算解决问题才是目标,从数概念系统发展,到计算方法学习,可以多借助学具操作理解算理。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很好,这是一个简单的数学题目生成程序,让我们一步一步来实现它。 首先,我们需要定义一些常量来表示题目类型,例如: ```java public static final int GRADE_ONE_ADD_SUB_1 = 1; // 一年级 10以内减法:1步计算 public static final int GRADE_ONE_ADD_SUB_2 = 2; // 一年级 10以内减法:2步计算 public static final int GRADE_ONE_ADD_SUB_3 = 3; // 一年级 10-20的加减法:1步计算和2步计算 public static final int GRADE_ONE_COMBINE = 4; // 一年级 综合训练 public static final int GRADE_TWO_ADD_NO_CARRY = 5; // 二年级 100以内不进位加法 public static final int GRADE_TWO_SUB_NO_BORROW = 6; // 二年级 100以内退位减法 public static final int GRADE_TWO_ADD_CARRY = 7; // 二年级 100以内进位加法 public static final int GRADE_TWO_SUB_BORROW = 8; // 二年级 100以内退位减法 public static final int GRADE_TWO_COMBINE = 9; // 二年级 100以内连加连减 综合训练 ``` 接下来,我们需要定义一个函来生成指定类型和量的题目。我们可以使用一个 switch 语句来根据类型生成不同种类的题目,例如: ```java public static List<String> generateQuestions(int type, int count) { List<String> result = new ArrayList<>(); Random random = new Random(); switch (type) { case GRADE_ONE_ADD_SUB_1: // 一年级 10以内减法:1步计算 for (int i = 0; i < count; i++) { int a = random.nextInt(10); int b = random.nextInt(10); if (random.nextBoolean()) { // 随机生成加法或减法 result.add(a + " + " + b + " = "); } else { result.add(a + " - " + b + " = "); } } break; case GRADE_ONE_ADD_SUB_2: // 一年级 10以内减法:2步计算 for (int i = 0; i < count; i++) { int a = random.nextInt(10); int b = random.nextInt(10); int c = random.nextInt(10); result.add(a + " - " + b + " - " + c + " = "); } break; case GRADE_ONE_ADD_SUB_3: // 一年级 10-20的加减法:1步计算和2步计算 for (int i = 0; i < count; i++) { int a = random.nextInt(11) + 10; // 10-20之间的随机 int b = random.nextInt(11); int c = random.nextInt(11); int d = random.nextInt(11); if (random.nextBoolean()) { // 随机生成加法或减法 result.add(a + " + " + b + " - " + c + " = "); } else { result.add(a + " - " + b + " + " + c + " - " + d + " = "); } } break; case GRADE_ONE_COMBINE: // 一年级 综合训练 for (int i = 0; i < count; i++) { int type2 = random.nextInt(3) + 1; // 随机选择上述三种类型的一种 result.addAll(generateQuestions(type2, 1)); } break; case GRADE_TWO_ADD_NO_CARRY: // 二年级 100以内不进位加法 for (int i = 0; i < count; i++) { int a = random.nextInt(90) + 10; // 10-99之间的随机 int b = random.nextInt(10); result.add(a + " + " + b + " = "); } break; case GRADE_TWO_SUB_NO_BORROW: // 二年级 100以内退位减法 for (int i = 0; i < count; i++) { int a = random.nextInt(90) + 10; // 10-99之间的随机 int b = random.nextInt(a % 10 + 1); // 减不大于个位 result.add(a + " - " + b + " = "); } break; case GRADE_TWO_ADD_CARRY: // 二年级 100以内进位加法 for (int i = 0; i < count; i++) { int a = random.nextInt(90) + 10; // 10-99之间的随机 int b = random.nextInt(10); if (a % 10 + b >= 10) { // 需要进位 result.add(a + " + " + b + " = "); } else { result.add(a + " + " + b + " = "); } } break; case GRADE_TWO_SUB_BORROW: // 二年级 100以内退位减法 for (int i = 0; i < count; i++) { int a = random.nextInt(90) + 10; // 10-99之间的随机 int b = random.nextInt(10); if (a % 10 < b) { // 需要退位 result.add(a + " - " + b + " = "); } else { result.add(a + " - " + b + " = "); } } break; case GRADE_TWO_COMBINE: // 二年级 100以内连加连减 综合训练 for (int i = 0; i < count; i++) { int type2 = random.nextInt(4) + 5; // 随机选择上述四种类型的一种 result.addAll(generateQuestions(type2, 1)); } break; } return result; } ``` 接下来,我们需要实现一个函来记录错题和错误次。我们可以使用一个 Map 来记录每个题目的错误次,例如: ```java public static Map<String, Integer> wrongQuestions = new HashMap<>(); public static void recordWrongQuestion(String question) { if (wrongQuestions.containsKey(question)) { wrongQuestions.put(question, wrongQuestions.get(question) + 1); } else { wrongQuestions.put(question, 1); } } ``` 最后,我们需要实现一个函来读取和保存用户据。我们可以使用 Java 的序列化机制来实现,例如: ```java public static void saveUserData(String username, UserData userData) throws IOException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(username + ".dat")); oos.writeObject(userData); oos.close(); } public static UserData loadUserData(String username) throws IOException, ClassNotFoundException { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(username + ".dat")); UserData userData = (UserData) ois.readObject(); ois.close(); return userData; } ``` 完整代码如下:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值