第一篇:實驗二 字符串與正則表達式
實驗二 字符串與正則表達式
(二)實驗目的:
1、掌握正則表達式的使用 實驗內容:
1、調試課本實例。
2、完成實驗指導(3、正則表達式)
3、編寫一個控制臺應用程序,找出字符串“My friend Bill will pay the bill”中,以“ill”結尾的單詞,并顯示出匹配的位置。
4、處理一個單位的電話列表,取出其中的姓名和電話號碼,并且將它們打印出來,其中電話列表中的每一條記錄的形式如下: Dr.David Jone,Ophthalmology,x2441 Ms.Cindy Harriman,Registry,x6231 Mr.Chester Addams,Mortuary,x6231 Dr.Hawkeye Pierce,Surgery,x0986 ??
提取出其中的姓名和分機的結果如下所示: 2441
Jone
5、如右圖,設計一個Windows窗體用于填寫個人資料,出生日期自動從身份證號碼中提取,在提交時檢查以下內容:(可根據(jù)自己的能力選擇以下一項或多項)(常用的正則表達式:http://wenku.baidu.com/view/908f5022aaea998fcc220e56.html)
? 檢查用戶名是否由6-18個字符組成,組成用戶名的字符只能是英文大小寫字母、數(shù)字、下劃線、漢字; ? 檢查真實姓名是否由2-4個漢字組成;
? 密碼和確認密碼是否一致,是否符合強密碼規(guī)定;
強密碼應該具有如下特征: ? 強密碼長度至少有 8 個字符; ? 不包含全部或部分用戶帳戶名;
? 至少包含以下四類字符中的三類:大寫字母、小寫字母、數(shù)字,以及鍵盤上的符號(如!、@、#); ? 字典中查不到; ? 不是命令名; ? 不是人名; ? 不是用戶名; ? 不是計算機名; ? 定期更改;
? 與以前的密碼明顯不同。? 檢查Email格式;
? 檢查電話號碼是否由11個數(shù)字(手機號)或8位數(shù)字(固定電話)或區(qū)號加固定電話號碼組成; ? 檢查郵政編碼是否由6位數(shù)字組成
? 檢查身份證號碼是否符合以下三種情況:
a、身份證號碼為15位數(shù)字; b、身份證號碼為18位數(shù)字;
c、身份證號碼為17位數(shù)字+1個字母X。
我國現(xiàn)行居民身份證是全國統(tǒng)一編號,由十五位阿拉伯數(shù)字組成,每個公民是一人一號,同年、同月、同日所出生的按地區(qū)人數(shù),按縣固定次序進行合理分配順序號代碼。做到不重、不漏、不錯。編號排列的含義是:
1、第l一6位數(shù)為行政區(qū)劃代碼;
2、第7—12位數(shù)為出生日期代碼;
3、第13---15位數(shù)為分配順序代碼;
(1)、行政區(qū)劃代碼,是指公民第一次申領居民身份證時的常住戶口所在地的行政地區(qū)。
(2)、出生日期代碼,第7—8位數(shù)代表年份(年份前面二位數(shù)省略),第9—10位數(shù)代表月份(月份為l位數(shù)的前面加零)。第11一12位數(shù)代表日期(日期為1位數(shù)的前面加零)。(3)、分配順序代碼,是按人口數(shù)統(tǒng)一合理分配以固定順序給予每個人的順序號,最末一位數(shù)是奇數(shù)的分配給男性,偶數(shù)分配給女性。
新式身份證號碼是否還和舊式身份證號碼一樣,男的尾號為單數(shù),女的尾號為雙數(shù)?
國務院規(guī)定,自1999年10月1日起在全國建立和實行公民身份證號碼制度。
公民身份證號碼按照GB11643—1999《公民身份證號碼》國家標準編制,由18位數(shù)字組成:前6位為行政區(qū)劃分代碼,第7位至14位為出生日期碼,第15位至17位為順序碼,第18位為校驗碼。
第18位號碼是校驗碼,目的在于檢測身份證號碼的正確性,是由計算機隨機產生的,所以不再是男性為單數(shù),女性為雙數(shù)。作為尾號的校驗碼,是由號碼編制單位按統(tǒng)一的公式計算出來的,如果某人的尾號是0-9,都不會出現(xiàn)X,但如果尾號是10,那么就得用X來代替,因為如果用10做尾號,那么此人的身份證就變成了19位,而19位的號碼違反了國家標準,并且我國的計算機應用系統(tǒng)也不承認19位的身份證號碼。Ⅹ是羅馬數(shù)字的10,用X來代替10,可以保證公民的身份證符合國家標準。但是我國的居民身份證在升位后,一些人的尾號變成了X。檢查不合格時彈出消息框提示,例如: MessageBox.Show(“電話號碼錯誤”,“個人資料填寫錯誤”,MessageBoxButtons.OK,MessageBoxIcon.Error);
第二篇:實驗:字符數(shù)組與字符串
實驗11:字符數(shù)組與字符串
一、實驗目的1、理解字符數(shù)組和字符串的概念。
2、掌握字符數(shù)組的定義、初始、數(shù)組元素引用、輸入輸出。
3、掌握字符數(shù)組的處理
4、掌握常用字符串處理函數(shù)
二、實驗內容
1、編制程序:對鍵盤輸入的字符串進行逆序,逆序后的字符串仍然保留在原來字符數(shù)組中,最后輸出。
(1)不得調用任何字符串處理函數(shù),包括strlen;
(2)允許使用可用的字符串處理函數(shù)。
例如:輸入hello world 輸出dlrow olleh2、編寫程序:對鍵盤輸入的兩個字符串進行連接。
(1)盡管我們知道strcat()可以簡單完成此任務,仍然規(guī)定不得調用任何字符串處理函數(shù),包括strlen;
(2)允許使用可用的字符串處理函數(shù)。
例如:輸入hello
(1)不得調用任何字符串處理函數(shù),包括strlen;
(2)允許使用可用的字符串處理函數(shù)。
例如:輸入:Hello World!輸出:hELLO wORLD!
三、實驗小結
實驗中碰到的問題,以及思考。
第三篇:實驗二
實驗二 總賬管理系統(tǒng)初始設置
【實驗目的】
1.掌握用友ERP-U8管理軟件中總賬管理系統(tǒng)初始設置的相關內容。
2.理解總賬管理系統(tǒng)初始設置的意義。
3.掌握總賬管理系統(tǒng)初始設置的具體內容和操作方法。
【實驗內容】
1.總賬管理系統(tǒng)參數(shù)設置。
2.基礎檔案設置:會計科目、憑證類別、外幣及匯率、結算方式、輔助核算檔案等。
3.期初余額錄入。
【實驗準備】
引入“實驗一”賬套數(shù)據(jù):
1.以系統(tǒng)管理員身份注冊進入系統(tǒng)管理。
2.選擇“實驗一”賬套數(shù)據(jù)所在的D盤,找到帳套文件UfErpAct.Lst,單擊“確認”按鈕,引入賬套。
【實驗要求】
以帳套主管“陳明”的身份進行總賬初始設置。
【實驗步驟】
1.登錄總賬。
雙擊打開桌面的“企業(yè)應用平臺”,以“陳明”的身份登入。在“業(yè)務”選項卡中,單擊“財務會計——總賬”選項,展開總賬下級菜單。
2.設置總賬控制參數(shù)。
3.設置基礎數(shù)據(jù):外幣及匯率、憑證類別、結算方式、項目目錄,建立會計科目等。
4.輸入期初余額:錄入完后,要試算平衡,若試算不平衡會影響下面的操作。
【實驗心得】
通過這次實驗,掌握了總賬管理系統(tǒng)的概念、功能及與其他系統(tǒng)的關系、設置控制系數(shù)、設置基礎數(shù)據(jù)、輸入期初余額等內容。總賬管理系統(tǒng)是財務及企業(yè)管理軟件的核心系統(tǒng),適用于各行業(yè)賬務核算及管理工作??傎~管理系統(tǒng)既可以獨立運行,也可以同其他系統(tǒng)協(xié)同運行。總賬管理主要功能有:初始設置、憑證管理、出納管理、賬簿管理、輔助核算管理和月末處理??傎~管理系統(tǒng)的重要地位不可忽視,其他管理如:工資管理、固定資產、應收應付款、資金管理、成本管理、存貨管理等都是在圍繞著總賬管理來運作的??傎~管理系統(tǒng)最后一步是期末處理,主要包括銀行對賬、自動轉帳、對賬、月末處理和年末處理。手工做賬數(shù)量不多但是業(yè)務種類繁雜時間緊迫,而在計算機操作下許多期末處理具有規(guī)律性,不但減少會計人員的工作量而且加強了財務核算的規(guī)范性。
通過對總賬管理的學習,我基本掌握了總賬管理中系統(tǒng)初始化、日常業(yè)務處理和期末業(yè)務處理的內容、工作原理和應用方法。了解了總賬系統(tǒng)與其他子系統(tǒng)之間的關系、總賬管理中錯誤憑證的修改方法、銀行對賬的方法和各種賬表資料的作用和查詢方法。
第四篇:實驗二
北京理工大學珠海學院實驗報告
ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 班級:10自動化 學號:100104031036 姓名:傅萬年 指導教師:雷劍剛 成績: 實驗題目:練習選擇結構 實驗時間:2011-4-19
題目一:1.編程判斷輸入整數(shù)的正負性和奇偶性。代碼:#include
題目二:2.有3個整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。代碼:#include 題目三:3.分別使用if語句和switch語句,以10分為一段,分別輸出實際成績和所在分數(shù)段。 代碼:#include printf(“please input the score:”);scanf(“%d”,&score);if(score>=90)printf(“good”);else if(score>=80&&score<=89)printf(“beter”);else if(score>=70&&score<=79)printf(“middle”);else if(score>=60&&score<=69)printf(“ok”);else printf(“no ok”);} 結果截圖: 實驗小結:通過本次實驗我知道了路徑問題將影響實驗,所以實驗前一定要設好路徑。 一、實驗目的 1. 熟練掌握step()函數(shù)和impulse()函數(shù)的使用方法,研究線性系統(tǒng)在單位階躍、單位脈沖及單位斜坡函數(shù)作用下的響應。2. 通過響應曲線觀測特征參量?和 ?n對二階系統(tǒng)性能的影響。 3. 熟練掌握系統(tǒng)的穩(wěn)定性的判斷方法。 二、實驗內容 1.觀察函數(shù)step()和impulse()的調用格式,假設系統(tǒng)的傳遞函數(shù)模型為 s2?3s?7G(s)?4s?4s3?6s2?4s? 1可以用幾種方法繪制出系統(tǒng)的階躍響應曲線?試分別繪制。 2.對典型二階系統(tǒng) ?n2G(s)?22s?2??s??nn (1)分別繪出?n?2(rad/s),?分別取0,0.25,0.5,1.0和2.0時的單位階躍響應曲線,分析參數(shù)?對系統(tǒng)的影響,并計算?=0.25時的時域性能指標(2)繪制出當?=0.25,?p,tr,tp,ts,ess。 ?n分別取1,2,4,6時單位階躍響應曲線,?分析參數(shù)n對系統(tǒng)的影響。 432(3)系統(tǒng)的特征方程式為2s?s?3s?5s?10?0,試用二種判穩(wěn)方式判別該系統(tǒng)的穩(wěn)定性。 (4)單位負反饋系統(tǒng)的開環(huán)模型為 G(s)? K(s?2)(s?4)(s2?6s?25) 試分別用勞斯穩(wěn)定判據(jù)和赫爾維茨穩(wěn)定判據(jù)判斷系統(tǒng)的穩(wěn)定性,并求出使得閉環(huán)系統(tǒng)穩(wěn)定的K值范圍。 三、實驗結果及分析 1.可以用兩種方法繪制系統(tǒng)的階躍響應曲線。(1)用函數(shù)step()繪制 MATLAB語言程序: >> num=[ 0 0 1 3 7]; >> den=[1 4 6 4 1 ]; >>step(num,den); >> grid; >>xlabel('t/s');ylabel('c(t)');title('step response'); MATLAB運算結果: (2)用函數(shù)impulse()繪制 MATLAB語言程序: >> num=[0 0 0 1 3 7]; >> den=[1 4 6 4 1 0]; >> impulse(num,den); >> grid; >> xlabel('t/s');ylabel('c(t)');title('step response'); MATLAB運算結果: 2.(1)?n?2(rad/s),?分別取0,0.25,0.5,1.0和2.0時的單位階躍響應曲線的繪制: MATLAB語言程序: >> num=[0 0 4]; >> den1=[1 0 4]; >> den2=[1 1 4]; >> den3=[1 2 4]; >> den4=[1 4 4]; >> den5=[1 8 4]; >> t=0:0.1:10; >> step(num,den1,t); >> grid >> text(2,1.8,'Zeta=0'); hold Current plot held >> step(num,den2,t); >> text(1.5,1.5,'0.25'); >> step(num,den3,t); >> text(1.5,1.2,'0.5'); >> step(num,den4,t); >> text(1.5,0.9,'1.0'); >> step(num,den5,t); >> text(1.5,0.6,'2.0'); >> xlabel('t');ylabel('c(t)');title('Step Response '); MATLAB運算結果: 實驗結果分析: 從上圖可以看出,保持 ?n?2(rad/s)不變,?依次取值0,0.25,0.5,1.0和2.0時,系統(tǒng)逐漸從欠阻尼系統(tǒng)過渡到臨界阻尼系統(tǒng)再到過阻尼系統(tǒng),系統(tǒng)的超調量隨?的增大而減小,上升時間隨?的增大而變長,系統(tǒng)的響應速度隨?的增大而變慢,系統(tǒng)的穩(wěn)定性隨?的增大而增強。相關計算: ?n?2(rad/s),?=0.25時的時域性能指標?p,tr,tp,ts,ess的計算: (2)?=0.25, ?n分別取1,2,4,6時單位階躍響應曲線的繪制: MATLAB語言程序: >> num1=[0 0 1]; >> den1=[1 0.5 1]; >> t=0:0.1:10; >> step(num1,den1,t); >> grid; hold on >> text(2.5,1.5,'wn=1'); >> num2=[0 0 4]; >> den2=[1 4]; >> step(num2,den2,t);hold on >> text(1.5,1.48,'wn=2'); >> num3=[0 0 16]; >> den3=[1 16]; >> step(num3,den3,t);hold on >>text(0.8,1.5,'wn=4'); >> num4=[0 0 36]; >> den4=[1 36]; >> step(num4,den4,t);hold on >> text(0.5,1.4,'wn=6'); >> xlabel('t');ylabel('c(t)');title('Step Response '); MATLAB運算結果: 實驗結果分析: 從上圖可以看出,保持?=0.25不變,?n依次取值1,2,4,6時,系統(tǒng)超調量不變,延遲時間、上升時間、峰值時間、調節(jié)時間均減小,系統(tǒng)響應速度變快,穩(wěn)定性變強。 3.特征方程式為2s?s?3s?5s?10?0的系統(tǒng)的穩(wěn)定性的判定:(1)直接求根判定穩(wěn)定性 MATLAB語言程序及運算結果: >> roots([2,1,3,5,10]) ans= 0.7555 + 1.4444i; 0.75550.9331i; 判定結論: 系統(tǒng)有兩個不穩(wěn)定的根,故該系統(tǒng)不穩(wěn)定。(2)用勞斯穩(wěn)定判據(jù)routh()判定穩(wěn)定性 MATLAB語言程序及運算結果和結論: >> den=[2,1,3,5,10]; >> [r,info]=routh(den) r = 2.0000 3.0000 10.0000 432 1.0000 5.0000 0 -7.0000 10.0000 0 6.4286 0 0 10.0000 0 0 Info= 所判定系統(tǒng)有 2 個不穩(wěn)定根! >> 4.開環(huán)模型為 G(s)?K(s?2)(s?4)(s2?6s?25)的單位負反饋系統(tǒng)穩(wěn)定性的判定(勞斯判據(jù)判定)(系統(tǒng)特征方程式為D(s)=(s+2)(s+4)(s2+6s+25)+K=0): MATLAB語言程序及運算結果和結論: (取K=200) den=[1,12,69,198,200]; [r,info]=routh(den) r = 1.0000 69.0000 200.0000 12.0000 198.0000 0 52.5000 200.0000 0 152.2857 0 0 200.0000 0 0 info = 所要判定系統(tǒng)穩(wěn) 繼續(xù)取K的值,試探: (取K=350) den=[1,12,69,198,350]; [r,info]=routh(den) r = 1.0000 69.0000 350.0000 12.0000 198.0000 0 52.5000 350.0000 0 118.0000 0 0 350.0000 0 0 info = 所要判定系統(tǒng)穩(wěn)定! (取K=866.3) den=[1,12,69,198,866.3]; [r,info]=routh(den) r = 1.0000 69.0000 866.3000 12.0000 198.0000 0 52.5000 866.3000 0 -0.0114 0 0 866.3000 0 0 info = 所判定系統(tǒng)有 2 個不穩(wěn)定根! (取K=866.2) den=[1,12,69,198,866.2]; [r,info]=routh(den) r = 1.0000 69.0000 866.2000 12.0000 198.0000 0 52.5000 866.2000 0 0.0114 0 0 866.2000 0 0 info = 所要判定系統(tǒng)穩(wěn)定! (取K=866.25) den=[1,12,69,198,866.25]; [r,info]=routh(den) r = 1.0000 69.0000 866.2500 12.0000 198.0000 0 52.5000 866.2500 0 105.0000 0 0 866.2500 0 0 info = 所要判定系統(tǒng)穩(wěn)定! (取K=866.26) den=[1,12,69,198,866.26]; [r,info]=routh(den) r = 1.0000 69.0000 866.2600 12.0000 198.0000 0 52.5000 866.2600 0 -0.0023 0 0 866.2600 0 0 info = 所判定系統(tǒng)有 2 個不穩(wěn)定根!結論: 由試探可得,在K=866.25系統(tǒng)剛好穩(wěn)定,則可知時系統(tǒng)穩(wěn)定的K值范圍為0 本次實驗我們初步熟悉并掌握了step()函數(shù)和impulse()函數(shù)的使用方法以及 判斷閉環(huán)系統(tǒng)穩(wěn)定的方法。 在實驗中,我們根據(jù)內容要求,寫出調試好的MATLAB語言程序,并調用step() 函數(shù) s2?3s?7G(s)?4s?4s3?6s2?4s?1在取不同的?n和不 同和impulse()函數(shù)求出了控制系統(tǒng)的?時在單位階躍和單位脈沖作用下的瞬態(tài)響應,然后記錄各種輸出波形,并根據(jù)實 驗結果分析了參數(shù)變化對系統(tǒng)的影響。 控制系統(tǒng)穩(wěn)定的充要條件是其特征方程的根均具有負實部。因此,為了判別系統(tǒng) 的穩(wěn)定性,就要求出系統(tǒng)特征方程的根,并檢驗它們是否都具有負實部。MATLAB中對多 項式求根的函數(shù)為roots()函數(shù)。所以我們可以直接求根判定系統(tǒng)的穩(wěn)定性。 我們也可 以用勞斯穩(wěn)定判據(jù)判定系統(tǒng)的穩(wěn)定性,勞斯判據(jù)的調用格式為:[r, info]=routh(den),該函數(shù)的功能是構造系統(tǒng)的勞斯表,其中,den為系統(tǒng)的分母多項式系數(shù)向量,r為返回的routh表矩陣,info為返回的routh表的附加信息。在實驗中我們通過調用 G(s)?這兩個函數(shù),判定了系統(tǒng) K(s?2)(s?4)(s2?6s?25)的穩(wěn)定性并求得了使其穩(wěn)定的K值范圍。 整個實驗過程的操作和觀察使得我們對二階系統(tǒng)的動態(tài)性能及其參數(shù)對其的影響、系統(tǒng)的穩(wěn)定性及其判定有了更深刻的認識,也深深的體會到了Matalab軟件的功能的強 大并意識到了掌握其相關應用的必要性。第五篇:實驗二