數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告模板_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告模板_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告模板_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告模板_第4頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告模板_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告模板用心整理的精品 word文檔,下載即可編輯! !課程設(shè)計報告課程名稱:專業(yè):班級:姓名:學(xué)號:成績:完成日期:年 月 日任務(wù)書題目:黑白棋系統(tǒng)設(shè)計內(nèi)容及要求:1 .課程設(shè)計任務(wù)內(nèi)容通過玩家與電腦雙方的交替下棋,在一個 8行8列的方格中,進行棋子的相互交 替翻轉(zhuǎn)。反復(fù)循環(huán)下棋,最后讓雙方的棋子填滿整個方格。再根據(jù)循環(huán)遍歷方格程 序,判斷玩家與電腦雙方的棋子數(shù)。進行大小判斷,最紅給出勝負的一方。并根據(jù) y/n選項,判斷是否要進行下一局的游戲。2 .課程設(shè)計要求實現(xiàn)黑白兩色棋子的對峙開發(fā)環(huán)境:vc+6.0實現(xiàn)目標(biāo):(1)熟悉的運用c語言程序編寫代碼。(2)能夠理清整個程序的運

2、行過程并繪畫流程圖(3) 了解如何定義局部變量和整體變量;(4)學(xué)會上機調(diào)試程序,發(fā)現(xiàn)問題,并解決(5)學(xué)習(xí)使用C+程序來了解游戲原理。(6)學(xué)習(xí)用文檔書寫程序說明精心整理,用心做精品 9摘要本文的研究工作在于利用計算機模擬人腦進行下黑白棋,計算機下棋 是人工智能領(lǐng)域中的一個研究熱點,多年以來,隨著計算機技術(shù)和人工智 能技術(shù)的不斷發(fā)展,計算機下棋的水平得到了長足的進步該程序的最終勝負是由棋盤上崗雙方的棋子的個數(shù)來判斷的,多的一 方為勝,少的一方為負。所以該程序主要運用的戰(zhàn)術(shù)有削弱對手行動戰(zhàn) 術(shù)、四角優(yōu)先戰(zhàn)術(shù)、在游戲開局和中局時,程序采用削弱對手行動力戰(zhàn) 術(shù),即盡量減少對手能夠落子的位置;在游戲

3、終局時則采用最大貪吃戰(zhàn) 術(shù),即盡可能多的吃掉對手的棋子;而四角優(yōu)先戰(zhàn)術(shù)則是貫穿游戲的始 終,棋盤的四角圍穩(wěn)定角,不會被對手吃掉,所以這里是兵家的必爭之 地,在阻止對手進角的同時,自己卻又要努力的進角。關(guān)鍵詞:黑白棋編程設(shè)計1 .弓I言32 .課題分析73 .具體設(shè)計過程83.1 設(shè)計思路83.2 程序設(shè)計流程圖93.3 .函數(shù)實現(xiàn)說明 134 .程序運行結(jié)果155 .軟件使用說明196 .結(jié)論22參考文獻251 .引言數(shù)據(jù)結(jié)構(gòu)在計算機科學(xué)界至今沒有標(biāo)準(zhǔn)的定義。個人根據(jù)各自的理解的不同而有不同的表述方法:Sartaj Sahni在他的數(shù)據(jù)結(jié)構(gòu)、算法與應(yīng)用一書中稱:數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)對象,以及存在于該

4、對象的實例和組成實例的數(shù)據(jù)元素之間的各種聯(lián)系。這些聯(lián)系可以 通過定義相關(guān)的函數(shù)來給出。”他將數(shù)據(jù)對象(data object)定義為個數(shù)據(jù)對象是實 例或值的集合。Clifford A.Shaffer 在數(shù)據(jù)結(jié)構(gòu)與算法分析一書中的定義是: 數(shù) 據(jù)結(jié)構(gòu)是ADT (抽象數(shù)據(jù)類型Abstract Data Type)的物理實現(xiàn)。”Lobert L.Kruse 在數(shù)據(jù)結(jié)構(gòu)與程序設(shè)計一書中,將一個數(shù)據(jù)結(jié)構(gòu)的設(shè)計過程 分成抽象層、數(shù)據(jù)結(jié)構(gòu)層和實現(xiàn)層。其中,抽象層是指抽象數(shù)據(jù)類型層,它討論數(shù)據(jù) 的邏輯結(jié)構(gòu)及其運算,數(shù)據(jù)結(jié)構(gòu)層和實現(xiàn)層討論一個數(shù)據(jù)結(jié)構(gòu)的表示和在計算機內(nèi)的 存儲細節(jié)以及運算的實現(xiàn)。數(shù)據(jù)結(jié)構(gòu)具體指同

5、一類數(shù)據(jù)元素中,各元素之間的相互關(guān) 系,包括三個組成成分,數(shù)據(jù)的邏輯結(jié)構(gòu),數(shù)據(jù)的存儲結(jié)構(gòu)和數(shù)據(jù)運算結(jié)構(gòu)。1.1. 重要意義一般認為,一個數(shù)據(jù)結(jié)構(gòu)是由數(shù)據(jù)元素依據(jù)某種邏輯聯(lián)系組織起來的。對數(shù)據(jù)元 素間邏輯關(guān)系的描述稱為數(shù)據(jù)的邏輯結(jié)構(gòu);數(shù)據(jù)必須在計算機內(nèi)存儲,數(shù)據(jù)的存儲結(jié) 構(gòu)是數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)形式,是其在計算機內(nèi)的表示;此外討論一個數(shù)據(jù)結(jié)構(gòu)必須同時 討論在該類數(shù)據(jù)上執(zhí)行的運算才有意義。在許多類型的程序的設(shè)計中,數(shù)據(jù)結(jié)構(gòu)的選擇是一個基本的設(shè)計考慮因素。許多 大型系統(tǒng)的構(gòu)造經(jīng)驗表明,系統(tǒng)實現(xiàn)的困難程度和系統(tǒng)構(gòu)造的質(zhì)量都嚴(yán)重的依賴于是 否選擇了最優(yōu)的數(shù)據(jù)結(jié)構(gòu)。許多時候,確定了數(shù)據(jù)結(jié)構(gòu)后,算法就容易得到了。

6、有些 時候事情也會反過來,我們根據(jù)特定算法來選擇數(shù)據(jù)結(jié)構(gòu)與之適應(yīng)。不論哪種情況, 選擇合適的數(shù)據(jù)結(jié)構(gòu)都是非常重要的。選擇了數(shù)據(jù)結(jié)構(gòu),算法也隨之確定,是數(shù)據(jù)而不是算法是系統(tǒng)構(gòu)造的關(guān)鍵因素。 這種洞見導(dǎo)致了許多種軟件設(shè)計方法和程序設(shè)計語言的出現(xiàn),面向?qū)ο蟮某绦蛟O(shè)計語 言就是其中之一。1.2. 研究內(nèi)容在計算機科學(xué)中,數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計算的程序設(shè)計問題中計算機的操作 對象(數(shù)據(jù)元素)以及它們之間的關(guān)系和運算等的學(xué)科,而且確保經(jīng)過這些運算后所 得到的新結(jié)構(gòu)仍然是原來的結(jié)構(gòu)類型。數(shù)據(jù)結(jié)構(gòu)”作為一門獨立的課程在國外是從1968年才開始設(shè)立的。196孫美國 唐歐克努特教授開創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他

7、所著的計算機程序設(shè)計技巧第 一卷基本算法是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)及其操作的著 作。數(shù)據(jù)結(jié)構(gòu)”在計算機科學(xué)中是一門綜合性的專業(yè)基礎(chǔ)課。數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、 計算機硬件和計算機軟件三者之間的一門核心課程。數(shù)據(jù)結(jié)構(gòu)這一門課的內(nèi)容不僅是 一般程序設(shè)計(特別是非數(shù)值性程序設(shè)計)的基礎(chǔ),而且是設(shè)計和實現(xiàn)編譯程序、操 作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基礎(chǔ)。計算機是一門研究用計算機進行信息表示和處理的科學(xué)。這里面涉及到兩個問題: 信息的表示,信息的處理。而信息的表示和組織又直接關(guān)系到處理信息的程序的效 率。隨著計算機的普及,信息量的增加,信息范圍的拓寬,使許多系統(tǒng)程序和應(yīng)用程 序的規(guī)

8、模很大,結(jié)構(gòu)又相當(dāng)復(fù)雜。因此,為了編寫出一個好”的程序,必須分析待處理的對象的特征及各對象之間存在的關(guān)系,這就是數(shù)據(jù)結(jié)構(gòu)這門課所要研究的問題。 眾所周知,計算機的程序是對信息進行加工處理。在大多數(shù)情況下,這些信息并不是 沒有組織,信息(數(shù)據(jù))之間往往具有重要的結(jié)構(gòu)關(guān)系,這就是數(shù)據(jù)結(jié)構(gòu)的內(nèi)容。數(shù) 據(jù)的結(jié)構(gòu),直接影響算法的選擇和效率。計算機解決一個具體問題時,大致需要經(jīng)過下列幾個步驟:首先要從具體問題中抽 象出一個適當(dāng)?shù)臄?shù)學(xué)模型,然后設(shè)計一個解此數(shù)學(xué)模型的算法(Algorithm),最后編出程序、進行測試、調(diào)整直至得到最終解答。尋求數(shù)學(xué)模型的實質(zhì)是分析問題,從中 提取操作的對象,并找出這些操作對象

9、之間含有的關(guān)系,然后用數(shù)學(xué)的語言加以描 述。計算機算法與數(shù)據(jù)的結(jié)構(gòu)密切相關(guān),算法無不依附于具體的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu) 直接關(guān)系到算法的選擇和效率。運算是由計算機來完成,這就要設(shè)計相應(yīng)的插入、刪 除和修改的算法。也就是說,數(shù)據(jù)結(jié)構(gòu)還需要給出每種結(jié)構(gòu)類型所定義的各種運算的 算法。數(shù)據(jù)是對客觀事物的符號表示,在計算機科學(xué)中是指所有能輸入到計算機中并由計 算機程序處理的符號的總稱。數(shù)據(jù)元素是數(shù)據(jù)的基本單位,在計算機程序中通常作為 一個整體考慮。一個數(shù)據(jù)元素由若干個數(shù)據(jù)項組成。數(shù)據(jù)項是數(shù)據(jù)的不可分割的最小 單位。有兩類數(shù)據(jù)元素:一類是不可分割的原子型數(shù)據(jù)元素,如:整數(shù) 5,字符N 等;另一類是由多個款項構(gòu)

10、成的數(shù)據(jù)元素,其中每個款項被稱為一個數(shù)據(jù)項。例如描 述一個學(xué)生的信息的數(shù)據(jù)元素可由下列6個數(shù)據(jù)項組成。其中的出生日期又可以由三個 數(shù)據(jù)項:年、月和日組成,則稱“出生日期”為組合項,而其它不可分割的數(shù)據(jù)項 為原子項。關(guān)鍵字指的是能識別一個或多個數(shù)據(jù)元素的數(shù)據(jù)項。若能起唯一識別作 用,則稱之為“主關(guān)鍵字,否則稱之為次關(guān)鍵字。數(shù)據(jù)對象是性質(zhì)相同的數(shù)據(jù)元素 的集合,是數(shù)據(jù)的一個子集。數(shù)據(jù)對象可以是有限的,也可以是無限的。數(shù)據(jù)處理是指對數(shù)據(jù)進行查找、插入、刪除、合并、排序、統(tǒng)計以及簡單計算等的 操作過程。在早期,計算機主要用于科學(xué)和工程計算,進入八十年代以后,計算機主 要用于數(shù)據(jù)處理。據(jù)有關(guān)統(tǒng)計資料表明

11、,現(xiàn)在計算機用于數(shù)據(jù)處理的時間比例達到 80%以上,隨著時間的推移和計算機應(yīng)用的進一步普及,計算機用于數(shù)據(jù)處理的時間 比例必將進一步增大。2 .課題分析編寫一個黑白棋游戲的c程序,包括以下功能:初始狀態(tài):在一個8*8的棋盤中央交叉排放黑白棋子各兩枚,白棋先走。(1)每個棋手下棋時,擺子的位置必須是以自己的棋子能包圍住對方一個或多個棋子,被包圍住的對方棋子將成為自己的棋子。包圍的方向可以是上下左右以及斜線8個方向,只要能連成一線即可。(2)當(dāng)輪到某一個棋手下子,但是他沒有可以包圍對方棋子的位置時,他必須停步,讓對方走棋,直到他可以走為止。(3)當(dāng)棋盤上一方的棋子為0或者下滿64格,游戲結(jié)束,棋子

12、少者輸。(4)當(dāng)一局結(jié)束后,可以選擇 y/n選擇是否繼續(xù)下一局游戲3 .具體設(shè)計過程3.1 設(shè)計思路程序界面應(yīng)是一個二維平面圖,所以數(shù)據(jù)的表示用二維數(shù)組,數(shù)組兩個下標(biāo)可以 表示棋盤上的位置,數(shù)組元素的值代表棋格中的狀態(tài),共有三種情況,分別是空格、 黑棋和白棋。這樣給數(shù)組元素的取值設(shè)定為 0、1、2,其中0代表空格,*代表白色棋 子,0代表黑色棋子。這樣程序的主要工作是接收棋手按鍵操作,一旦接收到回車鍵, 說明棋手?jǐn)[子,先判斷是不是有效位置,也就是能不能包圍住對方棋子,如果能,便 為棋子所在的位置往上下、左右、左上、左下、右上、右下 8個方向?qū)ふ冶话鼑〉乃?有棋子(必須是連續(xù)的,中間不能有空格

13、),將這些被包圍住的對方棋子都變成自己的棋子,然后對當(dāng)前棋盤中的黑白棋個數(shù)進行統(tǒng)計并輸出結(jié)果。如果沒有這樣的位置 可以落子,則停步,讓對方走棋,重復(fù)上述步驟,直到游戲結(jié)束。3.2 程序設(shè)計流程圖系統(tǒng)功能流程圖,首先我們先初始化系統(tǒng)功能,定義各項函數(shù),并初始化一些參 數(shù)變量。然后繪制棋盤。然后按 enter鍵進行游戲,當(dāng)我們輸入一個橫縱坐標(biāo)時,系 統(tǒng)會判斷此坐標(biāo)是否合法,若合法則落子,并翻轉(zhuǎn)相應(yīng)的棋子。最終判斷雙方的勝負 情況。如圖3.1所示:圖3.1程序整體流程圖用心整理的精品 word文檔,下載即可編輯! !圖3.2為下棋流程圖。首先我們進入游戲,然后由玩家先落子。先判斷落子位置是否已經(jīng)有棋

14、子了,若有則重新輸入。若沒有,再判斷是否能夠引起棋子的翻轉(zhuǎn),若可以則落子,將對方的棋子變成自己的棋子,反之換由對方下子。當(dāng)一方走完之后,換另一方走。如下圖所示:圖3.2人機對戰(zhàn)模塊流程圖圖3.3為成績運行流程圖,當(dāng)棋盤上的每一個格子都有棋子的時候,系統(tǒng)將遍歷棋盤,然后根據(jù)棋盤上棋子的花色分別代表的是哪一方,在哪一方的成績上+1.遍歷完后,判斷雙方分?jǐn)?shù)的大小,并輸出結(jié)果。如下圖所示:用心整理的精品 word文檔,下載即可編輯! !3.3 .函數(shù)實現(xiàn)說明(1)void main()主函數(shù)功能:在主函數(shù)中,首先定義使用到的常數(shù)、全局變量、函數(shù)原型說明。盤狀態(tài)用數(shù)組a88,初值為0,表示空格。函數(shù)的實

15、體部分,開始初始化圖形系統(tǒng),然后通過調(diào)用函數(shù)display。先畫出棋盤,調(diào)用 make_move(刑computer_move()進行人機對戰(zhàn)函數(shù)開始游戲,一旦游戲結(jié)束后,關(guān)閉圖形系統(tǒng),程序結(jié)束。(2)void display ()棋盤繪制函數(shù)功能:函數(shù)display。通過for循環(huán),對棋盤界面進行了繪制用法:此函數(shù)調(diào)用方式為 void display(char boardSIZE);說明:參數(shù)是一個二維數(shù)組,size為定義的長度。值為8返回值:無int valid_moves ()有效步驟函數(shù)功能:通過此函數(shù)來判斷電腦或玩家下的棋子是否是有效的。用法:此函數(shù)調(diào)用方式為 int valid_m

16、oves(char boardSIZE,intmovesSIZE,char player);說明:char boardSIZE為棋盤,int movesSIZE為玩家輸入的橫縱坐標(biāo),charplayer為判斷的玩家為電腦還是人返回值:int(4)void make_move ()下棋函數(shù)功能:定義坐標(biāo),控制變量并通過for循環(huán)來判斷翻轉(zhuǎn)棋子。達到同一方向上將對方 的棋子翻轉(zhuǎn)為自己的棋子。用法:此函數(shù)調(diào)用方式為 void make_move(char boardSIZE,int row,int col,charplayer)說明:int row,int col分別代表其中的橫縱坐標(biāo)返回值:無(5

17、)void computer_move()電腦下棋函數(shù)功能:主函數(shù)通過調(diào)用該函數(shù),獲取電腦的下棋位置。該函數(shù)分別又調(diào)用make_move();valid_moves();new_score=best_move(); 函數(shù),以獲取最佳的下棋位置用法:此函數(shù)調(diào)用方式為 void computer_move(char boardSIZE,int movesSIZE,char player);說明:int movesSIZE為玩家輸入的橫縱坐標(biāo),char player為判斷的玩家為電腦還是人返回值:無(6)int get_score()分?jǐn)?shù)獲取函數(shù)的聲明功能:用此函數(shù)來獲取電腦和玩家的分?jǐn)?shù),以便判斷最

18、終的勝負用法:此函數(shù)調(diào)用方式為(char boardSIZE,char player);說明:char boardSIZE是一個二維數(shù)組,來控制棋盤變量。char player 是代表玩家的一個參數(shù)返回值:int(7)int best_move ()功能:best_move是電腦下子最佳位置判斷的一個函數(shù),通過不斷地比較,用了兩次for 循環(huán),并遍歷棋盤上*的個數(shù),來獲取最佳位置。用法:此函數(shù)調(diào)用方式為 int best_move(char boardSIZE,int movesSIZE,char player);說明: 同 void computer_move()返回值:int4 .程序運行

19、結(jié)果圖4.1為初始界面,當(dāng)我們選擇運行程序時,便會出現(xiàn)如下圖的界面。根據(jù)上面文字的內(nèi)容,我們可以了解游戲的規(guī)則。并按 enter1,進行游戲。如下圖所示:F應(yīng)用勒牢山e ibaiqiD? DiigheibaiqLexe玩法說明.舜筋局益持黑子,加入者持白子口psi* r、&下的位置, I邛子時,必須在稹r直、斜人方向中.至少 小了每一般白型軾本殺的時有較多子的一方獲勝。,而該干與剛下的棋子間全力施,損俞方下子.如左材黑子沒有地方可下,或雙方皆無子可下口用你好運!請按匕nt4鍵,進行游戲.圖4.1初始界面圖圖4.2為進入游戲后的首界面,下圖是按ente例之后進入的游戲界面。第一局游戲時,玩家的棋

20、子用0代替,電腦的棋子用*代替。初始界面中,棋盤上便已有了在棋盤正中央的相互交叉的棋子。這是初始界面的一種情況。如下圖所示:寺黑子,加入者持白子,,之后輪黃.R左鍵點拔兔下的 直 斜人方向中,矍督致我方照楣篇薪,而該子與剛下的棋子間全,黑子沒有地方可下.)工.庖64個空格走密或雙方皆無子可除 勝負擁有較多子的一方照怛請按ent”鍵,進行游戲.圖4.2游戲首界面圖圖4.3為運行過程中,雙方對峙的截圖。在游戲過程中,輪到玩家下棋的時候,系 統(tǒng)會出現(xiàn):輸入坐標(biāo) 行列 的提示,此時,我們的輸入方式是第一個為數(shù)字,代表棋 盤的橫坐標(biāo),第二個為字母,代表棋盤的縱坐標(biāo),中間無空格。如下圖所示:e !* 一一

21、 ii9vB- 4一 輸入坐標(biāo)(行列;,3:0 I : I Esi r : a r a : 0 I 3 : e I精心整理,用心做精品 2971+t+i十+b+-十+i1i十 :圖4.4雙方對峙結(jié)果圖5 .軟件使用說明黑白棋是一款娛樂型的游戲,在與鍛煉人的腦力和反應(yīng)能力的。在本程序 中,先切換到相應(yīng)的界面下,然后根據(jù)提示來完成下一步操作。在本程序中縱坐標(biāo)是數(shù)字,橫坐標(biāo)是字母。根據(jù)坐標(biāo)軸的性質(zhì)來確定每一步棋 的位置。并根據(jù)與之相對應(yīng)的提示來完成結(jié)果。例如:電腦無棋可走,這是一 步無效操作等。圖5.1為程序進入游戲后的初始界面玩法逸明一、J噓韓醯持卷 加入者持白子至哼2 8-.,患晶褊至余左喙矗下

22、的位置,町輪痛下二 彳嘉在必須在遂直. 斜八方向中,至少有妝我方的棋 蕊霸子版我方餌子夾殺也對方棋兀將全變?yōu)槲曳筋伾?穗子解魂醯藕基醒下子。4勝負:擁. 祝你好運9有較多子的一方?jīng)Q勝.請按enter鍵,進行游戲.a bc d e f 9 h1: !11111Hli1H11H112:11HI1HI1ItIIi1I3:!1111H111111V114:!: 0 1 * 11 I IJ_I_|L.I|,5:1-g.-_I11uIQ1H11i#*IWiiiii6::1111II1111111117:!1111l1111I1H11JJiI IE_|_8:!11I1H111t11II1IJ|1IL1L輸入

23、坐標(biāo)6列3 一 .圖5.1程序初始界面圖下圖為圖5.2,是程序運行過程中的截圖。當(dāng)我們輸入 1a是,提示我們無效,請重新輸入,當(dāng)輸入3f是,亦是如此。此程序過程是輸入不合法的過程。在做了相應(yīng)的操作后,再繼續(xù)操作。玩家一定要根據(jù)提示來進行下一步操作,所 以上圖的正確坐標(biāo)是6e。圖5.2無效運行的過程 圖圖5.3是玩家要盡可能的使盤上的的子來變成己方的,避免不必要的損失。有是電腦會沒有棋可走,你可以在繼續(xù)走!且廠工、罷白笆,蜀建文件箕,把皿名計算機。8如02班 陳為國一里U.JL輸巫詞8gTa bc d egha1 : 0 : D 我5 x! o1 1H-f|r1-4-T-+-4-2 : 0 :

24、K:O 1 ; *;M| M1 0i i_ .JL-3 ; o ; o1*1*1*| *| 安i 0十1 1_ _j_gl4 ! 0 i D11kb,! c ! * 1 o_|_| 菱_ 1| 弟_ _|_I 0T1 1_ A5 1 o : o1 o ! * 1 o*升 TT1 1_ x6 ! o ! o1 O 1 o 1 o | M|注1 #T1 I .士?: Q : oI o o ! oI Di 1at1 14IF=fr11 1=一.,+-j-+S ! o ! o! o 1 o 1 o_ . i Oi O| w1 |tn卜睛沿棋可走.玩家走。a bc d. egh4Hr-1-/一一一一/

25、一一廣,*-+1 : 0 : D:*!1*l晨1 01 1|_2 : o : *:Q ; * ; *:0-I-1 i111-J-4-4-T-4-3 : o : o!*!*i W| I 0i 1!+. -+ , -+4 ; 口 :。I O 1 * 1 o*:Q11.j-5 ! o : o! a ! * o M | 開1 注:弄T1 II_占F丁 圖5.3無棋可走情況圖6.結(jié)論課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實 踐能力的重要環(huán)節(jié),是對我們的實際工作能力的具體訓(xùn)練和考察過程 .隨著科學(xué)技術(shù)發(fā) 展的日新月異,當(dāng)今計算機應(yīng)用在生活中可以說得是無處不在。因此作為二十

26、一世紀(jì) 的大學(xué)來說掌握程序開發(fā)技術(shù)是十分重要的,而 C語言又是最常見,功能最強大的一 種高級語言,因此做好C語言課程設(shè)計是十分必要的?;仡櫰鸫舜握n程設(shè)計,至今我 們?nèi)愿锌H多,的確,自從拿到題目到完成整個編程,從理論到實踐,在整整半個月 的日子里,可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且 學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我們懂得了理論與實際相結(jié)合是很重要的,只有理論知識是 遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真 正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇 到問題,可以說得是困難重

27、重,這畢竟第一次做的,難免會遇到過各種各樣的問題, 同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對一些前面學(xué)過的知識理解得不夠深 刻,掌握得不夠牢固,比如說結(jié)構(gòu)體,指針,鏈表通過這次課程設(shè)計之后,我們把 前面所學(xué)過的知識又重新溫故了一遍。我做的是黑白棋的課程設(shè)計,雖然是很簡單的一個小的程序,但對我一個初學(xué)者 來說卻是一個很大的困難。更加是第一次做課程設(shè)計,所以第一天下午在機房做了一 個下午卻絲毫沒有進展,最主要是不知從何開始,這個時候才知道上課老師們不厭其 煩的教導(dǎo)是多么的寶貴,這個時候才后悔上課的時候沒有認真的聽講??墒乾F(xiàn)在一切 都晚了,還好時間還算是充裕,只好拿出書本重新復(fù)習(xí)一下。特別是結(jié)構(gòu)體,繪制棋盤的部分,幾乎是一片空白,不知從何著手。不過經(jīng)過幾 大的努力,大體上把課本上的知識點看了一遍,知識點也都基本是撐握了,所以一下 一步就是開始正式的編程序了。不過畢

溫馨提示

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

評論

0/150

提交評論