“有些事情是人类永远也无法改变的”–米开朗基罗
比如圆周率……(–Baoba)
小保尔:这一次的开始我就想要你知道四个人的名字哦,他们是:
· 达芬奇(Leonardo)
· 拉斐尔 (Raphael)
· 多朗太罗[1](Donatello)
· 米开朗基罗 (Michaelangelo)
他们是意大利文艺复兴时期的四位杰出人物(艺术家)吗?
答案是:
是……(Baoba)No,
不是……(Baoba)No
正确答案应该是:“Not Given”(条件不足!)
—-因为条件不足,答案就不确定、不唯一。(记住这句话了吗?)
以上题目的答案应该是:它们(还)是四只宠物乌龟的名字哦。“Teenage Mutant Ninja Turtles”直译为“少年变异忍者龟”,因为它们四个原本为宠物龟(不要虐待宠物哦!),后被遗弃便被冲到下水道,并受到核电厂辐射的影响而产生异变成为人形。这四只“忍者神龟”的命名分别为“李昂纳多.达芬奇”(LEONARDO)、“拉菲尔(RAPHAEL)”、“多納太罗(DONATELLO)”和“米开朗基罗(MICHELANGELO)”,都是文艺复兴时期的著名艺术家的名字哦。呵呵,这才是Baoba要的标准答案哦。
小保尔,如果你有兴趣就到互联网(InterNet)上去下载电影《忍者神龟》来看看吧。告诉你哦,小保尔,因特网(InterNet)上不但可以找到好看的电影和好听的歌曲,还可以用来学习非常有用的知识,上一次为了给你制作柯西(Koch又译柯克)雪花,我在InterNet上用搜索引擎(Google.com)查Basic资料的时候发现了一个另我欣喜的事,我的一位好朋友—“小海龟”(Mr.Turtle)回来了。
小海龟是我们学生时代使用的计算机语言Logo的呢称呢。它现在有了新名字,叫Small Basic的Turtle(中译:海龟/乌龟)
你看,“小海龟”在绘制柯西雪花呢。
图片url: http://dongren.cn/NextProgramers/smallbasic/smallbasic_256koch.gif
就象你知道的,我们所生活的人类社会,在不同的国家和地区人们使用各种各样的语言或方言,比如在中国(北京等地区)大家通常说汉语(普通话),而在北美(美国和加拿大)等地区大家通常说英语;我们通常不能笼统地说哪种语言好,哪种语言不好。
我们今天要介绍的新朋友就是微软公司为小朋友(主要是中、小学生)制作的编程序语言:Small Basic (中译:小Basic 或 儿童Basic)。官方公布的软件和资料在这里:http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx
“Computer Programming is defined as the process of creating computer software using programming languages. Just like we speak and understand English or Spanish or French, computers can understand programs written in certain languages. These are called programming languages. In the beginning there were just a few programming languages and they were really easy to learn and comprehend. But as computers and software became more and more sophisticated, programming languages evolved fast, gathering more complex concepts along the way. As a result most modern programming languages and their concepts are pretty challenging to grasp by a beginner. This fact has started discouraging people from learning or attempting computer programming.”
因为网上的资料都是英文的,鉴于你的英文基础所以我再多介绍几句。
……随着计算机硬件和软件种类的日益庞杂(复杂多样),程序语言的发展也呈现加速状态,随之带来的就是概念越来越复杂。结果就导致对初学者越难以驾驭和掌握。……
小Basic的出现就是为了推翻横亘在初学者(包括小朋友)和(高级的)计算机编程语言之间的樊篱(bring down the barrier)……还为了(学习者和工程师们)能重拾编程的快乐,小Basic(SmallBasic)项目就是致力于计算机学习和应用的简单(Small、Simple)、趣味(Funny)和激情(Active)的回归。
小保尔,我们今天认识了忍者神龟和我的朋友Mr.Turtle(海龟先生);在下面的编程例题中我们还得认识一位中国古代的科学家,祖充之。因为我们上次画柯西雪花的时候用到的π(读做Pai四声)的近似值355/113(“密率”),是祖充之(公元429年─公元500年)老师发现的。
并且祖冲之在他的儿子祖暅的协助下利用“割圆”的方法算出π的值在3.1415926 到 3.1415927之间。这个π的记忆方法请见新语丝网的另一篇博客《圆周率》:http://xysblogs.org/drkevin/archives/4056,“山巅一寺一壶酒,尔乐,苦煞吾,把酒吃,酒杀尔,杀不死,乐尔乐……”你只要记住前几位就已经足够了。如果你实在记不住这么一大串数字,那也没什么关系,因为我们还可以查资料,或者干脆让计算机帮我们“计算”出来吧。
下面一段程序的例子就是让我们在“小海龟”的帮助下,还原和重复 祖充之父子的“割圆”法计算圆周率π的方法:
你看:小海龟在不知道疲倦地“割圆”不止呢……
算法思路:
如果设圆的半径为1;
显然的:图中A(红线)既对角线长度为 squareroot(2) (既2的算术平方根)
则有 a(小写-蓝色线重合的部分)长度为:
a=squareroot(2)-1 ‘注: squareroot是求平方根的函数, a=2的平方根 -1
又因为:b*b+b*b=a*a ‘这里根据勾股定理–“几何既勾股”这个我们有单独讲过哦……
所以:b=squareroot(a*a/2)
–这又是一个迭代调用的算法哦,下略。
小海龟割圆后给出的答案如下:
PI在内接正四边形(正方形)的时候,粗略等于2.8284271247462
PI在内接正八边形的时候粗略等于:3.06147458920712
……
当用内接正262割圆时,PI的值约等于3.1415 9265 3589 7932 3846 2643 3832 7950 288
“割圆法”算π值人类从祖冲之所在的公元5世纪到1630年,才得出(小数点后)39位数字(因为那时候没有计算机的帮助哦)。值得一提的是德国数学家德耳夫全力以赴的计算π值,几乎用了他毕生的精力,据说德耳夫在1610年的一天夜里,终于用圆的内接正262边形求得π的小数点后35位数字,并且写到了草稿纸上。人们在第二天早晨的时候发现德耳夫已经去世了,并且发现了这个π的近似值(他毕生的成果……)。于是大家决定,为数学家德耳夫树立了一块巨大的墓碑,上面写上了德耳夫计算的这个π的近似值:
Π = 3.1415 9265 3589 7932 3846 2643 3832 7950 288
小保尔,现在你知道科学是一件严肃的事情,有些人(比如数学家)会用毕生的精力去探询她的足迹、揭示她的奥秘。
学习(科学)同时也会伴随着不少快乐的事哦,比如:小Basic就是为了让小朋友们学得快乐,让程序员们重拾编程的乐趣才组织开发的项目哦,如果有兴趣,大家就多到支持论坛去查询、了解或学习它的用法吧:http://community.winsupersite.com/blogs/paul/archive/2008/11/18/microsoft-small-basic.aspx
比起汽车、火车和飞机,小Basic简单得象拉菲尔(神龟之一)和小孩子们喜欢的滑板……简单、趣味,学习起来好上手;成人、孩子、业余程序员和专业工程师都会喜欢上它。
小保尔:神龟拉菲尔擅长玩滑板,米开朗基罗精于使用双截棍,……小保尔,你有什么兴趣和爱好,要注意至少要培养一两个哦。
小保尔,Mr.Turtle(海龟)先生真的很神奇、很有趣(funny)吧?它不但能帮助你获得以前科学家花费毕生精力才揭示的数学和科学奥秘,而且还能和你一起玩哦。
最后附送一个小游戏:“接球游戏”给你玩,边学边玩,希望你学得起劲儿、玩的愉快。游戏源码放在网上,拷贝下来不但可以玩,还可以修改哦。
接球游戏:(Baoba改进版—-这个比Small Basic 手册上的有些改进)
http://smallbasic.com/program/?FHT926
用“割圆法”求π值的程序也放在这里:
http://smallbasic.com/program/?TJB740