今天我們用scratch來做一道算法題,求階乘和。
題目:求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、角色:角色庫中選擇「動物」類的小企鵝;
角色庫
選擇需要的造型,注意:小企鵝的其它造型也可以不刪除;
造型
3、變量:新建三個變量,分別命名為「n」、「階乘」、「階乘和」,其中變量「n」用來存儲要求階乘和的數,變量「階乘」用來存儲中間數的階乘,變量「階乘和」用來存儲最終的計算結果;
n
階乘
階乘和
二、編輯腳本
1、變量初始化:變量「n」和「階乘」初始狀態賦值1,變量「階乘和」初始狀態賦值0;
2、輸入要求階乘和的數n:使用「偵測」代碼的「詢問」模塊實現與用戶的交互,輸入需要求階乘和的數n;
偵測
3、計算中間數的階乘,循環n次,並讓小企鵝說出中間數的階乘;
4、循環變量n每次增加1,給變量「階乘和」循環賦值;
5、最終結果:循環結束後,使用三個運算代碼的「連接」模塊,連接表達式和計算結果變量「階乘和」;
三個連接模塊
說出結果
三、完整腳本
腳本
想一想,為什麼初始狀態要給變量「n」、「階乘」和「階乘和」分別賦不一樣的初始值呢?換一換可以嗎?試一試吧。