freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

函數(shù)式編程語(yǔ)言、編程和程序驗(yàn)證-在線(xiàn)瀏覽

2024-12-22 21:04本頁(yè)面
  

【正文】 有標(biāo)簽的元組 函數(shù)式語(yǔ)言 SML及編程簡(jiǎn)介 ? 例 4(多態(tài)類(lèi)型) fun gcd(m, n) = if m = 0 then n else gcd(n mod m, m)。 val fst = fn : ?a ? ?b ? ?a fun snd(x, y) = y。 val length = fn : ?a list int length [3, 5, 9] length [“one”, “two”, “three”] 3 : int 3 : int – 豎線(xiàn)“ | ”將函數(shù)聲明分成兩子句,各處理一個(gè)模式 – length是一個(gè)多態(tài)類(lèi)型的函數(shù) – list相當(dāng)于一個(gè)類(lèi)型構(gòu)造符 函數(shù)式語(yǔ)言 SML及編程簡(jiǎn)介 ? 例 6(表類(lèi)型)插入排序 fun insert(x, [ ]) : real list = [ x ] | insert(x, y :: ys) = if x = y then x :: y :: ys else y :: insert(x, ys)。 val map = fn : (?a ?b) (?a list ?b list) – 算子 map把函數(shù) f 應(yīng)用到表的每個(gè)元素上,即 map f [x1, …, x n] = [f x1, …, f x n] – map f的結(jié)果是一個(gè)新函數(shù) 函數(shù)式語(yǔ)言 SML及編程簡(jiǎn)介 ? 例 8 靜態(tài)作用域(靜態(tài)綁定) let val x = 2 fun f y = x + y /* x是函數(shù) f的非局部變量 */ fun F (g, x) = g 2 in F(f, 1) – 按靜態(tài)作用域和動(dòng)態(tài)作用域,結(jié)果分別為 4和 3 – f函數(shù)所引用的 x綁定到 2,這樣的綁定成為 f的環(huán)境 – 在計(jì)算 F(f, 1)時(shí),必須把 f和它的環(huán)境 ef一起傳遞,以保證 f不管在何處計(jì)算都有正確的計(jì)算環(huán)境 – 二元組 (f, ef) 稱(chēng)為閉包,是語(yǔ)言實(shí)現(xiàn)中的概念 函數(shù)式語(yǔ)言 SML的模塊系統(tǒng) 模塊化關(guān)心的是程序的組織,而不是計(jì)算本身,模塊 化結(jié)構(gòu)使得程序易于理解、編寫(xiě)和維護(hù)等 – SML模塊所涉及的主要構(gòu)造是結(jié)構(gòu)、基調(diào)和函子 – 結(jié)構(gòu):由一組類(lèi)型、值和結(jié)構(gòu)的聲明組成 – 基調(diào):是結(jié)構(gòu)的“類(lèi)型”或“界面”,規(guī)范結(jié)構(gòu)必須包含的聲明 – 函子:從結(jié)構(gòu)到結(jié)構(gòu)的函數(shù) – 類(lèi)比:(模塊化) 結(jié)構(gòu) ~(核心語(yǔ)言) 值 基調(diào) ~ 類(lèi)型 函子 ~ 函數(shù) 函數(shù)式語(yǔ)言 SML的模塊系統(tǒng) ? 例 9:使用模塊系統(tǒng)的一個(gè)簡(jiǎn)單例子 signature SIG = /* 描述有類(lèi)型 t和值 x的結(jié)構(gòu)類(lèi) */ sig type t val x : t end。 – 可以用基調(diào)來(lái)規(guī)范結(jié)構(gòu)的部分成員 函數(shù)式語(yǔ)言 SML的模塊系統(tǒng) ? 例 9:使用模塊系統(tǒng)的一個(gè)簡(jiǎn)單例子 structure S : SIG = /* 符合上頁(yè)基調(diào)的一個(gè)結(jié)構(gòu) */ struct type t = int val x : t = 3 end。 要證明的性質(zhì)是 ?p. facti(n, p) = n! ? p 基本情況,要證 ?p. facti(0, p) = 0! ? p 因?yàn)?facti(0, p) = p = 1 ? p = 0! ? p,成立 歸納步驟,要證 ?p. facti(n+1, p) = (n+1)! ? p facti(n+1, p) = facti(n, (n+1) * p) [fact
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1