内容正文:
第二单元 算法的效率
“韩信点兵”筛选法的实现
第十一课
浙教版·六年级
学习目标
01
课堂导入
02
抽象与建模
03
算法设计
04
算法的程序实现
05
课堂任务
06
目录
CONTENTS
建构
2
PART 1
学习目标
1.通过使用筛选法解决“韩信点兵”问题,掌握筛选法解决问题的一般过程。
2.通过算法设计、程序验证,掌握筛选法的程序实现,提升解决问题的能力,提高核心素养。
学习目标
PART 2
课堂导入
课堂导入
上节课我们学习了用枚举法“韩信点兵”的问题,有没有其他方法来解决这个问题呢?这节课我们学习用筛选法来解决“韩信点兵”的问题。
除数 余数 被除数可能的值
3 2 5、8、11、14、17、20、23、26……
5 3
7 2
8、23……
填写下表,是怎么找出满足这些条件的最小自然数的?
23……
我们发现,从上到下,范围不断缩小的筛选过程
新知探究
我们在找满足所有条件的最小自然数时候,先找满足除以3余2的,然后在这个基础上找寻除以5余3的,最后又在这个基础上再找寻满足除以7余2的过程。找到满足条件的过程我们经过了三次筛选,这就是我们今天要学习的筛选法。
问题描述
筛选的过程就是不断过滤的过程,经过三次过滤我们找到了答案。
PART 3
抽象与建模
新知探究
抽象与建模
剩下的士兵总数,用变量x来表示。根据“死伤四五百人”可知,变量x的范围为1000~1100,且要同时满足“x除以3余数为2、x除以5余数为3、x除以7余数为2”这三个条件。现在我们按条件逐步筛选。
1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100
筛选范围:
第一次筛选:x除以3余数为2
新知探究
抽象与建模
1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100
第二次筛选:x除以5余数为3
新知探究
抽象与建模
1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100
第三次筛选:x除以7余数为2
新知探究
抽象与建模
1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100
PART 4
算法设计
新知探究
算法设计
“韩信点兵”问题筛选法算法设计
第一步:赋值a的取值范围是1000~1100
第二步:在a中删除不属于“x除以3余数为2”的数
第三步:在a中删除不属于“x除以5余数为3”的数
第四步:在a中删除不属于“x除以7余数为2”的数
第五步:找出a中剩下的数
开始
a的取值范围1000~1100
a中满足“x除以3余数为2”的数
a中满足“x除以5余数为3”的数
a中满足“x除以7余数为2”的数
输出a中剩余的数
结束
PART 5
算法的程序实现
算法的程序实现
新知探究
“韩信点兵”问题程序实现
在Python中,代码“print(x,end="")”中的end=""表示print()输出后不换行而输出空格。
PART 6
课堂任务
课堂任务
这节课我们学习了:使用筛选法解决“韩信点兵”问题,并学习了筛选法的程序实现。
请同学们根据这节课学习的知识,编程实现:在1000~1100范围内将满足“x除以7余数为2”条件的数显示出来。
谢谢
下节课见!
Thanks!
浙教版·六年级
$