官术网_书友最值得收藏!

1.1.1 通用問題解決策略

要為解決特定問題(類似提供指引或創(chuàng)建計算機程序)制定適當?shù)挠媱潱ǔ靡韵峦ㄓ玫?span id="myzsvkz" class="yanse">問題解決策略:

1)盡可能完全理解問題。如果沒有完全理解問題,那么要制定切實可行的計劃是很困難的,甚至是不可能的。

2)設計解決問題的行動計劃,并且提供精確的逐步操作指南。

3)實行計劃。

4)檢討結果。計劃是否可行?是否解決了給定的問題?

當然,在這個過程的任何階段,你可能注意到某個執(zhí)行步驟存在缺陷而不得不返回到以前的步驟再評估或修正。

現(xiàn)在,我們把這個問題解決策略應用于相對簡單的程序設計問題。假如你的朋友要求你編寫一個簡單程序為她玩彩票挑選數(shù)字。當我們還沒有準備好實際編寫JavaScript程序時,我們可以使用通用問題解決策略討論這個問題的基本解決方法。

1)理解問題。首先,你需要知道一些事情:要選擇多少個數(shù)?每個數(shù)的范圍是什么?你要向你的朋友詢問這些問題。針對這個例子,假定彩票需要6個數(shù),每個數(shù)的范圍是1~40,并且每個數(shù)都是整數(shù)。

2)設計行動計劃。你的程序需要選擇6個數(shù)并且每個數(shù)不小于1和不超過40。此時,計算機(也就是程序)的指令包括下列事情:

·挑選一個1~40之間的整數(shù)。

·重復5次。

3)實行計劃。在這個例子中,可以編寫程序表示第2步的計劃,從而選出6個1~40之間的整數(shù)。

4)檢討結果。然而在檢查時,程序可能生成以下整數(shù)序列:21、36、9、9、9、8,顯然需要修正第2步以確保不出現(xiàn)重復的數(shù)。新的第2步可能如下所示。

5)設計行動計劃(修正)

·挑選一個1~40之間的整數(shù)。

·挑選另一個1~40之間的整數(shù)。

·檢查確定新的數(shù)與前面的數(shù)不同。

·如果這兩個數(shù)相同,選擇另一個數(shù)。

·重復執(zhí)行,直到選擇6個不同的整數(shù)。

現(xiàn)在,你必須重復第3和4步。在設計行動計劃期間,你可能發(fā)現(xiàn)你沒有足夠的信息,導致你不能完全理解問題。要么在實行計劃步驟時要么在檢討結果步驟時,你就會發(fā)現(xiàn)不得不修改計劃。當應用這種問題解決策略時,針對前面步驟的修正幾乎是不可避免的。這種問題解決的過程是一個循環(huán)過程,因為在達到滿意的解決效果之前經(jīng)常要回到開始或者重做前面的工作。

主站蜘蛛池模板: 湘潭市| 梅河口市| 西华县| 星子县| 县级市| 淮安市| 嵊州市| 黑山县| 上饶市| 政和县| 正阳县| 四平市| 延吉市| 昔阳县| 根河市| 叶城县| 吉首市| 昌图县| 北京市| 于田县| 通海县| 双柏县| 苍山县| 湖州市| 安顺市| 南阳市| 万全县| 翁源县| 息烽县| 万载县| 渭源县| 观塘区| 马鞍山市| 施甸县| 尖扎县| 富锦市| 宣威市| 外汇| 绥宁县| 革吉县| 中西区|