資源簡介 (共15張PPT)信息的編程加工有趣的自然數(shù)在自然數(shù)中有很多數(shù)都是有規(guī)律的+11回文數(shù)提問1:從2002年起,再過多少年,我們才能再碰到一個“回文數(shù)”的年份?提問2:兩位的“回文數(shù)”有幾個?三位的“回文數(shù)”又有幾個?有趣的自然數(shù)還有一類數(shù)也很有特色:首先,它是一個三位數(shù);其次,它的各位數(shù)字的立方和就是這個數(shù)本身 。這類數(shù),有個好聽的名稱:水仙花數(shù)。問題:請大家思考并寫出所有的水仙花數(shù)方程:a3+b3+c3=a*100+b*10+c求方程:a3+b3+c3=a*100+b*10+c的解提示:可以用數(shù)學(xué)中的窮舉法和排除法方法:首先,取數(shù)字100,那么對應(yīng)的a,b,c分別為1、0、0,判斷這個方程是否成立;然后,再取數(shù)字101,再進行判斷……如此反復(fù),一直判斷到數(shù)字999。問題:我們要進行多少次的驗證才能夠得出所 有的水仙花數(shù)?求水仙花數(shù)的程序我們可以利用計算機的優(yōu)勢:高速度和大容量來幫我們快速解決問題。演示程序:算法設(shè)計問題:計算機能快速地求出問題的解,是不是代表它有思維、知道如何解決問題?答案是否定的,所以必須告訴它解決問題的過程和方法。在程序設(shè)計中我們稱之為算法。例:小學(xué)有篇課文,里面提到過著名數(shù)學(xué)家華羅庚“燒水泡茶”的問題。對于這個問題,他是怎么解決的?第一步:燒水;第二步:燒水過程中,洗刷茶具;第三步:水燒開后沏茶。算法的設(shè)計分兩個內(nèi)容:一是尋找一種方法;二是描述一下實現(xiàn)這個方法的步驟算法設(shè)計那么在求水仙花數(shù)的過程中,我們應(yīng)該尋找什么方法?該如何實現(xiàn)這個方法的步驟。其中要包括:從何處著手、解題步驟以及結(jié)果處理。1、首先確定水仙花數(shù)的范圍:是一個三位數(shù),也就是從100到999;判斷表達式是否成立,如果成立就是水仙花數(shù);如果不成立就不是水仙花數(shù)。2、思考等式中a,b,c的值是從哪里來的?對于一個三位數(shù),計算機是不知道怎么分離出各位上的數(shù)字的,所以還得向計算機說明如何分離。請思考如何分離出一個三位數(shù)的各位上的數(shù)?算法設(shè)計3、然后對表達式的成立與否進行判斷,如果成立就顯示出這個數(shù)。整個算法思想:讓計算機從100到999依次進行百位、十位和個位數(shù)字的分離,然后對表達式的成立與否進行判斷,如果成立就顯示出這個數(shù)。編程實現(xiàn)注:VB語言,提供的可視化設(shè)計工具,可以直接使用窗體和控件設(shè)計程序的界面,大大地提高了程序設(shè)計的效率。1、界面設(shè)計標(biāo)題說明性文字按鈕用戶界面是一個應(yīng)用程序最重要的部分,界面是應(yīng)用程序呈現(xiàn)給用戶的外觀,也是實現(xiàn)人機交互的接口。編程實現(xiàn)2、代碼編寫Private Sub Command1_Click()Dim i As Integer ′ 定義自然數(shù)變量Dim a As Integer ′ 定義百位上的數(shù)的變量Dim b As Integer ′ 定義十位上的數(shù)的變量Dim c As Integer ′ 定義個位上的數(shù)的變量Label1.Caption = “” ′ 初始化文本框為空白For i = 100 To 999a = Int(i / 100)b = Int(i / 10) - a * 10c = i Mod 10 ′分離百位、十位和個位數(shù)分別放入a、b、cIf a * a * a + b * b * b + c * c * c = i ThenPrint i ′ 如果表達式成立,就輸出該自然數(shù)End If ′ 如果表達式不成立,則不輸出Next i ′ 變量i增加1End Sub一個循環(huán)3、調(diào)試運行編程實現(xiàn)在代碼編寫過程中和編寫完成后都需要不斷調(diào)試運行,以確保數(shù)據(jù)排序無誤。剛才我們是從 100到999將每個數(shù),都重復(fù)如下操作:分離出百位、十位、個位上的數(shù)值,并判斷表達式是否成立,如果成立就輸出,再取下一個數(shù)字進行同樣的操作。拓展與延伸請大家討論除了這種算法還有沒有其他算法?提示:剛才是從數(shù)字出發(fā)分離出 a,b,c,能不能換個角度從a,b,c拼出數(shù)字?作為百位上的 a可以取1~9之間的任意數(shù),而b和c可以取0~9之間的任意數(shù),從已知的a,b,c求出100*a+10*b+c,看是否等于它們的立方和,如果相等就輸出。課堂作業(yè)打開程序----“猜數(shù)字”先玩一下這個游戲,得出這個游戲的規(guī)律,然后用自然語言寫出這個游戲的算法思想。整個算法思想:讓計算機從100到999依次進行百位、十位和個位數(shù)字的分離,然后對表達式的成立與否進行判斷,如果成立就顯示出這個數(shù)。例:求水仙花數(shù)的算法思想 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫