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