本代碼為編碼開關代碼,編碼開關也就是數字音響中的 360度旋轉的數字音量以及顯示器上用的(單鍵飛梭開 關)等類似鼠標滾輪的手動計數輸入設備。 我使用的編碼開關為5個引腳的,其中2個引腳為按下 轉輪開關(也就相當于鼠標中鍵)。另外3個引腳用來 檢測旋轉方向以及旋轉步數的檢測端。引腳分別為a,b,c b接地a,c分別接到P2.0和P2.1口并分別接兩個10K上拉 電阻,并且a,c需要分別對地接一個104的電容,否則 因為編碼開關的觸點抖動會引起輕微誤動作。本程序不 使用定時器,不占用中斷,不使用延時代碼,并對每個 細分步數進行判斷,避免一切誤動作,性能超級穩定。 我使用的編碼器是APLS的EC11B可以參照附件的時序圖 編碼器控制流水燈最能說明問題,下面是以一段流水 燈來演示。
上傳時間: 2017-07-03
上傳用戶:gaojiao1999
【問題描述】 在一個N*N的點陣中,如N=4,你現在站在(1,1),出口在(4,4)。你可以通過上、下、左、右四種移動方法,在迷宮內行走,但是同一個位置不可以訪問兩次,亦不可以越界。表格最上面的一行加黑數字A[1..4]分別表示迷宮第I列中需要訪問并僅可以訪問的格子數。右邊一行加下劃線數字B[1..4]則表示迷宮第I行需要訪問并僅可以訪問的格子數。如圖中帶括號紅色數字就是一條符合條件的路線。 給定N,A[1..N] B[1..N]。輸出一條符合條件的路線,若無解,輸出NO ANSWER。(使用U,D,L,R分別表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【輸入格式】 第一行是數m (n < 6 )。第二行有n個數,表示a[1]..a[n]。第三行有n個數,表示b[1]..b[n]。 【輸出格式】 僅有一行。若有解則輸出一條可行路線,否則輸出“NO ANSWER”。
標簽: 點陣
上傳時間: 2014-06-21
上傳用戶:llandlu
第一節、samba是干什么的?它有什么用? Samba(SMB是其縮寫) 是一個網絡服務器,它是Linux作為本地服務器最重要的一個服務,用于Linux和Windows共享文件之用;Samba可以用于Windows和 Linux之間的共享文件,也一樣用于Linux和Linux之間的共享文件;不過對于Linux和Linux之間共享文件有更好的網絡文件系統 NFS,NFS也是需要架設服務器的; 2、安裝及服務操作命令 安裝samba程序非常簡單,使用rpm -q samba查看當前系統是否已經安裝了samba軟件。 如果沒有那就進入光盤,rpm -ivh *samba*.rpm即可。 仔細說下安裝的包: samba-common-3.0.28-0.el5.8 //samba服務器和客戶端中的最基本文件 samba-3.0.28-0.el5.8 //samba服務器核心軟件包 system-config-samba-1.2.39-1.el5 //samba圖形配置界面 samba-client-3.0.28-0.el5.8 //samba客戶端軟件 啟動、暫停和停止服務: /etc/init.d/smb start /etc/init.d/smb stop /etc/init.d/smb restart 或 service smb start service smb stop service smb restart 第二節、由最簡單的一個例子說起,匿名用戶可讀可寫的實現 第一步: 更改smb.conf 我們來實現一個最簡單的功能,讓所有用戶可以讀寫一個Samba 服務器共享的一個文件夾;我們要改動一下smb.conf ;首先您要備份一下smb.conf文件; [root@localhost ~]# cd /etc/samba [root@localhost samba]# cp smb.conf smb.conf.bak [root@localhost samba]# vi smb.conf 或geidt smb.conf & 然后我們把下面這段寫入smb.conf中: [global] workgroup = WORKGROUP netbios name = Liukai server string = Liukai's Samba Server security = share [test] path = /opt/test writeable = yes browseable = yes guest ok = yes 注解: [global]這段是全局配置,是必段寫的。其中有如下的幾行; workgroup 就是Windows中顯示的工作組;在這里我設置的是WORKGROUP (用大寫); netbios name 就是在Windows中顯示出來的計算機名; server string 就是Samba服務器說明,可以自己來定義;這個不是什么重要的; security 這是驗證和登錄方式,這里我們用了share ;驗證方式有好多種,這是其中一種;另外一種常用的是user的驗證方式;如果用share呢,就是不用設置用戶和密碼了; [test] 這個在Windows中顯示出來是共享的目錄; path = 可以設置要共享的目錄放在哪里; writeable 是否可寫,這里我設置為可寫; browseable 是否可以瀏覽,可以;可以瀏覽意味著,我們在工作組下能看到共享文件夾。如果您不想顯示出來,那就設置為 browseable=no,guest ok 匿名用戶以guest身份是登錄; 第二步:建立相應目錄并授權 [root@localhost ~]# mkdir -p /opt/test [root@localhost ~]# id nobody uid=99(nobody) gid=99(nobody) groups=99(nobody) [root@localhost ~]# chown -R nobody:nobody /opt/test 注釋:關于授權nobody,我們先用id命令查看了nobody用戶的信息,發現他的用戶組也是nobody,我們要以這個為準。有些系統nobody用戶組并非是nobody ; 第三步:啟動服務器 第四步:訪問Samba 服務器的共享; 1、在Linux 中您可以用下面的命令來訪問; [root@localhost ~]# smbclient -L //liukai或 smbclient //192.168.0.94/test Password: 注:直接按回車 2、在Windows中,您可以用下面的辦法來訪問; \\liukai 或 \\192.168.0.94 3、說明:如果用了netbiosname,就可以用“\\主機名”來訪問,如果沒用netbiosname,就不能用主機名訪問。 第三節、簡單的密碼驗證服務器 修改smb.conf文件: security = user guest account = liukai encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd 然后,建立一個新用戶 useradd liukai passwd liukai 成功后,cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd smbpasswd -a liukai 這就成功地添加了一個smb用戶。 重啟服務,使用這個用戶進行登錄即可。
上傳時間: 2015-05-13
上傳用戶:yangkang1192
摘要:本文在無線信道的理論基礎上,分析了Suzuki信道模型的結構原理,介紹了利用正弦波疊加法構成高斯序列,從而建立Suzuki信道數學模型的方法,并通過Matlab軟件對其進行了仿真。仿真結果驗證了Suzuki模型同時符合大尺度衰落和小尺度衰落的特點,且可以驗證Suzuki信道模型能夠仿真平坦衰落信道
上傳時間: 2016-05-15
上傳用戶:嘻嘻嘻嘻
圖的說明。理解實現無向圖鄰接表的創建的算法,理解實現無向圖的深度優先遍歷的算法;轉換成程序并上機實現,
標簽: 實驗
上傳時間: 2016-06-15
上傳用戶:1415880354
C語言課程設計上機實習內容 一、從下面題目中任選一題: A.簡單的學生成績管理程序設計 B.考卷成績分析軟件程序設計 C.簡單醫療費用報銷管理軟件程序設計 除此之外,學生也可自行選擇課題進行設計,如自動柜員機界面程序、學生信息管理(包括生日祝賀)、計件工資管理等(但課題必須經指導教師審題合格后方可使用)。 二、課程設計說明書的編寫規范 1、程序分析和設計 2、流程圖 3、源程序清單 4、調試過程:測試數據及結果,出現了哪些問題,如何修改的 5、程序有待改進的地方 6、本次實習的收獲和建議 三、提交的資料 1、軟件 軟件需提供源程序,并能正常運行。 注:對于程序中未能實現的部分需要加以說明。 對于程序中所參考的部分代碼需要加以聲明,并說明出處。 2、文檔 課程設計文檔要求打印稿,同時提交電子文檔。文檔中必須包含課程設計小結,即收獲和體會。 文檔要注意格式,標題一律用小四號宋體加黑,正文用五號宋體,行間距固定值18,首行縮進2字符;如果有圖表,每個圖表必須順序編號并有標題,如“圖1 計算平均分的N-S圖”、“表1 地信081班成績一覽表”,一般圖名在圖的正下方、表名在表的正上方。 四、成績評定 通過學生的動手能力、獨立分析解決問題的能力、創新能力、課程設計報告、答辯水平以及學習態度綜合考核。 考核標準包括: 1、完成設計題目所要求的內容,程序書寫規范、有一定的實用性,占45%; 2、平時表現(考勤+上機抽查)占10%; 3、課程設計報告占30%; 4、答辯及演示占15%。 五、實習計劃 以選題一為例 實習計劃 時間 內容 第1天 一、布置實習內容和要求 1、 實習內容介紹、實習安排、實習紀律、注意事項 2、 學生選題 第2天 二、上機實習 1、根據所選題的要求,進行總體設計,確定程序總體框架 2、選擇和準備原始數據,制作.txt文本文件 第3天 3、文件的讀寫函數的使用,實現文本文件的讀取和寫入功能。 使用函數fread(); fwrite(); fprint(); fscan();完成對原始數據的文本輸入和輸出。 第4、5天 4、主要算法的選擇和功能實現(以學生成績管理系統為例): ① 計算每個學生三門功課的平均分,并按平均分排列名次,若平均分相同則名次并列;結果寫入文件。 ② 統計全班每門課程的平均分,并計算各分數段(60以下,60~69,70~79,80~89,90以上)的學生人數;結果寫入文件。 第6、7天 5、結果格式輸出及程序整合(以學生成績管理系統為例) ① 按格式在屏幕上打印每名學生成績條; ② 在屏幕上打印出所有不及格學生的下列信息:學號,不及格的課程名,該不及格課程成績; (選做)在屏幕打印優等生名單(學號,三門課程成績,平均成績,名次),優等生必須滿足下列條件:1)平均成績大于90分;或平均分大于85分且至少有一門功課為100分;或者平均分大于85分且至少兩門課程成績為95分以上;2) 名次在前三名; 3) 每門功課及格以上; 第8天 三、測試完整程序 要求功能完整,結果符合設計要求,并進行程序驗收。 第9、10天 四、編寫報告 完成實習報告的編寫,并打印上交報告。
上傳時間: 2016-06-27
上傳用戶:lh643631046
1. 在MATLAB中,分別對灰度圖、真彩色圖、索引彩色圖,實現圖像的讀入、顯示等功能。 2. 將真彩色圖、索引彩色圖轉為灰度圖,并保存到硬盤自己的文件夾下。 3. 如果按下面的操作讀入索引彩色圖像,請說明X、MAP兩個矩陣中是如何保留圖像中RGB彩色信息的。 [X,MAP]=imread(‘文件名’,‘格式’); 答:代碼中X為讀出的圖像數據,MAP為顏色表數據(或稱調色板,亦即顏色索引矩陣,對灰度圖像和RGB彩色圖像,該MAP為空矩陣)。一幅像素為m*n的RGB彩色圖像(m,n為正整數,分別表示圖像的高度和寬度),可以用m*n*3的矩陣來形容,3層矩陣中的每一個元素對應紅、綠、藍的數值,紅綠藍是三原色,可以組合出所有的顏色。 4,(提高題)實現真彩色圖像的讀入,請分R、G、B三個通道分別顯示該圖像的紅、綠、藍色圖像。
上傳時間: 2017-05-10
上傳用戶:mouroutao
1.學會二叉樹這一數據結構的用法,掌握二叉樹的存儲結構,包括二叉樹順序存儲結構和鏈式存儲結構。 2.熟練掌握二叉樹與廣義表之間的相互轉換方法。 3.熟練掌握二叉樹的先序、中序、后序,遞歸與非遞歸遍歷算法。 4.學會二叉樹線索化方法,并掌握線索二叉樹的存儲結構。 5.熟練掌握線索二叉樹的先序、中序、后序的遍歷算法。
標簽: 樹
上傳時間: 2017-12-03
上傳用戶:mxs1234
#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
對PL/0作以下修改和擴充,并使用測試用例驗證: (1)修改單詞:不等號# 改為 != ,只有!符號為非法單詞,同時#成為非法 符號。 (2)增加單詞(只實現詞法分析部分): 保留字 ELSE,FOR,STEP,UNTIL,DO,RETURN 運算符 *=(TIMESBECOMES),/=(SLASHBECOMES),&(AND),||(OR) 注釋符 //(NOTE) (3)增加條件語句的ELSE子句(實現語法語義目標代碼), 要求:寫出相關文法和語法圖,分析語義規則的實現。
上傳時間: 2020-06-30
上傳用戶:12345a