How to think:画个正方形

How to think:画个正方形_第1张图片

如何画一个正方形?

简单,拿起铅笔和尺子,画成直角的四条等长相交直线就可以了,谁不会呢?

可是,我说的是用Scratch画啊?!所以,开启程序员模式的第一步,就是要明确机器是死的,笨的,他只会简单的动作,除非,你替它规划好了,否则,靠它自己,问题是不能得到解决的!所以,第二步就是看看你的笨机器都会点什么,让后,你用这些东西让它发挥更大的作用,完成预定工作!如果,没有这种能力,发明了轮子有什么用呢?电有能干什么呢?就是给你最快最强大的计算机,你又能干得了什么?!

于是,你去找Scratch的画图命令,发现只有画笔抬起放下、设置宽度和颜色的命令,根本就没有划线的命令,但是你知道有移动命令,所以,你不免想:也许,放下画笔,移动角色,就会画出东西来,抬起画笔,就不会有东西画下来了!

是这样吗?不要问,直接验证一下即可!

现在,我们要画一个正方向,如何画呢?

按部就班的用划线、旋转、划线、旋转、划线、旋转、划线的方式完成,是最直接的!作为第一次尝试让电脑听你指挥,你当然可以试一试!

但是,这种顺序罗列所有做事步骤的“程序”还是太笨了点,因为,这件事也可以看做一个操作划线并旋转的操作循环四次就可以了!按照这个思路,程序该如何写呢?

先不要管具体的指令是什么,先在纸上画出来吧,这就是程序框图的用途:

How to think:画个正方形_第2张图片

《应谐录》by刘元卿 有记:汝有田舍翁,家资殷盛,而累世不识之乎.一岁,聘楚士训其子.楚士始训之搦管临朱,书一画,训曰"一"字;书二画,训曰"二"字;书三画,训曰"三"字.其子辄欣欣然,掷笔归告其父曰:"儿得矣,儿得矣;可无烦先生矣,重费馆谷也,请谢去."其父喜,从之,具币谢遣楚士.逾时,其父拟征召姻友万氏姓者饮,令子晨起治状,久之不成.父趣之.其子恚曰:"天下姓字伙矣.奈何姓万 自晨起至今,才完五百画也."

如此,用这个方式,你画出别的正N边形也没什么问题了吧!这就是通用算法!

记得我刚刚开始学习计算机编程的时候,刚刚学了输出语句(就是打印一个字符或一段话出来在屏幕上),习题往往是让你做一个用*或者别的什么字符画方形或者菱形,那时候根本就没学过任何“画图命令”,简直不知道如何下爪。根本就没意识到题目其实是让你“模拟”出一个那样的图案,而不是让你画出来!

你可能感兴趣的:(How to think:画个正方形)