Scratch編程(programming)作為一款由麻省理工(MIT) 設計開發(fā)的一款面向少年的簡易編程工具,具有計算機語言的一切結構(Structure)特性。下面就來說說怎樣用scratch解數(shù)學題,大家千萬別錯過。 ?
?
怎樣用scratch解數(shù)學題 ?
一個大于1的自然數(shù),請判斷它是合數(shù)還是質數(shù)!比如,99991是質數(shù)還是合數(shù)? ?
我們知道,質數(shù)就是只有1和它自身兩個因數(shù)的數(shù)。因此,要判斷一個大于1的自然數(shù)n是不是質數(shù),最簡單的辦法就是看n能不能被2~n-1中的某個數(shù)整除。只要有一個數(shù)能被n整除,n就是合數(shù);如果都不能被n整除,n就是質數(shù)。比如97,我們就看它能不能被2~96中的某一個數(shù)整除。 ?
這個方法說起來很簡單,但是如果給出的數(shù)較大,實際算起來就沒那么簡單!比如,99991。再比如,1234567891。通過人工計算來判斷出它們是質數(shù)還是合數(shù),那真不是一件容易的事。 ?
能不能編一個程序讓計算機來幫助我們計算呢?當然可以!根據(jù)上述算法就可以畫出程序流程圖。 ?
有了流程圖,編寫代碼就很簡單了。流程圖就是編程的施工圖。學習編程,畫流程圖是基本功。一定要養(yǎng)成無流程圖不寫代碼的好習慣!流程圖本身就是編程思路的體現(xiàn),通過畫流程圖也可以進一步整理我們的思路。 ?
程序寫好后,還要調試,看看功能是否正常。通過調試,我們會發(fā)現(xiàn)對于不太大的數(shù),這個程序很快就能給出結果,簡直是秒殺!但如果你輸入1234567891,程序運行很久才會出結果。這種狀況,其實也是不能接受的。正如你玩一個游戲,它老是卡頓,你還會玩嗎?一個好的程序,只考慮功能的正確性是不夠的,還要考慮它的運行速度,它占用計算機內存的情況。當然,這是對高級程序員的要求。我們在學習編程的時候,更多地還是考慮功能的正確性。 ?
運行速度過慢,怎么辦?重新設計呀!太慢,嚴格來講就是不符合設計要求。你必須重新考慮程序的架構和實現(xiàn)算法。 ?
要判定一個數(shù)n是不是質數(shù)其實不需要一直試到n-1,到n的算術平方根(要取整,絕大多數(shù)程序設計語言都有取整運算符或者功能塊)就可以了!其流程圖與之前的算法基本相同,不再贅述。直接上程序代碼。 ?
運行程序,按照提示輸入1234567891。程序很快就給出結果了。由此可見,在編程中,算法是很重要的。隨著學習的深入和編制的程序越來越復雜,我們就能更深地體會到:算法是程序的靈魂。 ?
計算機是不是很強大呀!但前提是你要會編程呀!只有會編程,你才能讓計算機替你解決問題呀!別擔心,編程其實也沒有想象那么難!只要你愿意學。 ?
Scratch雖然是專門為少兒設計的編程語言,但其功能還是非常強大的,不僅可以創(chuàng)建動畫、游戲和故事書,還可以用來求解數(shù)學題,實現(xiàn)一些數(shù)學算法。學過Scratch后,將來再學習其他高級程序設計語言,理解起來也會更加順暢,更加容易! ?
?
scratch找素數(shù)的算法練習 ?
題目:找出100以內的素數(shù)(2-99)。 ?
質數(shù)又稱素數(shù),指在一個大于1的自然數(shù)中,除了1和此整數(shù)自身外,沒法被其他自然數(shù)整除的數(shù)。 ?
思路:從2開始依次判斷每個數(shù)是不是素數(shù),如果是的話就加入到列表里。難點在于如何判斷一個數(shù)是不是素數(shù),根據(jù)素數(shù)的定義,需要使用重復執(zhí)行,只要能被1和自身之外的數(shù)整除(余數(shù)=0),那么就不是素數(shù),停止本次循環(huán),然后去判斷下一個自然數(shù)是不是素數(shù)。 ?
1、添加變量num表示100以內的自然數(shù),從2開始,依次遞增,挨個判斷是否為素數(shù) ?
2、添加變量i作為除數(shù)(取值為2到num)用來判斷是否為素數(shù) ?
3、添加變量“是否為素數(shù)”標記num是否是素數(shù)(初識默認這個數(shù)是素數(shù),通過重復執(zhí)行除以i,如果被整除那么就改變值為0,即不是素數(shù),停止本次重復執(zhí)行) ?
4、如何停止本次重復執(zhí)行?通過修改變量的值,使重復執(zhí)行結束的條件成立,這樣就可以減少不必要的計算次數(shù)。 ?
5、每個自然數(shù)num重復執(zhí)行除法判斷結束后根據(jù)變量“是否為素數(shù)”來確定最終結果,如果等于1,那么就是素數(shù),將該數(shù)添加進列表。 ?
scratch如何編寫判斷運算是否正確的程序 ?
1、打開scratch,進入它的主界面; ?
2、用鼠標左鍵點擊一下事件面板; ?
3、將當綠旗被點擊拉到右邊的腳本編輯區(qū)中; ?
4、點擊偵測面板; ?
5、添加詢問命令; ?
6、將詢問內容改為要出的數(shù)學題,如3加4等于幾? ?
7、點擊控制面板,添加條件判斷命令; ?
8、在條件判斷中添加如下腳本,并*添加一個重復執(zhí)行命令; ?
9、點擊綠旗執(zhí)行程序,開始出題3加4等于幾,下面出現(xiàn)一個答題響應框; ?
10、如果輸入答案7,然后按后面的對勾; ?
11、電腦就會提示答對了,真棒,并停止執(zhí)行程序; ?
12、如果輸入的答案不是7,然后按后面的對勾; ?
13、電腦就會提示再試試,然后停留在答題框中,讓用戶重復答題,直到答題正確為止。 ?