- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程式编写概念
第14章:解決問題的程序
目標:
知道解決問題的意義
體會以系統化方法來解決問題的好處
應用系統化解決問題的概念來解決生活中遇到的問題
了解算法及程式流程圖的意義
能夠從檢閱程式流程圖推論出算法的目的
體會解決相同的問題可使用多種不同的方法,並能夠扼要地比較它們之間的優劣
試湊方式(Trial-and-error approach)沒有經過任何計劃或分析,並沒有系統,在許多情況下,這個方式並不能解決問題。
圖 1 解決問題必須應用系統化方式
每天我們都會遇上不同的問題,範圍可能從修理一枝壞掉的原子筆,到需要花數星期才可完成的地理科專題研習。解決問題需要某程度的經驗和利用學習得來的技能。
簡單的問題或許以試湊方式便可解決,試湊方式 (Trial-and-error approach)
是指隨便找一個方法來試驗,若發現不成功,便嘗試其他的,這方式沒有周詳的計劃或仔細的分析。由於試湊方式並沒有什麼系統可言,對較複雜的問題,這個方式並不能把問題妥善地解決,甚至不能達致任何成果。
14.1 系統化方式的需要
許多問題必須使用有系統的方法來解決,所謂系統化方式 (Systematic approach)。舉例來說,建築師絕不可能使用試湊法來興建房子。事實上,在建造房子前,建築師必須經過長時間的策劃,訂定完善及周詳的解決方案 (見圖 2)。
首先,建築師必須向客戶查問清楚需要興建什麼類型的房子,例如是否作渡假之用?客戶會否接受新穎的設計?建築師必須對客戶的要求有清晰的了解,這是所謂釐清問題。
第二,建築師必須深入研究及分析客戶的要求,並衡量這些要求是否可行,例如對建築物的安全性、資源、空間和所需設備等進行徹底的分析。
第三,建築師會將構想中的房子繪畫成設計圖則,並安排工序及撰寫相關的指令,以便向工人提供如何運用材料及所需設備的指示。
第四,把圖則和指令交予工人,讓工人根據指令建造房子。指令的用詞及表達方式必須清晰及易於理解,以便工人正確無誤地跟隨指令執行任務。
第五,在房子建造完成後,建築師必須仔細檢驗房子,例如測試建築物的結構、設備等。若發現有任何不妥善之處,或與建築師原來的構思不符,必須及時作出修改。
最後,在房子交給客戶前,建築師必須提交有關房子的詳細圖則等文件,這些文件可作為房子將來維修或改動的參考。
圖 2 建築師architect採用的系統化方式
圖 3 以系統化方式解決問題的步驟
表 1 建築師以系統化方式解決問題的步驟
步驟 1 釐清Identification 向查問清楚興建是﹔客戶的耍 步驟 2 問題分析Problem analysis 深入研究及分析客戶的要求﹔所 步驟 3 設計解決方案Designing a solution 將﹔工作及 步驟 4 發展解決方案Developing a solution 工人根據指令建造房子。 步驟 5 除錯和測試Debugging and testing 檢查房子, 步驟 6 文件編製 提交有關房子的詳細圖表給客戶。
14.2 使用電腦解決問題
以電腦來解決問題、提供解決方案,通常涉及程式編寫programming,為免費時失事,必須採用建築師興建房子般的系統化方式。因此,在編寫程式的過程中,必須緊隨下列的步驟:
步驟 1 釐清Identification 確保對問題有清晰的了解,並使用清楚精確文字描述定義問題 步驟 2 問題分析Problem analysis 作出分析,找出什麼數據是可用的、需要什麼資源、什麼能假定及將要有什麼輸出。 步驟 3 設計解決方案Designing a solution 設計解決問題的方案及 步驟 4 發展解決方案Developing a solution 使用適合的電腦語言,把算法轉換為電腦程式。 步驟 5 除錯和測試Debugging and testing 用不同數據去測試程式, 步驟 6 文件編製 寫下程式的目的及問題如何得以解決。
我們將以一個例子說明如何實踐上述步驟的概念。這個例子涉及編寫一些程式片段,計算在電子商貿的交易事項中,顧客所需繳付的總額。
圖 4 電子商貿的例子
圖 5 在網上商店購物
釐清問題: 應該做什麼?
問題分析: 有什麼背景?那些數據是可用的?需要什麼的輸出?
設計算法: 設計解決問題的步驟
發展解決方案: 寫程式
除錯: 找出程式錯誤 (bugs) 並將它們移除。
測試: 測試的數據必須包括有效的和無效的。
要編寫的文件包括: 1. 用戶手冊 2. 技術手冊
A. 釐清問題
首先,我們對問題要有清晰的了解,以下是問題定義精確的描述:
某公司打算藉開設一家網上商店來參與電子商貿。這個程式片段是對每項電子交易,計算銷售總額,並把總額顯示出來,然後
您可能关注的文档
- 洛阳九都路快速路建设工程环境影响评价报告书简本-洛阳政府.pdf
- 洪江区政府信息公开指引.doc
- 流体力学试题-济南自考网.doc
- 活动一相见欢.doc
- 流形距离的自动免疫克隆聚类图像分割算法-电子科技大学学报.pdf
- 浅谈城高架桥下通道桥的设计.pdf
- 浅谈钣金数字化智能制造工厂规划.pdf
- 浆砌石拦挡坝稳定性验算及在泥石流灾害治理中的应用.pdf
- 浅论黑格尔哲学‘自我意识'的概念及运用.pdf
- 测验的概念与编制程序.doc
- 2024年国网甘肃省电力公司高校毕业生提前批招聘若干人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年国家税务总局屯昌县税务局招聘【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年国家税务总局泉州经开区税务局招聘【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年国航股份西南分公司通用车司机岗位招聘10人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年国家邮政局发展研究中心所属企业北京国邮科讯科技发展限公司第二次招聘【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年国网湖北电力部分单位市场化招聘【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年国网运行公司西部地区校园招聘历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年国网技术学院高校毕业生招聘约40人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年国网辽宁省电力限公司招聘400人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024年国网电子商务限公司校园招聘历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
文档评论(0)