吳文虎程序設(shè)計(jì)3_第1頁(yè)
吳文虎程序設(shè)計(jì)3_第2頁(yè)
吳文虎程序設(shè)計(jì)3_第3頁(yè)
吳文虎程序設(shè)計(jì)3_第4頁(yè)
吳文虎程序設(shè)計(jì)3_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)第三講邏輯判斷(續(xù))1二、邏輯判斷邏輯表達(dá)式某地刑偵大隊(duì)對(duì)涉及六個(gè)嫌疑人的一樁疑案進(jìn)行分析:A、B至少有一人作案;A、E、F三人中至少有兩人參與作案;A、D不可能是同案犯;B、C或同時(shí)作案,或與本案無(wú)關(guān);C、D中有且僅有一人作案;如果D沒有參與作案,則E也不可能參與作案。試編一程序,將作案人找出來(lái)。2二、邏輯判斷為了解這道題,我們要研究邏輯運(yùn)算符與邏輯表達(dá)式。1、邏輯與,運(yùn)算符為&&

如圖電路A——表示開關(guān)A合上;B——表示開關(guān)B合上;A&&B——表示燈亮; A B A&&B

1 1 1

1 0 0

0 1 0

0 0 01表示真,0表示假,這是邏輯變量的取值,非真即假3二、邏輯判斷2、邏輯或,運(yùn)算符為||

如圖電路A——表示開關(guān)A合上;B——表示開關(guān)B合上;A||B——表示燈亮; A B A||B

1 1 1

1 0 1

0 1 1

0 0 01表示真,0表示假4二、邏輯判斷3、邏輯非,運(yùn)算符為!兩隊(duì)比賽籃球,變量A表示A隊(duì)到場(chǎng),!A表示A隊(duì)不到場(chǎng),變量B表示B隊(duì)到場(chǎng),!B表示B隊(duì)不到場(chǎng)。這場(chǎng)球賽能夠賽成,得兩隊(duì)都到場(chǎng)。假定“能賽成”用邏輯變量C表示,則

C=A&&B賽不成當(dāng)然用!C表示,讓D=!C,D表示賽不成則

D=!A||!B。理解為A不到場(chǎng)或B不到場(chǎng),球賽無(wú)法進(jìn)行。5二、邏輯判斷1案情分析:將案情的每一條寫成邏輯表達(dá)式,第一條用CC1表示,第二條用CC2表示,……CC1:A和B至少有一人作案令A(yù)變量表示A作案

B變量表示B作案

A B CC1 0 0 0 1 0 1 0 1 1 1 1 1顯然這是或的關(guān)系,因此有CC1=(A||B)思路:6二、邏輯判斷CC2:A和D不可能是同案犯可以分析為:A如果是案犯,D一定不是案犯,寫成A&&(!D)D如果是案犯,A一定不是案犯,寫成D&&(!A)這兩者之間是或的關(guān)系,因此有

CC2=!(A&&D) A D A&&D CC2 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 17二、邏輯判斷(A&(!B))||((!A)&&B)這叫“異或”運(yùn)算在數(shù)字邏輯課中表示為在計(jì)算機(jī)中是半加器(二進(jìn)制)8二、邏輯判斷CC3:A、E、F中有兩人涉嫌作案,分析有三種可能第一種,A和E作案,(A&&E)第二種,A和F作案,(A&&F)第三種,E和F作案,(E&&F)這三種可能性是或的關(guān)系,因此有CC3=(A&&E)||(A&&F)||(E&&F)我們寫出CC3的真值表。9二、邏輯判斷AEF CC3111 1110110110111001001001000000010二、邏輯判斷CC4:B和C或同時(shí)作案,或都與本案無(wú)關(guān)第一種情況:同時(shí)作案(B&&C)第二種情況:都與本案無(wú)關(guān)(!B&&!C)兩者為或的關(guān)系,因此有

CC4=(B&&C)||(!B&&!C) BC!B!CB&&C!B&&!CCC3 1100101 1001000 0110000 0011011CC5:C、D中有且僅有一人作案

CC5=(C&&!D)||(D&&!C)11二、邏輯判斷CC6:如果D沒有參與作案,則E也不可能參與作案。分析這一條比較麻煩一些,可以列出真值表再歸納CC6=D||!E1011以上是案情分析,已經(jīng)化成了計(jì)算機(jī)可解的邏輯表達(dá)式

DE!ECC6 含義

1101 D作案,E也作案 可能

1011 D作案,E不作案 可能

0011 D不作案,E也不可能作案可能

0100 D不作案,E卻作案 不可能12二、邏輯判斷2采取枚舉方法,枚舉什么呢?枚舉組合。6個(gè)人每個(gè)人都有作案或不作案兩種可能,因此有種組合,從這些組合中挑出符合6條分析的作案者。定義6個(gè)整數(shù)變量,分別表示6個(gè)人A,B,C,D,E,F(xiàn)。枚舉每個(gè)人的可能性讓0表示不是罪犯;讓1表示就是罪犯。1314二、邏輯判斷為了給出每個(gè)人是否為罪犯的信息,程序中定義了一個(gè)二維數(shù)組。

Charinfo[2][9]={“不是罪犯”,“是罪犯”};有兩個(gè)字串每串最多有9-1個(gè)英文字符是罪犯\0不是罪犯\0012345678info為

數(shù)組名1015二、邏輯判斷char是說(shuō),info數(shù)組的元素為字符,[2]為下標(biāo),表示有兩個(gè)字符串,每個(gè)字符串最多有9-1個(gè)字符。因?yàn)橛⑽淖址家粋€(gè)字節(jié),而漢字占兩個(gè)字節(jié),故四個(gè)漢字要占8個(gè)英文字符的地方。每一字串后面自動(dòng)跟一個(gè)空字符‘\0’因此可以看出:

第0號(hào)字符串info[0]的內(nèi)容為“不是罪犯”。

第1號(hào)字符串info[1]的內(nèi)容為“是罪犯”。16二、邏輯判斷在輸出時(shí)用

printf(“A:%s\n”,info[A]);

如果A為0,則輸出A:不是罪犯

如果A為1,則輸出A:是罪犯參考程序AQFX.c(案情分析)17討論18二、邏輯判斷大家參與討論的題五位跳水高手將參加十米高臺(tái)跳水決賽,有好事者讓五個(gè)人據(jù)實(shí)力預(yù)測(cè)比賽結(jié)果。

A選手說(shuō):B第二,我第三;

B選手說(shuō):我第二,E第四;

C選手說(shuō):我第一,D第二;

D選手說(shuō):C最后,我第三;

E選手說(shuō):我第四,A第一;決賽成績(jī)公布之后,每位選手的預(yù)測(cè)都只說(shuō)對(duì)了一半,即一對(duì)一錯(cuò),請(qǐng)編程解出比賽的實(shí)際名次。19二、邏輯判斷思路:1首先是將五個(gè)人的預(yù)測(cè)寫成邏輯表達(dá)式:

讓關(guān)系運(yùn)算符“==”的含義是“是”。

讓數(shù)字1、2、3、4、5分別表示名次第一、第二,…,第五。

讓整型變量A、B、C、D、E分別表示每個(gè)選手所得名次。

A選手說(shuō):B==2,A==3;

B選手說(shuō):B==2,E==4;

C選手說(shuō):C==1,D==2;

D選手說(shuō):C==5,D==3;

E選手說(shuō):E==4,A==1;20二、邏輯判斷2考慮到每個(gè)人說(shuō)的話是一對(duì)一錯(cuò),即一真一假,比如A說(shuō)的,如B==2為真,則A==3為假,為真取值為1,為假取值為0,則兩個(gè)關(guān)系表達(dá)式之和必為1。即

(B==2)+(A==3)應(yīng)該是1我們可以歸納出要同時(shí)滿足五個(gè)人所說(shuō)的話都符合一半對(duì)一半錯(cuò)的條件是

ta=((B==2)+(A==3))==1;符合A選手的話,則ta為1

tb=((B==2)+(E==4))==1;符合B選手的話,則tb為1

tc=((C==1)+(D==2))==1;符合C選手的話,則tc為1

td=((C==5)+(D==3))==1;符合D選手的話,則td為1

te=((E==4)+(A==1))==1;符合E選手的話,則te為1

因?yàn)閠a,tb,…,te非1即0,五個(gè)條件值都加在一起21二、邏輯判斷3只有等于5時(shí)才都符合每個(gè)人所說(shuō)的話,這僅只是符合題意的一個(gè)必

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論