![程序判定合式公式_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b1.gif)
![程序判定合式公式_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b2.gif)
![程序判定合式公式_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b3.gif)
![程序判定合式公式_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b4.gif)
![程序判定合式公式_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b/a8d20e9c-f7f5-4a5b-8e05-59f74e0d6f5b5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、合式公式的判定1、 基本概念1、合式公式: (1)單個(gè)命題常項(xiàng)或變項(xiàng)是合式公式;(2)如果A是合式公式,則A也是合式公式;(3)如果A,B是合式公式,則PQ、PQ、PQ、 PQ也是合式公式; (4)只有有限次地應(yīng)用(1)(3)所包含的命題變?cè)?,?lián)結(jié)詞和括號(hào)的符號(hào)串是 合式公式。2、設(shè)命題集合Lp:C1,C2,Cn 長(zhǎng)度:語(yǔ)言構(gòu)成元素的數(shù)目 表達(dá)式u=v:指長(zhǎng)度相等且從左向右比處處相等 初始段:從最左端開(kāi)始向右掃描 結(jié)尾段:從最右端開(kāi)始向左掃描2、 編程思路假定 給定的程序變量為U ,U為L(zhǎng)p 表達(dá)式,代表輸入的帶判定的字符串又記“*”代表“”,“”,“”,“”四種之一。則:1、空表達(dá)式不是合適
2、公式的表達(dá)式。返回NO2、單獨(dú)的一個(gè)符號(hào)是一個(gè)公式時(shí),當(dāng)且僅當(dāng)此符號(hào)為命題符號(hào)3、如果U的長(zhǎng)度大于1,則U 必須以“(”開(kāi)頭,否則不是合式公式,返回NO。(1)如果U的第二個(gè)符號(hào)為一個(gè)表示否定的“” ,則U必須是可以匹配(V) 模式, 其中V是一個(gè)表達(dá)式。否則U不是合式公式,即U是合式公式當(dāng)且僅當(dāng)V是合式公式。 于是,遞歸判斷V是否為合式公式,轉(zhuǎn)入1、重頭開(kāi)始判斷。(2)如果U的第二個(gè)符號(hào)不是“”。則U一定要符合(A*B)模式。 對(duì)U從左向右掃描,遇到“(A”停止,其中A是一個(gè)含有相同數(shù)目的“(”和“)” 的表達(dá)式,如果沒(méi)有,則U不是合式公式,返回NO。 對(duì)U從右向左掃描,遇到“B)”停止,其
3、中B是一個(gè)含有相同數(shù)目“(”和“)”的 表達(dá)式,如果沒(méi)有,則U不是合式公式,返回NO。 驗(yàn)證(A*B)的“*”是否是“”,“”,“”,“”四種之一,如果不是,則U 不是合式公式,返回NO。 遞歸判斷A,B是否為合式公式,轉(zhuǎn)入1、重頭開(kāi)始判斷3、 程序代碼#include<stdio.h>#include<string.h>#include<stdlib.h>void check(char *str1);int main(void) int index = 1 ; int keyNum = 1 ;static char string50 ;/ 友好界面,循環(huán)使
4、用判斷 while( index != 0 ) printf("歡迎使用合式公式判斷系統(tǒng)n");printf("合式公式()不可以省略n");printf("用- 表示非n");printf("用* 表示與n");printf("用+ 表示或n");printf("用> 表示蘊(yùn)涵n");printf("用 表示等值n");printf("請(qǐng)輸入您要判斷識(shí)別的字符串:n"); scanf("%s",&st
5、ring); check(string); printf("請(qǐng)選擇:0-退出系統(tǒng);1-繼續(xù)判斷其它字符串n"); scanf( "%d", &keyNum ) ;if(keyNum = 0)break;elsecontinue; / 合式公式字符串的判讀void check(char *str1)char formal50;int len = 0;/ 獲取字符串的長(zhǎng)度并且去除空格while( *str1 != '0')if(*str1 != ' ')formallen = *str1;len+;str1+;form
6、allen = '0'printf("字符串%st有效長(zhǎng)度:%dn",formal,len);/ 空字符串不是合式公式if(len = 0)printf("字符串為空ntttNO!tt該字符串不是合式公式n");return;/ 單獨(dú)的一個(gè)符號(hào)是一個(gè)公式時(shí),當(dāng)且僅當(dāng)次符號(hào)為命題符號(hào)else if(len = 1)if(!isalpha(formal0)printf("字符串%s不是合適字母ntttNO!tt該字符串不是合式公式n",formal);return;elseprintf("tttYES!tt字符串
7、%s 是合式公式n",formal);return;/ 如果U的長(zhǎng)度大于,則U 必須以“(”開(kāi)頭,否則不是合式公式,返回NO。elseif( (formal0 != '(') | (formallen-1 != ')')printf("字符串%s 沒(méi)有以“(”開(kāi)始或者以“)”結(jié)束ntttNO!tt該字符串不是合式公式n",formal);return;else/ 如果U的第二個(gè)符號(hào)為一個(gè)表示否定的“”,則U必須是可以匹配(V)模式if(formal1 = '-')char newstring50 ;int i = 0
8、;for(i = 0; i < len - 3; i+)newstringi = formal2+i;newstringi = '0'check(newstring); / 遞歸判斷V是否為合式公式/如果U的第二個(gè)符號(hào)不是“”。則U一定要符合(A*B)模式。elseint j = 0;int max1 = 0;int max2 = 0;int aindex = 0;int bindex = 0;int prenum = 0;int rearnum = 0;char Astring50 ;char Bstring50 ;/ 對(duì)U從左向右掃描,遇到“(A”停止,其中A是一個(gè)含
9、有相同數(shù)目的“(”和“)”的表達(dá)式for(j = 0; j < len; j+)if(formalj = '(')prenum+;max1+;else if(formalj = ')')prenum-;if(prenum = 1 )aindex = j;break;if(prenum = 0 && max1 = 1)prenum+;/ 如果沒(méi)有,則U不是合式公式,返回NO。if(prenum != 1)printf("字符串%s 中沒(méi)有掃描到(A ntttNO!tt該字符串不是合式公式n",formal);return
10、;/截取新的短的字符串Aif(max1 = 1)Astring0 = formal1;Astring1 = '0'elsefor(j = 0; j < aindex; j+)Astringj = formal1+j;Astringj = '0'/ 對(duì)U從右向左掃描,遇到“B)”停止,其中B是一個(gè)含有相同數(shù)目“(”和“)”的表達(dá)式max2 = 0;for(j = len - 1; j >= 0; j-)if(formalj = ')')rearnum+;max2+;else if(formalj = '(')rearnu
11、m-;if(rearnum = 1)bindex = j;break;if(rearnum = 0 && max2 = 1)rearnum+;/ 如果沒(méi)有,則U不是合式公式,返回NO。if(rearnum != 1 )printf("字符串%s 中沒(méi)有掃描到 B)ntttNO!tt該字符串不是合式公式n",formal);return;/截取新的短的字符串Bif(max2 = 1)Bstring0 = formallen-2;Bstring1 = '0'elsefor(j = 0; (bindex + j) < len - 1; j+)
12、Bstringj = formalbindex+j;Bstringj = '0'/ 驗(yàn)證(A*B)的“*”是否是“”,“”,“”,“”四種之一if(max1 = 1 && max2 = 1)if( formal2 = '*' | formal2 = '+' | formal2 = '>' | formal2 = '' )/ 遞歸判斷A,B是否為合式公式check(Astring); check(Bstring);elseprintf("字符串% s中連接符不對(duì)ntttNO!tt該字符串不是合式公式n",formal);return;elseif(aindex != bindex - 2)if(max1 != 1 && max2 !=1 )printf("字符串% s中(A*B)不對(duì)ntttNO!tt該字符串不是合式公式n",formal);return;if( formalaindex + 1 = '*' | formalaindex + 1 = '+' | formalai
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代學(xué)生餐廳的照明與色彩搭配藝術(shù)
- 深度解讀網(wǎng)絡(luò)輿情的來(lái)源與影響研究報(bào)告解讀分享
- 現(xiàn)代金融行業(yè)中的移動(dòng)支付技術(shù)與教育普及
- 快手國(guó)慶節(jié)的活動(dòng)方案
- 國(guó)慶假期活動(dòng)方案
- 國(guó)慶節(jié)酒店漲價(jià)活動(dòng)方案
- 2、3、4的乘法口訣(說(shuō)課稿)-2024-2025學(xué)年二年級(jí)上冊(cè)數(shù)學(xué)人教版
- Unit1 There is a horse in this photo(說(shuō)課稿)-2024-2025學(xué)年外研版(三起)四年級(jí)上冊(cè)001
- 17《他們那時(shí)候多有趣啊》(說(shuō)課稿)-2023-2024學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)下冊(cè)
- 13 我能行(說(shuō)課稿)-統(tǒng)編版(五四制)道德與法治二年級(jí)下冊(cè)
- 2025年廣州中醫(yī)藥大學(xué)順德醫(yī)院(佛山市順德區(qū)中醫(yī)院)招考聘用高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年華僑港澳臺(tái)學(xué)生聯(lián)招考試英語(yǔ)試卷試題(含答案詳解)
- 2025-2030年中國(guó)美容院行業(yè)營(yíng)銷創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2024-2025學(xué)年北京石景山區(qū)九年級(jí)初三(上)期末語(yǔ)文試卷(含答案)
- 第一章 整式的乘除 單元測(cè)試(含答案) 2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)下冊(cè)
- 2024人教版英語(yǔ)七年級(jí)下冊(cè)《Unit 3 Keep Fit How do we keep fit》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
- 藥品流通監(jiān)管培訓(xùn)
- JD37-009-2024 山東省存量更新片區(qū)城市設(shè)計(jì)編制技術(shù)導(dǎo)則
- 中國(guó)高血壓防治指南(2024年修訂版)
- 北京市海淀區(qū)重點(diǎn)中學(xué)2025屆高考數(shù)學(xué)押題試卷含解析
- 2024EPC施工總包合同范本
評(píng)論
0/150
提交評(píng)論