Scratch是由MIT媒體實(shí)驗(yàn)室為青少年開(kāi)發(fā)的圖形化編程工具,用于創(chuàng)作交互式故事、動(dòng)畫(huà)、游戲和其他程序,憑借其良好的界面交互設(shè)計(jì),幾乎所有年齡的人都能使用Scratch。作為一種新型的程序設(shè)計(jì)語(yǔ)言,Scratch具有高級(jí)編程語(yǔ)言的許多特性,如對(duì)象、事件、線(xiàn)程、同步、子程序、函數(shù)、數(shù)組、關(guān)系運(yùn)算和邏輯運(yùn)算等。Scratch采用高度模塊化封裝設(shè)計(jì),屏蔽了各種低級(jí)的編譯錯(cuò)誤,使人得以專(zhuān)注于編程邏輯本身,在中小學(xué)計(jì)算機(jī)編程教育領(lǐng)域越來(lái)越受歡迎,甚至在一些大學(xué),也開(kāi)設(shè)Scratch課程作為編程教育的入門(mén)課程。
本書(shū)精心挑選和設(shè)計(jì)的100個(gè)妙趣橫生的編程案例,涵蓋了數(shù)字黑洞、分形圖、曲線(xiàn)方程、圓周率、趣味自然數(shù)、古算趣題、邏輯推理、數(shù)學(xué)游戲、玩撲克學(xué)算法等方面的內(nèi)容,為廣大中小學(xué)生提供了一本編程進(jìn)階的參考教材。
我國(guó)的詩(shī)詞文化源遠(yuǎn)流長(zhǎng),古代數(shù)學(xué)家文理兼修,為考生出的“應(yīng)用題”也是那么富有詩(shī)意。比如,這道“詩(shī)”題——
遠(yuǎn)望巍巍塔七層,紅燈點(diǎn)點(diǎn)倍加增;
共燈三百八十一,請(qǐng)問(wèn)尖頭幾盞燈?
像這樣的古算詩(shī)題,直到今天讀起來(lái)依然朗朗上口,理解起來(lái)又淺顯易懂。本書(shū)也收集了一些妙趣橫生的古算詩(shī)題,與讀者一起分享和感受這份數(shù)學(xué)的詩(shī)意。
在浩瀚的宇宙中有能吞噬一切的神秘黑洞,連光也無(wú)法逃脫。而在數(shù)學(xué)上也有類(lèi)似奇特的現(xiàn)象,人們稱(chēng)之為“數(shù)字黑洞”,它們會(huì)按照自身的規(guī)則“吞噬”掉一切數(shù)字。本書(shū)將帶讀者領(lǐng)略這些妙趣橫生的數(shù)字黑洞,比如西西弗斯黑洞,它會(huì)將一切數(shù)字轉(zhuǎn)換為123,并無(wú)限重復(fù)下去;而被稱(chēng)為“冰雹猜想”的數(shù)字黑洞,它會(huì)把任意自然數(shù)最終變換為1,而且它的變換過(guò)程有時(shí)簡(jiǎn)直“驚心動(dòng)魄”。
宇宙間萬(wàn)物極其復(fù)雜,而其構(gòu)成卻是簡(jiǎn)單的細(xì)胞、原子、分子等極其微小的事物。在數(shù)學(xué)中,一條線(xiàn)段、一個(gè)三角形、一個(gè)四邊形或是一個(gè)六邊形等看似簡(jiǎn)單無(wú)比的幾何圖形,按一定規(guī)則重復(fù)之后,卻能產(chǎn)生令人稱(chēng)奇的復(fù)雜圖案。本書(shū)將帶領(lǐng)讀者創(chuàng)造出美麗的雪花、勾股樹(shù)、二叉樹(shù)以及謝爾賓斯基三角形等神奇的分形圖。
算法是程序的靈魂,但學(xué)起來(lái)卻不容易。我們都知道學(xué)習(xí)編程最重要的是動(dòng)手實(shí)踐,但是在學(xué)習(xí)算法原理時(shí),明明感覺(jué)自己懂了,而當(dāng)編程實(shí)現(xiàn)時(shí)卻又無(wú)從下手或是不得要領(lǐng)。本書(shū)將帶領(lǐng)讀者不用編程就能學(xué)習(xí)排序算法,通過(guò)撲克游戲領(lǐng)悟排序算法原理,反復(fù)練習(xí)就能掌握它們,之后再編程自然倍感簡(jiǎn)單,小學(xué)生也能輕松掌握。
此外,本書(shū)還將帶領(lǐng)讀者感受數(shù)學(xué)之美,只要一個(gè)簡(jiǎn)潔的曲線(xiàn)參數(shù)方程,就能一筆畫(huà)出妙趣橫生的曲線(xiàn)圖案,比如笛卡兒心形線(xiàn)、玫瑰曲線(xiàn)、蝴蝶曲線(xiàn)、外擺線(xiàn)等;還將帶領(lǐng)讀者觸摸“數(shù)學(xué)皇冠上的明珠”,編程驗(yàn)證被稱(chēng)為世界近代三大數(shù)學(xué)難題之一的“哥德巴赫猜想”……
一言以蔽之,本書(shū)通過(guò)100個(gè)妙趣橫生的編程案例,激發(fā)學(xué)生的求知欲望,引導(dǎo)學(xué)生向數(shù)學(xué)和算法領(lǐng)域前進(jìn)。
本書(shū)不是零起點(diǎn)教材,適合受過(guò)Scratch入門(mén)教育的中小學(xué)生和編程愛(ài)好者使用。如果讀者之前學(xué)過(guò)使用Scratch編寫(xiě)小游戲,已經(jīng)掌握了Scratch軟件的基本操作,那么本書(shū)將非常適合讀者進(jìn)一步提升編程能力。
好了,讓我們一起開(kāi)始妙趣橫生的Scratch編程之旅吧!
謝聲濤2018年1月