4001| 2
|
学编程解数学题——巧求周长 |
本帖最后由 hnyzcj 于 2018-6-20 22:11 编辑 女儿周末作业一道题目: 一张长方形的纸长24cm,宽14cm。先剪下一个最大的正方形,从余下的纸片中再剪下一个最大的正方形,最后余下的长方形周长是多少? 一、分析问题: 这是一道求边长的题目,长方形的边长公式为C=2*(a+b)其中C代表边长,a代表长,b代表宽。对于此题,小朋友只要在草稿纸上认真画一画,就能够得到结果。他的解题过程是这样的。 第一次剪裁最大的正方形,(补充知识:正方形四条边相等)首先比较a,b长和宽值的大小,很容易得出按较短的边进行剪裁。如下图所示 第二次剪裁最大的正方形,此时长方形的长为14cm(上一次的b),宽为24-14(上一次的a-b),比较两值大小得出按较短的边进行剪裁。如下图所示。得到的长方形长为10(a-b)宽为4(14-(a-b)) 计算所剩下长方形的周长为:C=2*(10+4)=28
二、设计算法: 通过上述分析我们可以解法: 设定变量c,a,b c=0 周长 a=24 长 b=14 宽 temp=0 中间变量 判断条件 a>b ?(保证长大于宽) 满足条件执行: temp=a-b a=b b=temp 输出:c=2*(a+b) 否则 输出提示“please make a>b” 三、编写程序 运行结果 如果此时就这样结束了,你会觉得少了点什么。嗯嗯,是的…… 少了什么呢?思考什么几分钟小朋友们!
实际上在上题中,上述算法没有什么问题,但是如果在我们的长和宽比大于1的话?(例如我们将长改为42,宽20,剪裁4次)上述算法就是不对的了。 修改算法: 设定变量c,a,b c=0 周长 a=24 长 b=14 宽 temp=0 中间变量 判断条件 a>b ?(保证长大于宽) 满足条件执行: temp=a-b 判断条件 temp>b? 满足条件执行: temp=a-b a=temp 输出:c=2*(a+b) 否则 a=b b=temp 输出:c=2*(a+b) 否则 输出提示“please make a>b” 编写程序: 运行结果 好了,今天的题目大家感觉如何呢?带着小朋友自己来试试吧。
|
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed