模擬法
1. 模擬法的概念
自然界和日常生活中的有些事物,很難建立數(shù)學(xué)模型,我們解決這類問題可用模擬法。所謂模擬法,就是用計算機模擬某個過程,通過改變數(shù)學(xué)模型的各種參數(shù),進(jìn)而觀察變更這些參數(shù)所引起的過程狀態(tài)的變化,然后從中得出解答。
由于模擬法往往是從實際工程應(yīng)用中提取出來的一些核心問題,或者本身就是某個工程的簡化模型,所以解答模擬題特別需要有良好的理解能力、分析能力和規(guī)劃能力。模擬題的算法一般都不太復(fù)雜,關(guān)鍵是所有條件都不能遺漏并要把條件分析清楚。求解模擬題一般都比較繁瑣,編程前一定要預(yù)先規(guī)劃好各個模塊的功能和結(jié)構(gòu),以免具體編程時注意了局部而遺漏了某些重要的方面。
2. 模擬法的求解思路
解答模擬題通常的步驟是:
(1)認(rèn)真仔細(xì)的讀懂題目。模擬題的描述通常都比較詳細(xì),篇幅一般都比較長,應(yīng)該邊閱讀邊將有關(guān)的條件一條條地記錄下來,閱讀完成后要反復(fù)核對,絕對不能有錯漏。
(2)建立各個條件之間的關(guān)系,最好用一些簡明的表格列出。
(3)認(rèn)真分析這些關(guān)系,并建立這些關(guān)系的數(shù)學(xué)模型。
(4)規(guī)劃各個模塊的結(jié)構(gòu),用相應(yīng)的語言、逐步求精的方法描述具體的算法。
(5)編寫程序,調(diào)試并運行。
(6)檢查題目給出的樣例能否通過。競賽題目中一般都會給出輸入輸出樣例,以便檢查程序的輸入輸出格式是否正確,但這些樣例往往會比競賽時評判所用的測試數(shù)據(jù)簡單,所以你不能滿足于通過這些樣例,還要盡量自擬一些更復(fù)雜、更全面的測試數(shù)據(jù)來檢查程序的正確性。經(jīng)過反復(fù)的調(diào)試、檢查,才算完成該題。
3. 舉例
陶陶家的院子里有一棵蘋果樹,每到秋天樹上就會結(jié)出 10個蘋果。蘋果成熟的時候,陶陶就會跑去摘蘋果。陶陶有個 30厘米高的板凳,當(dāng)她不能直接用手摘到蘋果的時候,就會踩到板凳上再試試。
現(xiàn)在已知 10個蘋果到地面的高度,以及陶陶把手伸直的時候能夠達(dá)到的最大高度,請幫陶陶算一下她能夠摘到的蘋果的數(shù)目。假設(shè)她碰到蘋果,蘋果就會掉下來。
?