對PL0原編譯器進行了以下的擴充:1.增加以下保留字else(elsesym), for(forsym),to(tosym),downto(downtosym),return(returnsym),[(lmparen),](rmparen) 2.增加了以下的運算符:+=(eplus),-=(eminus),++(dplus),--(dminus) 取址運算符&(radsym),指向運算符@(padsym) 3.修改單詞:修改不等號#為<> 4.擴充語句:(1)增加了else子句 (2)增加了for語句 5.增加運算:(1).++運算 (2).--運算;(3).+=運算 (4).-=運算;(5).&取址運算; (6).@指向運算; 6.增加類型:(1).增加多維數組a[i1][i2][i3]……[i(n-1)][i(n-2)][in] (2).增加指針類型(任何變量都能存放指針,但不支持指針的指針,如b:=@@a應該改寫為c:=@a,b:=@c) 7.將過程procedure擴展為函數:(1).允許定義過程時在其后加參數(var a, var b,……..,var n) (2)允許通過指針向函數形式參數傳地址;(3)允許返回值;可以用 a:=p(a,b,c….,n) 返回
標簽: downtosym returnsym elsesym downto
上傳時間: 2016-07-02
上傳用戶:saharawalker
Trie樹既可用于一般的字典搜索,也可用于索引查找。對于給定的一個字符串a1,a2,a3,...,an.則采用TRIE樹搜索經過n次搜索即可完成一次查找。不過好像還是沒有B樹的搜索效率高,B樹搜索算法復雜度為logt(n+1/2).當t趨向大,搜索效率變得高效。怪不得DB2的訪問內存設置為虛擬內存的一個PAGE大小,而且幀切換頻率降低,無需經常的PAGE切換。
標簽: Trie 樹 搜索
上傳時間: 2016-07-06
上傳用戶:sk5201314
設平面上分布著n個白點和n個黑點,每個點用一對坐標(x, y)表示。一個黑點b=(xb,yb)支配一個白點w=(xw, yw)當且僅當xb>=xw和yb>=yw。若黑點b支配白點w,則黑點b和白點w可匹配(可形成一個匹配對)。在一個黑點最多只能與一個白點匹配,一個白點最多只能與一個黑點匹配的前提下,求n個白點和n個黑點的最大匹配對數。
標簽: 分布
上傳時間: 2013-12-20
上傳用戶:米卡
一元稀疏多項式計算器的基本功能是: (1)輸入并建立多項式; (2)輸出多項式,輸出形式為整數序列:n,c1,e1,c2,e2,….,cn,en, 其中n是多項式的項數,ci和ei分別是第I項的系數和指數,序列按照指數降序排列; (3)多項式a和b相加,建立多項式a+b (4)多項式a和b相減,建立多項式a-b.
標簽: 多項式 稀疏 計算器 輸入
上傳時間: 2016-10-25
上傳用戶:時代電子小智
編寫一個java應用程序。用戶從鍵盤輸入一個1-9999之間的數,程序將判斷這個數是幾位數,并判斷這個數是否回文數。回文數是指將數含有的數字逆序排列后得到的數和原數相同,例如12121,4224,6778776等都是回文數。 1)程序具有判斷用戶的輸入是否為合法整數的功能。對非法輸入(例如含有字母)要進行處理。 2)要判斷輸入數的位數,并輸出相關信息。 3)要判斷是否回文數。 二、二戰期間,英國情報人員獲取德軍的一機密電報,電報的內容為: bzdz izu sxgzd vs lh ,vpzg woflsh vs vwrh vhlsddlmp glm wrw gzy vsg .gflyz gstfzu bvsg gzsd hdmlp vml lm ,hghzvy wmz hwiry mvvdgvy izd z hzd vivsg ,ltz tmlo tmlO 情報人員已經知道,這段電報的加密方式為: 1. 首先將字符串的順序顛倒。 2. 字母互換的規律為:A->Z, B-Y, C-X...X->C, Y->B, Z-A a->z, b->y, c-x...x->c, y->b, z->a. 3. 非字母字符保持不變。 請編程幫助情報人員破譯這份機密電報。給出注釋良好的源程序和程序運行后的結果。
標簽: java 9999 編寫 應用程序
上傳時間: 2017-06-02
上傳用戶:dengzb84
現在,有兩個正整數A和B,例如A是345,B是478,現在,需要把B插入到A里, 而A有三位,所以有四個位置選擇,所得結果分別是: 478345, 347845, 344785, 345478 我們通過對比可以知道,在這當中最小的一個是344785 這兩個正整數長度不超過100000位,各個位均不包含數字0 現在的目標是,要找出插入后所能得到的最小的整數,輸出這個整數
標簽:
上傳時間: 2014-01-05
上傳用戶:jackgao
求a^b的后四位,a,b可為long long 型整數
標簽: 求a^b的后四位
上傳時間: 2015-12-16
上傳用戶:afqwer
#include "iostream" using namespace std; class Matrix { private: double** A; //矩陣A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //為向量b分配空間并初始化為0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //為向量A分配空間并初始化為0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析構中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"請輸入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"請輸入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"個:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分別求得U,L的第一行與第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分別求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"計算U得:"<<endl; U.Disp(); cout<<"計算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
標簽: 道理特分解法
上傳時間: 2018-05-20
上傳用戶:Aa123456789
在包 hugeinteger 中創建功能類 HugeInteger,該類用來存放和操作一個不超過 40 位的大整數。 (1) 定義一個構造函數,用來對大整數進行初始化。參數為一個字符串。 (2) 定義 input 成員函數,實現大整數的重新賦值。參數為一個字符串,無返回 值。 (3) 定義 output 成員函數,將大整數輸出到屏幕上。無參數無返回值。 (4) 定義 add 成員函數,實現兩個大整數的加法。參數為一個 HugeInteger 對 象,無返回值,例如: HugeInteger A = new HugeInteger("12345"); HugeInteger B = new HugeInteger("1234"); A.add(B); 此時,A 為 13579,B 為 1234。 (5) 定義 sub 成員函數,實現兩個大整數的減法。參數和返回值同 add 函數。 (6) 定義若干大整數關系運算的成員函數,包括 isEqualTo(等于,=)、 isNotEqualTo(不等于,≠)、isGreaterThan(大于,>)、isLessThan(小 于,<)、isGreaterThanOrEqualTo(大于等于,≥)和 isLessThanOrEqualTo (小于等于,≤)。這些函數的參數為一個 HugeInteger 對象,返回值為一個 布爾類型,表示關系運算的結果,例如: HugeInteger A = new HugeInteger("12345"); HugeInteger B = new HugeInteger("1234"); 那么此時 A.isGreaterThan(B)的結果應當為 True,表示 12345>1234。
標簽: java 整數 運算
上傳時間: 2019-06-01
上傳用戶:idealist
一.產品描述 提供8個觸摸感應按鍵,二進制(BCD)編碼輸出,具有一個按鍵承認輸出的顯示,按鍵後的資料會維持到下次按鍵,可先判斷按鍵承認的狀態。提供低功耗模式,可使用於電池應用的產品。對於防水和抗干擾方面有很優異的表現! 二.產品特色 1.工作電壓範圍:3.1V – 5.5V 2. 工作電流: 3mA (正常模式);15 uA (休眠模式) @5V 3. 8 個觸摸感應按鍵 4.持續無按鍵 4 秒,進入休眠模式 5. 提供二進制(BCD)編碼直接輸出介面(上電 D2~D0/111) 6. 按鍵後離開,輸出狀態會維持到下次按鍵才會改變。 7. 提供按鍵承認有效輸出,當有按鍵時輸出低電平,無按鍵為高電平。 8. 可以經由調整 CAP 腳的外接電容,調整靈敏度,電容越大靈敏度越高 9. 具有防水及水漫成片水珠覆蓋在觸摸按鍵面板,按鍵仍可有效判別 10. 內建 LDO 增加電源的抗干擾能力 三.產品應用 各種大小家電,娛樂產品 四.功能描述 1.VK3708BM 於手指按壓觸摸盤,在 60ms 內輸出對應按鍵的狀態。 2.單鍵優先判斷輸出方式處理, 如果 K1 已經承認了, 需要等 K1 放開後, 其他按鍵才能再被承認,同時間只有一個按鍵狀態會被輸出。 3.具有防呆措施, 若是按鍵有效輸出連續超過 10 秒, 就會做復位。 4.環境調適功能,可隨環境的溫濕度變化調整參考值,確保按鍵判斷工作正常。 5.可分辨水與手指的差異,對水漫與水珠覆蓋按鍵觸摸盤,仍可正確判斷按鍵動作。但水不可於按鍵觸摸盤上形成“水柱”,若如此則如同手按鍵一般,會有按鍵承認輸出。 6.內建 LDO 及抗電源雜訊的處理程序,對電源漣波的干擾有很好的耐受能力。 7.不使用的按鍵請接地,避免太過靈敏而產生誤動。 聯系人:許碩 QQ:191 888 5898 聯系電話:188 9858 2398(微信)
標簽: KEYS 3708 SOP 16 BM VK 抗干擾 防水 省電
上傳時間: 2019-08-08
上傳用戶:szqxw1688
蟲蟲下載站版權所有 京ICP備2021023401號-1