题目描述:
一次知识竞赛共有25题,评分标准如下:答对一题得8分,答错 题倒扣5分,不答题不得分也不扣分。小明得分是60分,问小明答对、答错不答名有多少题?

scratch枚举法解题分析:
(1)求什么就设什么,设答对x题,答错y题,则不答为25-x-y题,根据题意,可得到如下方程:8x+ (-5y) +0*(25-x-y) =60,化简为:
8x-5y =60;
以上过程将一个实际问题转为了一个数学问题,这往往是我们scratch编程解决问题的第一步。
(2)根据题意,简单地分析,可以直到x的可能值最小是0,最大是25,有26种可能,可以用以下代码表示:

(3)根据题意,简单地分析,可以直到y的可能值最小是0,最大是25,有26种可能,可以用以下代码表示:

(4)将两者进程嵌套,得到了26*26=676 种数据组合的可能, 代码如下:
(5)需要满足的条件,如下,将其判断放入内循环中;

(6)最后输出结果:答对多少题、答错多少题、不答多少题;

(7)循环检验次数(用变量i表示)是多少次?创立一个计数变量i,初始值=0,编程如下:
答案是: n=10, m=4,纸上手动验证,结果吻合方程。
我们来推理一下,经过多少次判断才找到了正确答案?
x=0的时候,y的值是从0-25逐一变化,就是有26次;
x=1的时候,y的值是从0-25逐一变化,就是有26次;
x=2的时候,y的值是从0-25逐-变化,就是有26次;
x=3的时候,y的值是从0-25逐一变化, 就是有26次;
………….
x=9的时候,y的值是从0-25逐一变化,就是有26次;
以上合计26X10=260次。
x=10的时候,y的值是从0-4逐一变化, 就是有5次;
合计260+5=265次。你也可以编程来验证一下是否是265次。完整代码如下:

scratch算法相关典型知识点如下:
最后更新时间:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。