問題的解決

2021-08-30 01:19:02 字數 909 閱讀 5253

1.1 問題的解決

程式常常是針對某些要解決的問題和任務而編寫的我們來看乙個例子某個書店將每

本售出圖書的書名和出版社輸入到乙個檔案中這些資訊以書售出的時間順序輸入每兩

周店主將手工計算每本書的銷售量以及每個出版社的銷售量報表以出版社名稱的字母順

序排列以使下訂單現在我們希望寫乙個程式來完成這項工作

解決大問題的一種方法是把它分解成許多小問題理想情況下這些小問題可以很容

易地被解決然後再把它們合在一起就可以解決大問題了如果新分割的小問題解決起

來還是太大就把它分割得再小一些重複整個過程直到能夠解決每個小問題這個策略

就是分而治之divide and conquer 和逐步求精stepwise refinement 書店問題可以分解

成四個子問題或任務

1 讀銷售檔案

2 根據書名和出版社計算銷售量

3 以出版社名稱對書名進行排序

4 輸出結果

我們知道怎樣解決第1 2 和4 個子問題因此它們不需要進一步分解但是第3 個子

問題解決起來還是有些大所以對這個子問題重複我們的做法繼續分解

3a 按出版社排序

3b 對每個出版社的書按書名排序

3c 在每個出版社的組中比較相鄰的書名如果兩者匹配增加第乙個的數量刪除

第二個3a 3b 和3c 所代表的問題現在都已經能夠解決了由於我們能夠解決這些子問題

因此也就能夠有效地解決原始的大問題了而且我們也知道任務的原始順序是不正確的

正確的動作序列應該是

l 讀銷售檔案

2 對檔案排序——先按出版社然後在出版社內部按書名排序

3 壓縮重複的書名

4 將結果寫入檔案

這個動作序列就是演算法algorithm 下一步我們把演算法轉換成一種特定的程式設計語

言——在這裡是c++語言

昨天解決的問題

今天學習的內容 1 清理類的使用,新建乙個類設定 方框 清除兩者,方在結束div的前面。2 滑動門技術 1,新建 邊界與填充為0 2,新建 li 標籤 背景 不重複,水平位置 右對齊,垂直位置 頂部。3,新建 a 標籤 背景 不重複,水平位置 左對齊,垂直位置 頂部。3 傳ruby動態引數.呵呵,這...

首先解決的問題

確定哪些資訊需要同步 crm的功能界定 產品目錄和相關產品資訊如何更新?更改業務機會狀態 crm產生訂單請求 erp生成訂單的操作 訂單凍結 理解手機簡訊是由哪發出?日程表,erp互操作?財務人員修改某些項?怎麼修改?erp到crm的更新?銷售訂單生成後,客戶資訊,訂單資訊的更新 如何互相服務?服務...

Python uwcgi問題的解決

web專案基礎搭建出現的問題與解決 本專案為nginx python django uwsgi的環境,基礎資訊介紹如下 系統 ubuntu 14.04 django 1.6.5 python 2.7.3 uwsgi 0.4.52015 09 08 01 47 55 956 info worker e...