自頂向下:解決複雜問題的有效方法。將乙個總問題表達為若干個小問題組成的形式,使用同樣方法進一步分解小問題,直至小問題可以用計算機簡單明瞭的解決。
自頂向上:逐步組建複雜系統的有效測試方法。分單元測試,逐步組裝,按照自頂向下相反的路徑操作,直至系統各部分以組裝的思路都經過測試和驗證。
邏輯思維:推理和演繹,數學。
實證思維:試驗和驗證,物理。
計算思維:設計和構造,計算機。特徵:抽象和自動化。
抽象問題的計算過程,利用計算機自動化求解;計算思維基於計算機強大的算力及海量資料;抽象計算過程,關注設計和構造,而非因果。
計算機程式設計是計算思維實現的主要手段。
程式設計是將計算思維變成現實的手段。
1983,richard stallman 大教堂模式
1989,gnu通用許可協議誕生,自由軟體時代到來
1991,linus torvalds 集市模式
1998,網景瀏覽器開源,產生了mozilla,開源生態逐步建立
計算生態以開源專案為組織形式,充分利用「共識原則」和「社會利他」組織人員,在競爭發展、相互依存和迅速更迭中完成資訊科技的更新換代,形成了計算的自我演化路徑。
計算生態沒有頂層設計,以功能為單位,具備三個特點,競爭發展、相互依存、迅速更迭。
api!=生態
計算生態是加速科技類應用創新的重要支撐,是發展科技產品商業價值的重要模式,是國家科技體系安全和穩固的基礎。
創新:跟隨創新、整合創新、原始創新
程式設計的起點不是演算法而是系統,程式設計利用計算生態為主要模式,程式設計的目標是快速解決問題。
使用者體驗指使用者對產品建立的主觀感受和認識。關心功能實現,更要關心使用者體驗,才能做出好產品。程式設計只是手段不是目的,程式最終為人類服務。使用者體驗是程式到產品的關鍵環節。
提高使用者體驗的方法:進度展示、異常處理、其他類方法(列印輸出、日誌檔案、幫助資訊)
配置化設計:引擎+配置,程式執行和配置分離,將可選引數配置化,進而將程式開發變成配置檔案編寫,擴充套件功能而不修改程式,配置化設計的關鍵在於介面設計,清晰明了,靈活可擴充套件。
應用開發的四個步驟:產品定義(對應用需求充分理解和明確定義)、系統架構(以系統方式思考產品的技術實現)、設計與實現(結合架構完成關鍵設計及系統實現)、使用者體驗(以使用者角度思考應用效果)
os庫提供通用的、基本的作業系統互動功能,os庫是python標準庫,包含幾百個函式,能夠處理與作業系統相關的包括常用路徑操作、程序管理、環境引數幾類的功能。
路徑操作:os.path子庫,處理檔案路徑及資訊
import os.path
import os.path as op
os.path.abspath(path):返回path在當前系統中的絕對路徑
os.path.norpath(path):歸一化path的表示形式,統一用\分隔路徑
os.path.relpath(path):返回當前程式與檔案之間的相對路徑(relative path)
os.path.dirname(path):返回path中的目錄名稱
os.path.basename(path):返回path中最後的檔名稱
os.path.join(path,*paths):組合path與paths,返回乙個路徑字串
os.path.exists(path):判斷path對應檔案或目錄是否存在,返回true或false
os.path.isfile(path):判斷path所對應是否為已存在的檔案,返回true或false
os.path.isdir(path):判斷path所對應是否為已存在的目錄,返回true或false
os.path.getatime(path):返回path對應檔案或目錄上一次的訪問時間
os.path.getmtime(path):返回path對應檔案或目錄上一次的修改時間
os.path.getctime(path):返回path對應檔案或目錄的建立時間
os.path.getsize(path):返回path對應檔案大小,以位元組為單位
程序管理;啟動系統中其他程式
os.system(command):執行程式或命令command,在windows系統中,返回值為cmd的呼叫返回資訊。
環境引數:獲得系統軟硬體資訊等環境引數
os.chdir(path):修改當前程式操作的路徑
os.getcwd():返回程式的當前路徑
os.getlogin():獲得當前系統登入使用者名稱
os.cpu_count():獲得當前系統的cpu數量
os.urandom(n):獲得n個位元組長度的隨機字串,通常用於加解密運算
python第八周學習筆記(程式設計方法學)
程式 from random import random def printintro print 這個程式模擬兩個選手a和b的某種競技比賽 print 程式執行需要a和b的能力值 以0到1之間的小數表示 def getinputs a eval input 請輸入選手a的能力值 0 1 b eva...
mooc c語言第八周程式設計
2 統計使用者輸入 4分 題目內容 從鍵盤讀取使用者輸入直到遇到 字元,編寫程式統計讀取的空格數目 讀取的換行符數目以及讀取的所有其他字元數目。要求用 getchar 輸入字元 程式執行結果示例1 please input a string end by abc def jklm op zkm sp...
第八周 刪除
題目描述 從串s中刪除其值等於c的所有字元。如從message中刪除 e 得到的就是mssag 1 演算法庫中的標頭檔案部分 ifndef sqstring h included define sqstring h included define maxsize 100 最多的字元個數 typede...