畢業(yè)論文---用c語言模擬兩列波的合成_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p><b>  目 錄</b></p><p>  畢業(yè)設(shè)計(jì)任務(wù)書 2</p><p>  摘要

2、 5</p><p>  一、緒論 5</p><p>  二、C語言概述 6</p><p>  1.C語言出現(xiàn)的歷史背景 6</p>&

3、lt;p>  2.C語言的特點(diǎn) 7</p><p>  3.Turbo C簡介 9</p><p>  三、用C語言模擬兩列波的合成 10</p><p>  1.編

4、譯環(huán)境的選擇 10</p><p>  2.硬件條件 10</p><p>  3.程序代碼及相關(guān)注釋 10</p><p>  4.使用步驟

5、 18</p><p>  結(jié)論 20</p><p>  致謝 20</p><p>  畢業(yè)論文(設(shè)計(jì))任務(wù)書</p>

6、<p>  院(系): 電子系 </p><p>  用C語言模擬兩列波的合成</p><p><b>  摘要:</b></p><p>  本設(shè)計(jì)采用C語言這門實(shí)踐性很強(qiáng)的學(xué)科,實(shí)現(xiàn)波形的輸入、合成與輸出,其特點(diǎn)是可以把輸入的波形較為直觀準(zhǔn)確的打印在電腦屏幕上相應(yīng)的坐標(biāo)軸位置,并通過計(jì)算機(jī)突出的運(yùn)算速度,通過運(yùn)算在

7、短時(shí)間內(nèi)把兩列波形合二為一,并準(zhǔn)確的打印出來,使用較為方便,大大提高了計(jì)算波形的工作效率。</p><p><b>  關(guān)鍵詞:</b></p><p><b>  一、緒論</b></p><p>  C語言是近年來在國內(nèi)外得到迅速推廣應(yīng)用的一種計(jì)算機(jī)語言。C語言功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率

8、高,可移植性好,既具有高級語言的優(yōu)點(diǎn),又具有低級語言的許多特點(diǎn),使用C語言要比使用匯編語言容易的多。</p><p>  C語言有著不同于或優(yōu)于其它語言的特點(diǎn):</p><p>  語言簡潔、緊湊,使用方便、靈活;</p><p><b>  運(yùn)算符豐富;</b></p><p>  數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)

9、據(jù)結(jié)構(gòu);</p><p>  具有結(jié)構(gòu)化的控制語句;</p><p>  語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大;</p><p>  C語言允許直接訪問物理地址;</p><p>  生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行率高</p><p>  用C語言寫程序可移植性好。</p><p>  因此,掌握C

10、語言無疑是培養(yǎng)新型人才的一個(gè)重要環(huán)節(jié),它能啟發(fā)人們對先進(jìn)科學(xué)的向往,激發(fā)創(chuàng)新意識,推動(dòng)對新知識的學(xué)習(xí),鍛煉動(dòng)手實(shí)踐的本領(lǐng)。</p><p><b>  二、C語言概述</b></p><p>  1. C語言出現(xiàn)的歷史背景</p><p>  C語言是國際上廣泛流行的、很有發(fā)展前途的計(jì)算機(jī)高級語言。它適合于</p><p&g

11、t;  作為系統(tǒng)描述語言,既可用來寫系統(tǒng)軟件,也可用來寫應(yīng)用軟件。</p><p>  以前的操作系統(tǒng)等系統(tǒng)軟件主要是用匯編語言編寫的(包括UNIX操作系統(tǒng)在內(nèi))。由于匯編語言依賴于計(jì)算機(jī)硬件,程序的可讀性和可移植性比較差。為了提高可讀性和可移植性,最好改用高級語言,但一般的高級語言難以實(shí)現(xiàn)匯編語言的某些功能。人們設(shè)想是否能找到一種既具有高級語言的特性,又具有底級語言的特性的語言,集它們的優(yōu)點(diǎn)于一身。于是,C語言

12、就在這種情況下應(yīng)運(yùn)而生了。</p><p>  C語言是在B語言的基礎(chǔ)上發(fā)展起來的,它的根源可以追溯到ALGOL 60。1960年出現(xiàn)的ALGOL 60是一種面向問題的高級語言,它離硬件比較遠(yuǎn),不宜用來編寫系統(tǒng)程序。1963年英國的劍橋大學(xué)推出了CPL(combined programming language)語言。CPL語言在ALGOL 60的基礎(chǔ)上接近硬件一些,但規(guī)模比較大,難以實(shí)現(xiàn)。1967年英國的劍橋的

13、Matin Richards對CPL做了簡化,推出了BCPL(basic combined programming language)語言。1970年美國貝爾實(shí)驗(yàn)室的Ken Thompson 以BCPL語言為基礎(chǔ),又做了進(jìn)一步簡化,設(shè)計(jì)出了很簡單的而且很接近硬件的B語言(取BCPL的第一個(gè)字母),并用B語言寫了第一個(gè)UNIX操作系統(tǒng),在PDP-7上實(shí)現(xiàn)。1971年在PDP-11/20上實(shí)現(xiàn)了B語言,并寫了UNIX操作系統(tǒng)。但B語言過于簡

14、單,功能有限。1972年至1973年間,貝爾實(shí)驗(yàn)室的D.M.Ritchie 在B語言的基礎(chǔ)上設(shè)計(jì)出了C語言(取BCPL的第二個(gè)字母)。C語言既保持了BCPL和B語言的優(yōu)點(diǎn)(精練,接近硬件),又</p><p>  后來,對C語言多次做了改進(jìn),但主要還在貝爾實(shí)驗(yàn)室內(nèi)部使用。直到1975年UNIX第6版公布后,C語言的突出優(yōu)點(diǎn)才引起人們的普遍注意。1977年出現(xiàn)了不依賴于具體機(jī)器的C語言編譯文本《可移植C語言編譯程序

15、》,使C移植到其他機(jī)器時(shí)所需要的工作大大簡化了,這也推動(dòng)了UNIX操作系統(tǒng)在各種機(jī)器上實(shí)現(xiàn)。例如VAX、AT&T等計(jì)算機(jī)系統(tǒng)都相繼開發(fā)了UNIX。隨著UNIX的日益廣泛使用,C語言也迅速得到推廣。C語言和UNIX可以說是一對孿生兄弟,在發(fā)展的過程中相輔相成。1978年以后,C語言已先后移植到大、中、小、微型機(jī)上,已獨(dú)立于UNIX和PDP了?,F(xiàn)在C語言已風(fēng)靡世界成為世界上最廣泛的幾種計(jì)算機(jī)語言之一。</p><

16、p>  已1978年發(fā)表的UNIX第七版中的C編譯程序?yàn)榛A(chǔ)Brian W.Kernighan和Dennis M.Ritchie(合稱K&R)合著了影響深遠(yuǎn)的名著《The C Programming Language》,這本書中介紹的C語言成為了日后廣泛使用的C語言版本的基礎(chǔ),它被稱為標(biāo)準(zhǔn)C。1983年美國國家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴(kuò)充,制定了新的標(biāo)準(zhǔn),稱為ANSI C。ANSI

17、C比原來的標(biāo)準(zhǔn)C有了很大的發(fā)展K&R在在1988年修改了他們的經(jīng)典著作《The C Programming Language》,按照ANSI C 標(biāo)準(zhǔn)重新寫了該書。1987年,ANSI又公布了新標(biāo)準(zhǔn)——87 ANSI C為ISO C的標(biāo)準(zhǔn)(ISO 9899—1990)。目前廣泛流行的各種版本C語言編譯系統(tǒng)都是以它為基礎(chǔ)的。</p><p><b>  2. C語言的特點(diǎn)</b><

18、;/p><p>  一種語言之所以能存在和發(fā)展,并具有生命力,總是有其不同于(或優(yōu)于)</p><p>  其它語言的特點(diǎn)。C語言的主要特點(diǎn)如下。</p><p>  (1). 語言簡潔、緊湊,使用方便、靈活。C語言一共只有32個(gè)關(guān)鍵字,9種控制語句程序書寫形式自由,主要用小寫字母表示,壓縮了一切不必要的成分。</p><p>  (2). 運(yùn)算

19、符豐富。C語言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C把括號、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理,從而使C的運(yùn)算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其他高級語言中難以實(shí)現(xiàn)的運(yùn)算。</p><p>  (3). 數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。C的數(shù)據(jù)類型有整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共同體類型等。能用來實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹、棧等)的

20、運(yùn)算,尤其是指針類型數(shù)據(jù),使用起來比PASCAL更為靈活、多樣。</p><p>  (4). 具有結(jié)構(gòu)化的控制語句(如if…else語句、while語句、do…while語句、switch語句、for語句)。用函數(shù)作為程序的模塊單位,便于實(shí)現(xiàn)程序的模塊化。C是理想的結(jié)構(gòu)化語言,符合現(xiàn)代的編程風(fēng)格的要求。</p><p>  (5). 語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。例如對數(shù)組下標(biāo)越界

21、不做檢查,由程序編寫者自己保證程序的正確。對變量的類型使用比較靈活,例如整型量與字符型數(shù)據(jù)以及邏輯型數(shù)據(jù)可以通用。一般的高級語言語法檢查比較嚴(yán),能檢查出幾乎所有的語法錯(cuò)誤。而C語言允許程序編寫者有較大的自由度,因此放寬了語法檢查。程序員應(yīng)當(dāng)仔細(xì)檢查程序,保證其正確,而不要依賴于C編譯程序去查錯(cuò)。“限制”與“靈活”是一對矛盾。限制嚴(yán)格,就失去靈活性;而強(qiáng)調(diào)靈活,就必然放松限制。一個(gè)不熟練的編程人員,編一個(gè)正確的C程序可能會(huì)比編一個(gè)其他高級

22、語言程序難一些。也就是說,對用C語言的人,要求對程序設(shè)計(jì)更熟練一些。</p><p>  (6). C語言允許直接訪問物理地址。能進(jìn)行位(bit)操作,能實(shí)現(xiàn)匯編語言大部分功能,可以直接對硬件進(jìn)行操作。因此,C既具有高級語言的功能,又具有低級語言的許多功能,可用來寫系統(tǒng)文件。C語言的這種雙重性,使它既是成功的系統(tǒng)描述語言,又是通用的程序設(shè)計(jì)語言。有人把C稱為“高級語言中的低級語言”或“中級語言”,意為兼有高級和低

23、級語言的特點(diǎn)?,F(xiàn)在一般仍習(xí)慣將C語言稱為高級語言,因?yàn)镃程序也要通過編譯、連接才能得到可執(zhí)行的目標(biāo)程序,這是和其他高級語言相同的。</p><p>  (7). 生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行率高。一般只比匯編程序生成的目標(biāo)代碼效率低10%—20%。</p><p>  (8). 用C語言寫程序可移植性好(與匯編語言比)?;旧喜蛔鲂薷木湍苡糜诟鞣N型號的計(jì)算機(jī)和各種操作系統(tǒng)。</p&g

24、t;<p>  3. Turbo C簡介</p><p>  Turbo C是在微機(jī)上廣泛使用的編譯程序。它具有方便、直觀、易用的界面和豐富的庫函數(shù)。它向用戶提供一個(gè)集成環(huán)境,把程序的編輯、編譯、連接和運(yùn)行等操作全部集中在一個(gè)界面上進(jìn)行,使用十分方便。</p><p>  為了能使用Turbo C,必須先將Turbo C編譯程序裝入磁盤的某一目錄下,例如放在C盤根目錄下一級T

25、C子目錄下。</p><p>  (1).調(diào)用Turbo C程序。如果用戶的當(dāng)前目錄是Turbo C編譯程序所在的子目錄(例如TC子目錄),只須從鍵盤鍵入“tc”命令即可:C:\TC>tc</p><p>  屏幕上出現(xiàn)Turbo C集成環(huán)境</p><p>  用戶可以通過以上菜單項(xiàng)來選擇使用Turbo C集成環(huán)境所提供的Turbo C的各項(xiàng)主要功能。以上8

26、個(gè)菜單項(xiàng)分別代表:文件操作、編輯、運(yùn)行、編譯、項(xiàng)目文件、選項(xiàng)、調(diào)試、中斷/觀察等功能。</p><p>  (2).編輯源文件。在編輯(Edit)狀態(tài)下可以根據(jù)需要輸入或修改源程序。</p><p>  (3).編譯源程序。選擇“Compile”菜單并在其下拉菜單中選擇“Compile to OBJ”則進(jìn)行編譯,得到一個(gè)后綴為 .obj的目標(biāo)程序。然后在選菜單“Compile/Link E

27、XE file”,進(jìn)行連接操作,可得到后綴為 .exe的可執(zhí)行文件。</p><p>  (4).執(zhí)行程序。按“F10”鍵,窗口上部的主菜單中第一項(xiàng)“File”“反相”顯示。用右“ ”鍵將亮塊移到“Run”,按回車鍵,在其下拉菜單中選擇“Run”項(xiàng),或直接按Ctri+F9鍵,系統(tǒng)就會(huì)執(zhí)行已編譯和連接好的目標(biāo)文件。此時(shí),就得到程序運(yùn)行時(shí)輸出的結(jié)果。按Alt+F5鍵可以看到運(yùn)行結(jié)果。</p>&l

28、t;p>  (5).可以用“Alt”和“X”鍵(同時(shí)按此兩鍵),脫離Turbo C,回到DOS命令狀態(tài)。此時(shí)用DOS命令顯示源程序和運(yùn)行程序:</p><p>  C>TYPE tc1.c (列出源程序清單)</p><p>  C>tc1 (執(zhí)行目標(biāo)程序 tc1.exe)</p><p>  如果想再修改源程序,可以重復(fù)執(zhí)行步驟

29、(1),并輸入源程序文件名即可。</p><p>  三、用C語言模擬兩列波的合成設(shè)計(jì)</p><p><b>  1. 譯環(huán)境的選擇</b></p><p>  完全使用Turbo C 2.0 英文版集成環(huán)境。</p><p><b>  2.硬件條件</b></p><p&g

30、t;  PC機(jī):Pentium(R) 4 CPU 2.00GHz 256MB內(nèi)存</p><p>  3.程序代碼及相關(guān)注釋</p><p>  #include<math.h> /*導(dǎo)入庫文件math.h,用于公式計(jì)算 */</p><p>  #include<string.h>

31、 /*導(dǎo)入庫文件string.h,用于字符串操作*/</p><p>  #include<graphics.h> /*導(dǎo)入庫文件graphics.h,用于圖象處理*/ </p><p>  #include<stdlib.h> /*導(dǎo)入庫文件stdlib.h,用于其它命令*/ </

32、p><p>  #define PI 3.1415926 /*定義PI,用于后面角度與弧度之間的轉(zhuǎn)換*/</p><p>  void main() /*主函數(shù)部分*/</p><p><b>  {</b></p><p>  int x1,y1,x2,y2;

33、 /*定義6個(gè)變量用于輸入的兩列波總共6個(gè)參數(shù)的</p><p>  double z1,z2; 接收,以便以值傳遞的形式傳入Graphics函數(shù) */</p><p>  printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");</p><

34、;p>  printf(" 0 0 0 0000000 0 0000 000 00 00 0000000 \n");</p><p>  delay(65000);</p><p>  printf(" 0 0 0 0 0 0 0

35、 0 0 0 0 0 0 0 \n");</p><p>  delay(65000);</p><p>  printf(" 0 0 0 0 000000 0 0 0 0 0 0 0 0 000000 \n");</p><p

36、>  delay(65000);</p><p>  printf(" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \n");</p><p>  delay(65000);</p><p>  printf("

37、 0 0 0000000 000000 0000 000 0 0 0 0000000 \n\n\n");</p><p>  delay(65000);</p><p>  printf(" ************************************************************

38、********\n");</p><p>  delay(65000);</p><p>  printf(" ********************************************************************\n");</p><p>  delay(65000);</p>

39、<p>  printf(" ***********Use C program to realize two waves of composed***********\n");</p><p>  delay(65000);</p><p>  printf(" ***********************************

40、*********************************\n");</p><p>  delay(65000);</p><p>  printf(" **********************Programmer:Hu Jian****************************\n");</p><p> 

41、 delay(65000);</p><p>  printf(" ********************************************************************\n");</p><p>  delay(65000);</p><p>  printf(" **********

42、****************Class:E0230*******************************\n");</p><p>  delay(65000);</p><p>  printf(" ********************************************************************\n\n&qu

43、ot;);</p><p>  printf("\n");</p><p>  delay(65000);</p><p>  printf("\n");</p><p>  delay(65000);</p><p>  printf(" Please pre

44、ss the Enter key to continue.\n");</p><p><b>  getch();</b></p><p>  /*藍(lán)色代碼部分詳見第16頁注1*/</p><p>  system("cls"); /*清屏命令*/</p><

45、;p>  printf("Please input 3 number of the first wave:a1*sin(b1*x+c1):\n"); /*提示信息:輸入</p><p>  第一列波 */ </p><p>  printf("a1="); </p><p&g

46、t;  scanf("%d",&x1); </p><p>  printf("b1="); /*依次輸入第一列波的a1、b1、c1三個(gè)參</p><p>  scanf("%d",&y1);

47、 數(shù),并分別用x1、y1、z1進(jìn)行接收 */</p><p>  printf("c1=");</p><p>  scanf("%lf",&z1);</p><p>  printf("\n");</p><p>  printf("Please input

48、3 number of the second wave:a2*sin(b2*x+c2):\n"); /*提示信息:輸 </p><p>  入第二列波 */ </p><p>  printf("a2=");

49、 </p><p>  scanf("%d",&x2); </p><p>  printf("b2="); /*依次輸入第二列波的a2、b2、c2三個(gè)參</p><p>  scanf("%d",

50、&y2); 數(shù),并分別用x2、y2、z2進(jìn)行接收 */</p><p>  printf("c2=");</p><p>  scanf("%lf",&z2);</p><p>  Graphics(x1,y1,z1,x2,y2,z2); /*調(diào)

51、用Graphics函數(shù),并傳遞相關(guān)參數(shù)*/</p><p><b>  }</b></p><p>  int Graphics(int a1,int b1,double c1,int a2,int b2,double c2) /* Graphics函數(shù),用于畫坐標(biāo)軸、兩列輸入波形及合成后的輸出波形 */</p><p><b>

52、  {</b></p><p>  int i,j,gdriver=VGA,gmode=VGAHI; /* VGA顯卡,指定分辨率640*480,16色 */</p><p>  char a[]={"45 90 135 180 225 270 315 360 405 450 485"}; /*定義a[ ]數(shù)組,用

53、于畫出Y坐標(biāo)軸的刻度 */ </p><p>  char *s,*s1[50],*s2[50],*s3[50]; /*用于接收具體波形的字符串*/</p><p>  double x1,x2,y1,y2,dangle; /*x1,x2,y1,y2用于表示具體的點(diǎn)(X,Y),

54、 dangle用于接收角度與弧度之間的轉(zhuǎn)換值*/ </p><p>  initgraph(&gdriver,&gmode,"c:\tc\bgi"); /*調(diào)用初始化函數(shù)*/</p><p>  setbkcolor(2); /*設(shè)置背景色為綠色*/</p>&

55、lt;p>  setcolor(1); /*設(shè)置前景色為藍(lán)色*/</p><p>  line(20,240,600,240); /*畫X軸*/ </p><p>  line(590,237,600,240); /*畫X軸上的箭頭*/</p><p>

56、;  line(590,243,600,240);</p><p>  line(40,80,40,400); /*畫Y軸*/ </p><p>  line(40,80,37,90); /*畫Y軸上的箭頭*/</p><p>  line(40,80,43,90);</p>&

57、lt;p>  sprintf(s1,"y=%d*sin(%d*X+%.2lf)",a1,b1,c1); /*接收第一列波形的字符串,并存入s1中*/</p><p>  sprintf(s2,"y=%d*sin(%d*X+%.2lf)",a2,b2,c2); /*接收第二列波形的字符串,并存入s2中*/</p><p>  sprintf(s3

58、,"y=%d*sin(%d*X+%.2lf)+%d*sin(%d*X+%.2lf)",a1,b1,c1,a2,b2,c2);</p><p>  /*接收合成后的兩列波波形,并存入s3中*/</p><p>  setcolor(4); /*設(shè)置前景色為紅色*/</p><p>  outtextxy(40,20,s1);

59、 /*把第一列波的字符串打印在屏幕上(紅色)*/</p><p>  setcolor(1); /*設(shè)置前景色為藍(lán)色*/</p><p>  outtextxy(40,40,s2); /*把第一列波的字符串打印在屏幕上(藍(lán)色)*/</p><p>  setcolor(14); /*設(shè)置前景色為黃色*

60、/</p><p>  outtextxy(40,420,s3); /*把合成后的兩列波的字符串打印在屏幕上(黃色)*/</p><p>  setcolor(1); /*設(shè)置前景色為藍(lán)色*/</p><p>  for(i=40;i<600;i+=45) </p><p><b>  {

61、</b></p><p>  line(i,238,i,242); /*畫X軸的刻度*/</p><p><b>  }</b></p><p>  for(i=120;i<380;i+=30)</p><p><b>  {</b></p><p>

62、;  line(38,i,42,i); /*畫Y軸的刻度*/</p><p><b>  }</b></p><p>  settextstyle(0,0,2); /*設(shè)定2號字型*/</p><p>  s="x"; </p><p>  out

63、textxy(570,245,s); /*寫字母X*/</p><p><b>  s="y";</b></p><p>  outtextxy(22,75,s); /*寫字母Y*/</p><p>  settextstyle(0,0,1); /*設(shè)定1號字型*/</p><p

64、>  for(i=3;i<-3;i--) /*用循環(huán)標(biāo)記Y軸上的刻度*/</p><p><b>  {</b></p><p>  sprintf(s,"%d",i);</p><p>  outtextxy(25,240-30*i,s);</p><p><b>

65、;  }</b></p><p>  outtextxy(80,245,a); /*直接通過數(shù)組a,標(biāo)記X軸上的刻度*/</p><p>  for(i=0;i<480;i++) /*從0—480度,計(jì)算輸入的兩列波*/</p><p><b>  {</b></p>

66、<p>  dangle=i*PI/180; /*將角度轉(zhuǎn)換為弧度*/</p><p>  x1=40+i; /*計(jì)算X的坐標(biāo)*/</p><p>  y1=240-a1*sin(b1*dangle+c1)*30; /*計(jì)算第一列波的坐標(biāo)*/</p><p>  

67、putpixel(x1,y1,RED); /*畫出第一列波曲線上的一點(diǎn)(像素)*/</p><p>  y1=240-a2*sin(b2*dangle+c2)*30; /*計(jì)算第二列波的坐標(biāo)*/</p><p>  putpixel(x1,y1,BLUE); /*畫出第二列波曲線上的一點(diǎn)(像素)*/</p><p

68、>  delay(4500); /*用延時(shí)使波形慢慢畫出*/</p><p><b>  }</b></p><p>  getch(); /*按任一鍵繼續(xù),防止圖形一閃而過*/</p><p>  for(i=0;i<480;i++)

69、 /*清空坐標(biāo)軸上的內(nèi)容,為畫合成后的</p><p>  { 波形做準(zhǔn)備*/</p><p>  dangle=i*PI/180;</p><p><b>  x2=40+i;</b></p><p>  y2=2

70、40-a1*sin(b1*dangle+c1)*30;</p><p>  putpixel(x2,y2,GREEN);</p><p>  y2=240-a2*sin(b2*dangle+c2)*30;</p><p>  putpixel(x2,y2,GREEN);</p><p><b>  }</b></p

71、><p><b>  getch();</b></p><p>  for(i=0;i<480;i++) /*畫出兩列波合成后的新波形,顏色為</p><p>  { 黃色*/</p><p>  dangl

72、e=i*PI/180;</p><p><b>  x2=40+i;</b></p><p>  y2=240-(a1*sin(b1*dangle+c1)*30+a2*sin(b2+dangle+c2)*30);</p><p>  putpixel(x2,y2,YELLOW);</p><p>  delay(4500

73、);</p><p><b>  }</b></p><p><b>  getch();</b></p><p>  closegraph(); /*關(guān)閉圖形系統(tǒng),返回文本方式*/</p><p><b>  }</b><

74、/p><p>  注1:藍(lán)色部分并非亂碼,而是設(shè)計(jì)好的一個(gè)界面,用字符“0”拼成一個(gè)英文單詞“WELCOME”,在輸入過程中加入延時(shí),使界面自下而上的移動(dòng)到屏幕中央,具體效果請看下圖。</p><p>  注2:由于各人的計(jì)算機(jī)配置的不同而導(dǎo)致的性能上的差異,從而使延時(shí)的具體值變的不確定,所以在運(yùn)行本程序時(shí),可根據(jù)自己機(jī)器的情況來修改程序中的延時(shí)條件。</p><p>

75、<b>  4. 使用步驟</b></p><p>  打開Turbc C,載入程序。</p><p>  編譯和運(yùn)行程序(Ctrl+F9),如果編譯通過會(huì)得到歡迎界面。</p><p>  按照界面的提示鍵入回車得到以下界面</p><p> ?。?)按照提示依次輸入兩列波的6個(gè)參數(shù),每輸入一個(gè)按回車確認(rèn)。</p

76、><p> ?。?)在屏幕上看到輸入的紅、藍(lán)兩列波后按兩次回車可得到合成后的第三列波,顏色為黃色,詳見以下兩個(gè)實(shí)例</p><p>  例1:a1=1,b1=2,c1=3, y1=sin(2x+3)</p><p>  a2=3,b2=2,c2=1, y2=3sin(2x+1)</p><p>  合成波為:y= sin(2x+3)+ 3si

77、n(2x+1)</p><p>  例1:a1=2,b1=4,c1=1.7, y1=2sin(4x+1.7)</p><p>  a2=4,b2=1,c2=0, y2=4sinx</p><p>  合成波為:y= 2sin(4x+1.7)+ 4sinx</p><p> ?。?)看到合成后的波形后再按回車,推出運(yùn)行狀態(tài)。</p

78、><p><b>  結(jié) 論</b></p><p>  該設(shè)計(jì)是本人三年大學(xué)生涯的一個(gè)總結(jié),是對于我三年來學(xué)習(xí)狀況的一個(gè)綜合測試,也是我今后走上工作崗位的開始。</p><p>  通過本設(shè)計(jì),使我對C語言的特點(diǎn)及語法結(jié)構(gòu)有了更深入的理解,并且對于這種編程思想,有著更深入的體會(huì)。C語言用途廣泛,兼有高級和低級語言的特點(diǎn),不僅能實(shí)現(xiàn)一般的程序設(shè)計(jì)

79、,而且還能對計(jì)算機(jī)硬件進(jìn)行操作,所以是一種使用性很強(qiáng)的編程語言,而且也是學(xué)習(xí)其他編程語言,如:C++,C# .NET,JAVA(J2EE),數(shù)據(jù)庫SQL語句的基礎(chǔ)。所以對于這樣一門學(xué)科,我以后會(huì)更深入的研究,爭取有所突破。</p><p><b>  致 謝</b></p><p>  三年前,我們充滿了對未來的憧憬,來到IVT,在這三年中,IVT的教學(xué)設(shè)施、師資隊(duì)

80、伍、極富現(xiàn)代感的校園環(huán)境和富有特色的校園文化氛圍給我留下了深刻的印象,我在“好學(xué)、敬業(yè)、德高、技強(qiáng)”校訓(xùn)的熏陶下,不僅掌握了專業(yè)技能,還培養(yǎng)了自我管理能力、人際交際能力,為我們能適應(yīng)以后的工作崗位,打下了堅(jiān)實(shí)的基礎(chǔ)。對于這一點(diǎn),我們的教師功不可沒,我深深感謝這三年來給予我指導(dǎo)和教育的老師,沒有你們的教導(dǎo),也不會(huì)有我的今天,在以后的工作中,我會(huì)投入更大的工作熱情,進(jìn)一步努力學(xué)習(xí),展現(xiàn)自我,以次來回報(bào)教育過我的學(xué)校和老師。</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論