How to think:畫個正方形

如何畫一個正方形?

簡單,拿起鉛筆和尺子,畫成直角的四條等長相交直線就可以了,誰不會呢?

可是,我說的是用Scratch畫?。浚∷?,開啟程序員模式的第一步,就是要明確機器是死的,笨的,他只會簡單的動作,除非,你替它規劃好了,否則,靠它自己,問題是不能得到解決的!所以,第二步就是看看你的笨機器都會點什么,讓后,你用這些東西讓它發揮更大的作用,完成預定工作!如果,沒有這種能力,發明了輪子有什么用呢?電有能干什么呢?就是給你最快最強大的計算機,你又能干得了什么?!

于是,你去找Scratch的畫圖命令,發現只有畫筆抬起放下、設置寬度和顏色的命令,根本就沒有劃線的命令,但是你知道有移動命令,所以,你不免想:也許,放下畫筆,移動角色,就會畫出東西來,抬起畫筆,就不會有東西畫下來了!

是這樣嗎?不要問,直接驗證一下即可!

現在,我們要畫一個正方向,如何畫呢?

按部就班的用劃線、旋轉、劃線、旋轉、劃線、旋轉、劃線的方式完成,是最直接的!作為第一次嘗試讓電腦聽你指揮,你當然可以試一試!

但是,這種順序羅列所有做事步驟的“程序”還是太笨了點,因為,這件事也可以看做一個操作劃線并旋轉的操作循環四次就可以了!按照這個思路,程序該如何寫呢?

先不要管具體的指令是什么,先在紙上畫出來吧,這就是程序框圖的用途:

《應諧錄》by劉元卿 有記:汝有田舍翁,家資殷盛,而累世不識之乎.一歲,聘楚士訓其子.楚士始訓之搦管臨朱,書一畫,訓曰"一"字;書二畫,訓曰"二"字;書三畫,訓曰"三"字.其子輒欣欣然,擲筆歸告其父曰:"兒得矣,兒得矣;可無煩先生矣,重費館谷也,請謝去."其父喜,從之,具幣謝遣楚士.逾時,其父擬征召姻友萬氏姓者飲,令子晨起治狀,久之不成.父趣之.其子恚曰:"天下姓字伙矣.奈何姓萬 自晨起至今,才完五百畫也."

如此,用這個方式,你畫出別的正N邊形也沒什么問題了吧!這就是通用算法!

記得我剛剛開始學習計算機編程的時候,剛剛學了輸出語句(就是打印一個字符或一段話出來在屏幕上),習題往往是讓你做一個用*或者別的什么字符畫方形或者菱形,那時候根本就沒學過任何“畫圖命令”,簡直不知道如何下爪。根本就沒意識到題目其實是讓你“模擬”出一個那樣的圖案,而不是讓你畫出來!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容