Scratch与数学的整合45
第45课 不定方程的解法举例
一、课程导入
用Scratch解普通的方程相信现在已经难不到大家了,那么从现在开始我们就要对此进行更深入一步的学习。例如x+y=1,有多少组正整数解?像这样的未知数个数多于方程的个数的方程就是不定方程。
二、知识储备
解不定方程的步骤如下:对原方程的未知数进行变形→待定系数→整理方程的解。
三、例题解析
求4x+5y=20的非负数解。
分析:如果一个一个直接去试的话会比较麻烦,∴我们不妨对原方程变一下形。对哪个未知数变形更容易呢?如果用含x的式子表示y,那么待定的结果必须是4的倍数;反之用含y的式子表示x,则待定的结果必须是5的倍数。5的倍数特征比4的倍数特征更直观形象。那我们就选择后者,即y=(20-4x)/5。接下来我们待定系数。所谓待定系数,在这里就是先确定x的值,然后根据情况得到对应的y的值(所有可能见下表)。最后根据表格信息整理方程的解:
y 0 1 2 3 4
x 5 3.75 2.5 1.25 0
x=5,y=0;x=3.75,y=1;x=2.5,y=2;x=1.25,y=3,x=0,y=4(注:该题得到的解只是一个粗略的答案)。
四、流程图

首先程序开始。第一把:清空不定方程的非负数解。第二步:询问并回答a,b,c。第三步:将y的变量值设为0。第四步:将x变形为(c-by)/a。第五步:将x=x,y=y加入不定方程的非负数解待定x,y的系数。第六步:等待1秒并到第七步开始重复执行a次,将y增加1同时通过套入(c-by)/a求得x的变量值进而待定出x,y的系数。第八步:通过将x=x,y=y加入不定方程的非负数解整理出原方程的解。第九步:判断x是否包含小数点。第十步:删除不定方程的非负数解的第a+1项。
五、列表与变量
列表名:不定方程的非负数解
变量名:a,b,c,x,y
六、代码示例
当绿旗被点击
删除不定方程的非负数解的全部项目
询问“请输入a”
将a设为回答
询问“请输入b”
将b设为回答
询问“请输入c”
将c设为回答
将y设为0
将x设为(c-by)/a
将连接连接连接x=和x和,y=和y加入不定方程的非负数解
等待1秒
重复执行a次
将y增加1
将x设为(c-by)/a
将连接连接连接x=和x,y=和y加入不定方程的非负数解
如果x包含.
删除不定方程的非负数解的第a+1项
将x设为
