程式語言A week2

2021-08-08 16:31:26 字數 898 閱讀 1006

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)

問題重述 模擬圖書館管理系統。每名讀者只能借一本書,讀者可借書或還書。管理員可對圖書和讀者資訊進行錄入 修改和刪除。圖書資訊至少應包括 編號 書名 數量,讀者資訊至少應包括 編號 姓名 所借圖書。可根據圖書名稱或編號進行圖書資訊查詢,可查詢某本書現在被哪些讀者借走。演算法描述 由於目標是乙個綜合系統...