Scratch是一款很有趣的少儿编程入门软件,很多家长对这方面不了解,其实Scratch中也有不少数学相关的知识,让孩子学习Scratch编程,并非只是为了写程序,还能提高孩子对于数学、英语这些学校基础学科的兴趣。今天南京小码王Scratch培训班老师再来给大家举个例子,用Scratch判定数学中的质数,看看你会不会。
给你一个大于1的自然数,请判断它是合数还是质数!比如,99991是质数还是合数?
我们知道,质数就是只有1和它自身两个因数的数。因此,要判断一个大于1的自然数n是不是质数,简单的办法就是看n能不能被2~n-1中的某个数整除。只要有一个数能被n整除,n就是合数;如果都不能被n整除,n就是质数。比如97,我们就看它能不能被2~96中的某一个数整除。
这个方法说起来很简单,但是如果给出的数较大,实际算起来就没那么简单!比如,99991。再比如,1234567891。通过人工计算来判断出它们是质数还是合数,那真不是一件容易的事。
能不能编一个程序让计算机来帮助我们计算呢?当然可以!根据上述算法就可以画出程序流程图。
有了流程图,编写代码就很简单了。流程图就是编程的施工图。学习编程,画流程图是基本功。一定要养成无流程图不写代码的好习惯!流程图本身就是编程思路的体现,通过画流程图也可以进一步整理我们的思路。
程序写好后,还要调试,看看功能是否正常。通过调试,我们会发现对于不太大的数,这个程序很快就能给出结果,简直是秒杀!但如果你输入1234567891,程序运行很久才会出结果。这种状况,其实也是不能接受的。正如你玩一个游戏,它老是卡顿,你还会玩吗?一个好的程序,只考虑功能的正确性是不够的,还要考虑它的运行速度,它占用计算机内存的情况。当然,这是对高级程序员的要求。我们在学习编程的时候,更多地还是考虑功能的正确性。
运行速度过慢,怎么办?重新设计呀!太慢,严格来讲就是不符合设计要求。你必须重新考虑程序的架构和实现算法。
要判定一个数n是不是质数其实不需要一直试到n-1,到n的算术平方根(要取整,绝大多数程序设计语言都有取整运算符或者功能块)就可以了!其流程图与之前的算法基本相同,不再赘述。直接上程序代码。
运行程序,按照提示输入1234567891。程序很快就给出结果了。由此可见,在编程中,算法是很重要的。随着学习的深入和编制的程序越来越复杂,我们就能更深地体会到:算法是程序的灵魂。
自己动手试试看就会发现,编程其实也没有想象的那么难。Scratch虽然是专为青少儿设计的编程软件,但功能同样很强大,有了Scratch基础,以后再学习其他高级程序设计语言,也会轻松不少。南京小码王开设了专门的Scratch培训班,这里有更多有趣的Scratch教程,还有专业老师手把手指导带领孩子们入门,欢迎大家前来试听体验课程。圣诞节将至,小码王还有更多有趣的活动等你来!