趣味Scratch程序:白雪公主和欧拉数

上篇 我们提到,聪明的瑞士数学家莱昂哈德·欧拉在年仅 20 岁时就解决了巴塞尔问题,从而一举成名。从那以后,欧拉成为了数学界的天王巨星,对 18 世纪数学发展起到了重要的引领作用。

欧拉一生著作颇丰,以欧拉名字命名的公式就有几十条之多。今天这集故事,我们就介绍一个在数学中很重要的数字 —— e,也称欧拉数,或自然对数的底

还是为了让低年龄的小朋友看到乐子,我们又编造了一个风马牛不相及的故事。

说白雪公主和王子完婚后,想感谢曾经收留她的七个小矮人。她从柏林买了七瓶神奇增高药水,每瓶 100 毫升(mL),快递到了小矮人居住的德国中部森林中。

Princess Snow White and 7 drawfs

增高药水的用法是这样的:每天晚上入睡前服用几毫升,第二天醒来身高就会增长百分之几。这里有一个公式:

每晚身高增长的长度 = 入睡前的身高 × 当晚服药的毫升数 ÷ 100

例如,假设入睡前身高是 80 厘米,睡前服用 10 毫升,第二天身高就会增长 10%,80 × 10 ÷ 100 = 8,也就是长高 8 厘米,第二天身高变成 88 厘米;

假设入睡前身高是 90 厘米,睡前服用 20 毫升,第二天身高就会增长 20%,90 × 20 ÷ 100 = 18,也就是长高 18 厘米,第二天身高变成 108 厘米;

假设入睡前身高是 70 厘米,睡前一口气喝掉整瓶 100 毫升,第二天身高就会增长 100%,也就是长高 70 厘米,第二天身高变成 140 厘米。

小矮人可以选择一个晚上喝掉整瓶药水,也可以选择分成几天,每晚只喝一点儿。那么问题来了,小矮人要不要分成几天喝,以便让最终身高长得更高?

一天喝完,还是分几天喝完,最终结果不一样吗?如果你不亲手算一算,恐怕还不相信呢!白雪公主找到了正在柏林科学院访问的欧拉,向他请教这个问题。

下面我们就用一个 Scratch 程序计算一下几种方案的差别。

小矮人 1:1 天喝完 100 毫升;
小矮人 2:分 2 天喝完,每晚 50 毫升;
小矮人 3:分 4 天喝完,每晚 25 毫升;
小矮人 4:分 5 天喝完,每晚 20 毫升;
小矮人 5:分 10 天喝完,每晚 10 毫升;
小矮人 6:分 20 天喝完,每晚 5 毫升;
小矮人 7:分 100 天喝完,每晚 1 毫升。

代码量:24块积木

素材

Princess Snow White, Euler and 7 drawfs

点击 这里 下载白雪公主和小矮人的 .sprite3 文件。

小矮人在场景中只需上传 1 个,其他 6 个我们在代码中通过克隆的办法产生。

欧拉仍然选用 Scratch 内置角色 Witch(此角色无代码)。

舞台背景: Scratch 内置背景 Castle 3。

变量:建立一个变量 i,代表每晚服用的毫升数,放到画面右上角。

代码

Scratch Game Princess Snow White - Code

解释

点击绿旗子,复制出 6 个小矮人克隆体。

点击某个小矮人,会询问分几天喝完药水。

然后,将变量 i 设为 100 除以天数(回答)。比如分 5 天喝,每天服用的量 i 就是 100 ÷ 5 =20 毫升。

计算的部分,重复执行回答的天数次,每次执行将大小增加(大小 × i ÷100)

小矮人的初始大小都是100,看看执行后大小最终是几。

运行

Scratch Game Princess Snow White

结果

通过运行这段程序,我们可以发现,天数分得越多,小矮人最终的身高越高,但是似乎有个极限。如果天数键入 1000,耐心等待程序运行完,小矮人最终的身高将达到 272;尝试更多的天数,最终身高也不会再高了。这个最终极限身高(约 272)和初始身高(100)的比值,也就是欧拉数,约为 2.72。

在数学中,它也被称为自然对数的底 e,精确数值等于 2.71828… 它是一个无限不循环的小数。

在自然界、工程、金融等领域,经常有某些变量按固定比率连续增长的情况,和我们编造的“小矮人喝增高药水”的故事类似。在这类情况中,e 经常会作为重要的常数出现,人们为了纪念欧拉对数学的贡献,把 e 命名为欧拉数。

发表评论

电子邮件地址不会被公开。