今天我们用scratch来做一道算法题,求阶乘和。

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(1)

询问

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(2)

计算阶乘

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(3)

计算阶乘

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(4)

计算阶乘和

题目:求1 2! 3! … n!。

你想求什么数的阶乘和呢,告诉小企鹅吧,它会一步一步把中间数的阶乘都算出来告诉你,然后说出最终的计算结果;

角色:小企鹅;

知识点:阶乘,变量,循环,连接模块;

一、准备工作

1、普及新概念:阶乘

阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。例如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。任何大于1的自然数n阶乘表示方法: n!=1×2×3×……×n 或 n!=n×(n-1)!

2、角色:角色库中选择“动物”类的小企鹅;

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(5)

角色库

选择需要的造型,注意:小企鹅的其它造型也可以不删除;

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(6)

造型

3、变量:新建三个变量,分别命名为“n”、“阶乘”、“阶乘和”,其中变量“n”用来存储要求阶乘和的数,变量“阶乘”用来存储中间数的阶乘,变量“阶乘和”用来存储最终的计算结果;

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(7)

变量n

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(8)

变量阶乘

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(9)

变量阶乘和

二、编辑脚本

1、变量初始化:变量“n”和“阶乘”初始状态赋值1,变量“阶乘和”初始状态赋值0;

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(10)

变量初始化

2、输入要求阶乘和的数n:使用“侦测”代码的“询问”模块实现与用户的交互,输入需要求阶乘和的数n;

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(11)

侦测询问

3、计算中间数的阶乘,循环n次,并让小企鹅说出中间数的阶乘;

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(12)

计算

4、循环变量n每次增加1,给变量“阶乘和”循环赋值;

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(13)

循环赋值

5、最终结果:循环结束后,使用三个运算代码的“连接”模块,连接表达式和计算结果变量“阶乘和”;

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(14)

三个连接模块

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(15)

说出结果

三、完整脚本

scratch3.0趣味编程100例教程(Scratch3.0编程小课堂29算法题)(16)

完整脚本

想一想,为什么初始状态要给变量“n”、“阶乘”和“阶乘和”分别赋不一样的初始值呢?换一换可以吗?试一试吧。

,