coursera上華盛頓大學的公開課,程式語言的學習記錄。這門課程有abc3個部分,這是a部分,用的是ml語言。
week1就是一些簡要的介紹和課程需要的一些工具的安裝(emacs),沒什麼好記錄的。
變數的繫結
靜態環境,進行型別檢查
動態環境,進行值的檢查
表示式的規則:
語法檢查
語義檢查
1. 型別檢查
2. 值的檢查
函式 格式:
fun 函式名(變數名:型別,………)=乙個表示式
pair
一對變數,可以是不同型別
tuple
任意數目的變數,可以是不同型別
list
任意數目的變數,同一型別
建立區域性變數 let expression
let ...args... in ...exp... end
巢狀函式:在函式裡可以在let表示式裡定義新的函式,這個新的函式只在let表示式裡可見,有點封裝的意思
在ml語言裡,要想訪問乙個list裡的很多值都要借助遞迴的寫法(?應該是吧,至少目前課程都沒有講到類似陣列下標之類的東西),寫遞迴的時候要注意避免重複的計算
option 型別
none, some ,valof, issome
與或非
andalso orelse not,和c語言裡一樣的短路規則
ml裡,不會有其他語言裡引用產生的問題,即變數不會被意外修改
最後,學習一門語言的5個方面:
1. 語法
2. 語義
3. idioms,應該是寫的**要易於理解的意思吧
4. 這個語言的一些庫
5. 相關工具
C語言程式設計(2)
題目 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高 於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可可提 成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於 40萬元的部分,可提成3 60萬到1...
《C 語言程式設計》(2)
1 程式設計工作主要包括資料結構和演算法的設計。演算法要由一系列控制結構組成 2 c語言已經不能滿足運用物件導向方法開發軟體的需要。c 比c更安全,c 的編譯系統能檢查出更多的型別錯誤 3 物件是程式的基本單位,物件的靜態屬性往往需要用某種型別的資料來表示,物件的動態屬性要由成員屬性來實現,而函式的...
C語言程式設計(2)
問題重述 模擬圖書館管理系統。每名讀者只能借一本書,讀者可借書或還書。管理員可對圖書和讀者資訊進行錄入 修改和刪除。圖書資訊至少應包括 編號 書名 數量,讀者資訊至少應包括 編號 姓名 所借圖書。可根據圖書名稱或編號進行圖書資訊查詢,可查詢某本書現在被哪些讀者借走。演算法描述 由於目標是乙個綜合系統...