日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lisp语言cond和if套用_LISP - 决策

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lisp语言cond和if套用_LISP - 决策 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

決策結構需要程序員指定一個或多個條件由程序進行評估或測試,以及要執行的語句或語句如果條件被確定為true,如果條件被確定為false那么選擇要執行其他語句。

下面是在大多數編程語言中一個典型的決策結構的一般形式為:

LISP提供了以下類型的決策構造。點擊以下鏈接,查看其詳細信息。

Construct

描述

cond

這個結構是用于用于檢查多個測試行動作條件。它可以嵌套if或其他編程語言語句。

if

if結構有多種形式。在最簡單的形式,它后面跟著一個測試條,測試操作和一些其它相應措施(次)。如果測試子句的值為true,那么測試的動作被執行,否則,由此產生的子句求值。

when

在最簡單的形式,它后面跟著一個測試條和測試操作。如果測試子句的值為true,那么測試的動作被執行,否則,由此產生的子句求值。

case

這種結構實現了像cond 構造多個測試行動語句。但是,它會評估的關鍵形式,并允許根據該鍵的形式評價多個行動語句。

LISP的cond特殊構造

在LISP語言中cond結構是最常用的,以允許分支。

cond的語法是:

(cond(test1action1)(test2action2)...(testnactionn))

在cond 語句中每個子句包含一個條件測試,并要執行的動作。

如果第一次測試下面的芯線,為test1,被評估為true,那么相關的行動的一部分, action1執行,返回它的值,及本子句的其余部分被跳過。

如果test1的計算結果是nil,然后控制移動到第二個子句,而不執行action1,和相同的流程進行后續處理。

如果沒有試驗條件計算結果為真,那么cond語句返回nil。

示例

創建一個名為main.lisp一個新的源代碼文件,并在其中輸入如下代碼:

(setq a10)(cond((>a20)(format t"~% a is less than 20"))(t(format t"~% value of a is ~d "a)))

當單擊Execute按鈕,或按下Ctrl+ E,LISP立即執行它,返回的結果是:

value of ais10

請注意,第二個子句中t保證的是,如果沒有其他的將最后完成的動作。

if結構

如果該宏后跟一個測試子句計算為 t 或nil。如果測試子句計算到t,然后按照測試子句的動作被執行。如果它是零,那么下一個子句進行評估計算。

if的語法:

(if (test-clause) (

示例1

創建一個名為main.lisp一個新的源代碼文件,并在其中輸入如下代碼:

(setq a10)(if(>a20)(format t"~% a is less than 20"))(format t"~% value of a is ~d "a)

當單擊Execute按鈕,或按下Ctrl+ E,LISP立即執行它,返回的結果是:

value of ais10

示例2

if子句后面可以跟一個可選的then子句:

創建一個名為main.lisp一個新的源代碼文件,并在其中輸入如下代碼:

(setq a10)(if(>a20)then(format t"~% a is less than 20"))(format t"~% value of a is ~d "a)

當您單擊Execute按鈕,或按下Ctrl+ E,LISP立即執行它,返回的結果是:

aisless than20value of ais10

示例 3

還可以創建使用if子句的if-then-else類型聲明。

創建一個名為main.lisp一個新的源代碼文件,并在其中輸入如下代碼:

(setq a100)(if(>a20)(format t"~% a is greater than 20")(format t"~% a is less than 20"))(format t"~% value of a is ~d "a)

當單擊Execute按鈕,或按下Ctrl+ E,LISP立即執行它,返回的結果是:

aisgreater than20value of ais100

when構造,

該when宏,后面跟著一個測試子句計算為t或為零。如果測試條被評估計算為nil,則任何形式的評估及nil返回,但是它的測試結果為t,則下面的測試條的動作被執行。

when宏的語法:

(when (test-clause) (

示例

創建一個名為main.lisp一個新的源代碼文件,并在其中輸入如下代碼:

(setq a100)(when(>a20)(format t"~% a is greater than 20"))(format t"~% value of a is ~d "a)

當您單擊Execute按鈕,或按下Ctrl+ E,LISP立即執行它,返回的結果是:

aisgreater than20value of ais100

case構造

case結構實現像cond結構多個測試動作語句。但是,它會評估的鍵形式,并允許根據該鍵的形式評價多個動作語句。

該case宏的語法是:

The template for CASE is:

(case(keyform)((key1)(action1action2...))((key2)(action1action2...))...((keyn)(action1action2...)))

示例

創建一個名為main.lisp一個新的源代碼文件,并在其中輸入如下代碼:

(setq day4)(caseday(1(format t"~% Monday"))(2(format t"~% Tuesday"))(3(format t"~% Wednesday"))(4(format t"~% Thursday"))(5(format t"~% Friday"))(6(format t"~% Saturday"))(7(format t"~% Sunday")))

當您單擊Execute按鈕,或按下Ctrl+ E,LISP立即執行它,返回的結果是:

Thursday

¥ 我要打賞

糾錯/補充

收藏

加QQ群啦,易百教程官方技術學習群

注意:建議每個人選自己的技術方向加群,同一個QQ最多限加 3 個群。

總結

以上是生活随笔為你收集整理的lisp语言cond和if套用_LISP - 决策的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。