設有二元函數 f(x,y) = f(x) + f(y) 其中: f(x) = f(x-1) * x (x >1) f(x)=1 (x=1) f(y) = f(y-1) + f(y-2) (y> 2) f(y)=1 (y=1,2) 請編程建立 3 個并發協作進程,它們分別完成 f(x,y)、f(x)、f(y)
上傳時間: 2017-04-21
上傳用戶:WWSAE
附件為:LCD12864顯示漢字和數字的程序與電路 /* 自定義延時子函數 */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判斷LCD忙信號狀態 */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD寫指令函數 */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD寫數據函數 */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD選屏函數 */ void select_screen(uchar screen) { switch(screen) { case 0: //選擇全屏 CS1=0; CS2=0; break; case 1: //選擇左屏 CS1=0; CS2=1; break; case 2: //選擇右屏 CS1=1; CS2=0; break; /* case 3: //選擇右屏 CS1=1; CS2=1; break; */ } } /* LCDx向上滾屏顯示 */ void lcd_rol() { int x; for(x=0;x<64;x++) { select_screen(0); w_com(0xc0+x); delayms(500); } } /* LCD清屏函數:清屏從第一頁的第一列開始,總共8頁,64列 */ void clear_screen(screen) { int x,y; select_screen(screen); //screen:0-選擇全屏,1-選擇左半屏,2-選擇右半屏 for(x=0xb8;x<0xc0;x++) //從0xb8-0xbf,共8頁 { w_com(x); w_com(0x40); //列的初始地址是0x40 for(y=0;y<64;y++) { w_date(0x00); } } } /* LCD顯示漢字字庫函數 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-3,mun:顯示第幾個漢字的參數 int a; mun=mun*32; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } } /* LCD顯示字符字庫函數 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } } /* LCD顯示數字字庫函數 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } } /* LCD初始化函數 */ void lcd_init() { w_com(0x3f); //LCD開顯示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD頁初始地址,共8頁 w_com(0x40); //LCD列初始地址,共64列 } /* LCD顯示主函數 */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD顯示數字 lcd_display_shuzi(1,0,5,1); //LCD顯示數字 lcd_display_hanzi(1,0,3,0); //LCD顯示漢字 lcd_display_hanzi(2,0,0,1); //LCD顯示漢字 //LCD字符漢字 lcd_display_hanzi(2,0,1,2); //LCD顯示漢字 //第二行 lcd_display_zifuk(1,1,2,0); //LCD顯示字符 lcd_display_zifuk(1,1,3,0); //LCD顯示字符 lcd_display_zifuk(1,1,4,0); //LCD顯示字符 lcd_display_zifuk(1,1,5,4); //LCD顯示字符 lcd_display_shuzi(1,1,6,8); //LCD顯示字符 lcd_display_shuzi(1,1,7,9); //LCD顯示字符 lcd_display_shuzi(2,1,0,5); //LCD顯示字符 lcd_display_shuzi(2,1,1,1); //LCD顯示字符 lcd_display_zifuk(2,1,2,4); lcd_display_zifuk(2,1,3,1); lcd_display_zifuk(2,1,4,2); lcd_display_zifuk(2,1,5,3); //第三行 for(x=0;x<4;x++) { lcd_display_hanzi(1,2,x,3+x); //LCD顯示漢字 } for(x=0;x<4;x++) { lcd_display_hanzi(2,2,x,7+x); //LCD顯示漢字 } //第四行 for(x=0;x<4;x++) { lcd_display_zifuk(1,3,x,5+x); //LCD顯示漢字 } lcd_display_shuzi(1,3,4,7); lcd_display_shuzi(1,3,5,5); lcd_display_shuzi(1,3,6,5); lcd_display_zifuk(1,3,7,9); lcd_display_shuzi(2,3,0,8); lcd_display_shuzi(2,3,1,9); lcd_display_shuzi(2,3,2,9); lcd_display_shuzi(2,3,3,5); lcd_display_shuzi(2,3,4,6); lcd_display_shuzi(2,3,5,8); lcd_display_shuzi(2,3,6,9); lcd_display_shuzi(2,3,7,2); while(1); /* while(1) { // LCD向上滾屏顯示 lcd_rol(); } */ }
上傳時間: 2013-11-08
上傳用戶:aeiouetla
用四階(定步長)龍格--庫塔法求解初值問題,其中一階微分方程未y =f(x,y)
標簽: 初值
上傳時間: 2013-12-08
上傳用戶:zhengjian
用改進的歐拉方法求解初值問題,其中一階微分方程未y =f(x,y)
標簽: 初值
上傳時間: 2013-12-17
上傳用戶:fnhhs
* 用改進的歐拉方法求解初值問題,其中一階微分方程未y =f(x,y) * 初始條件為x=x[0]時,y=y[0]. * 輸入: f--函數f(x,y)的指針 * x--自變量離散值數組(其中x[0]為初始條件) * y--對應于自變量離散值的函數值數組(其中y[0]為初始條件) * h--計算步長 * n--步數 * 輸出: x為說求解的自變量離散值數組 * y為所求解對應于自變量離散值的函數值數組
標簽: 初值
上傳時間: 2015-07-26
上傳用戶:libinxny
輸入一系列遞減順序的整數(100,50,40,30……),以0標志結束,將這些數作為data域逆序建立一個單鏈表;從鍵盤輸入一個整數X,將X插入到此單鏈表中并保持單鏈表data域的值遞增關系,輸出此時單鏈表各結點data域的值;從鍵盤輸入一個整數Y,若Y值在單鏈表中存在,則刪除data域的值為Y的結點(注單鏈表中沒有data域值相同的結點),并輸出此時單鏈表各結點data域的值。
上傳時間: 2013-12-20
上傳用戶:s363994250
本軟件是在VC++來編譯,在VC++的平臺下運行,運行界面是黑色屏幕,本軟件是實現最優二叉查找樹結點的基本操作,在執行結果的屏幕下首先輸入樹的結點值以-1作為輸入結束,然后選擇要進行的操作,選擇一是顯示最優二叉樹,選擇二是插入一個結點,選擇三是查找一個結點,選擇四是刪除一個結點.在選擇各個操作后屏幕會提示要不要繼續進行(Y/N),選擇Y是繼續操作,選擇N是退出操作.本軟件界面簡單,容易操作,提示語句都采用中文,簡單易懂.
上傳時間: 2013-12-28
上傳用戶:wang0123456789
在一個劃分成網格的操場上,n 個士兵散亂地站在網格點上。網格點由整數坐標(x,y) 表示。士兵們可以沿網格邊上、下、左、右移動一步,但在同一時刻任一網格點上只能有一名士兵。按照軍官的命令,士兵們要整齊地列成一個水平隊列,即排列成(x,y),(x+1,y),…,(x+n-1,y) 。如何選擇x 和y 的值才能使士兵們以最少的總移動步數排成一列。
上傳時間: 2014-01-04
上傳用戶:qq521
在一個劃分成網格的操場上,n個士兵散亂地站在網格點上。網格點由整數坐標(x,y)表示。士兵們可以沿網格邊上、下、左、右移動一步,但在同一時刻任一網格點上只能有一名士兵。按照軍官的命令,士兵們要整齊地列成一個水平隊列,即排列成(x,y),(x+1,y),…,(x+n-1,y)。如何選擇x 和y的值才能使士兵們以最少的總移動步數排成一列。 實驗任務:計算使所有士兵排成一行需要的最少移動步數。
上傳時間: 2016-10-10
上傳用戶:leixinzhuo
private double PointToAngle(Point AOrigin, Point APoint) { if (APoint.X == AOrigin.X) if (APoint.Y > AOrigin.Y) return Math.PI * 0.5f else return Math.PI * 1.5f else if (APoint.Y == AOrigin.Y) if (APoint.X > AOrigin.X) return 0 else return Math.PI else {
標簽: AOrigin APoint Point PointToAngle
上傳時間: 2016-10-31
上傳用戶:zhyiroy