第一篇:8課設(shè)
《四季童話》教學(xué)設(shè)計(jì)
一、質(zhì)疑導(dǎo)入,自學(xué)指導(dǎo)。1.板書課題,讀題。
2.讀了課題后你們知道了什么?還想知道什么?帶著問題自讀課文。3.自學(xué)指導(dǎo)。
(1)借助拼音讀準(zhǔn)生字,生詞。
(2)童話中四季的主人公是誰?分別做了些什么有趣的事?從這些事中你體會(huì)到四季的哪些特點(diǎn)?
二、自主學(xué)習(xí),合作探究。
1.請(qǐng)同學(xué)們選自己最喜歡的自然段讀一讀,細(xì)細(xì)品味,想一想:哪些句子或詞語讓你印象最深?你從中體會(huì)到四季的那些特點(diǎn)?
2.童話中四季的主人公是誰?分別做了些什么有趣的事? 3.在自讀自悟的基礎(chǔ)上小組交流,教師點(diǎn)撥。
4.小組內(nèi)以各種形式品讀句子,體會(huì)“把景物形象化”的寫作奧秘。
三、反饋展示,質(zhì)疑釋疑。1.請(qǐng)根據(jù)自己的理解發(fā)表意見。
2.匯報(bào)過程中,引導(dǎo)他們邊讀邊想,再通過配樂和圖片再現(xiàn)情景的方法,把學(xué)生帶入課文描寫的情景中,體會(huì)感悟文本。
3.用一個(gè)詞(一句話)概括四季的特點(diǎn)。4.積累背誦。
四、精講提升,拓展延伸。
1.這是一首介紹春、夏、秋、冬四個(gè)季節(jié)變化的詩歌。它以擬人的寫法,抓住四季的特點(diǎn),生動(dòng)地描繪了迷人的四季景色。四季給我們帶來了這么多美麗的景象,你們喜歡四季嗎?你想對(duì)他們說些什么?
2.每人選擇課文中的一個(gè)部分,組織一次朗讀比賽。五.達(dá)標(biāo)檢測,反饋鞏固。
一、把句子補(bǔ)充完整。
1.春姑娘愛笑,笑出__________________________________。
2.小燕子的剪刀舞,_____________,_____________,__________________________。3.夏娃娃是個(gè)_____________的孩子,他常常捧出_____________,當(dāng)鏡子玩兒。照得_____________,照得____________,照得________________________.
第二篇:數(shù)據(jù)結(jié)構(gòu)課設(shè)
數(shù)據(jù)結(jié)構(gòu)課設(shè) 大整數(shù)計(jì)數(shù)器 1.問題描述
實(shí)現(xiàn)大整數(shù)(200位以內(nèi)的整數(shù))的加、減、乘、除運(yùn)算。2.設(shè)計(jì)要求
設(shè)計(jì)程序?qū)崿F(xiàn)兩個(gè)大整數(shù)的四則運(yùn)算,輸出這兩個(gè)大整數(shù)的和、差、積、商及余數(shù)。
3.數(shù)據(jù)結(jié)構(gòu)
本課程設(shè)計(jì)采用順序串來實(shí)現(xiàn)。4.問題分析
由于整數(shù)數(shù)據(jù)存儲(chǔ)位數(shù)有限,因此引入串的概念,將整型數(shù)據(jù)用字符串進(jìn)行存儲(chǔ),利用字符串的一個(gè)字符存儲(chǔ)大整數(shù)的一位數(shù)值,然后根據(jù)四則運(yùn)算規(guī)則,對(duì)相應(yīng)位依次進(jìn)行相應(yīng)運(yùn)算,同時(shí)保存進(jìn)位,從而實(shí)現(xiàn)大整數(shù)精確的運(yùn)算。具體設(shè)計(jì)思路如下:
(1)計(jì)算大整數(shù)加法時(shí),采用數(shù)學(xué)中列豎式的方法,從個(gè)位(即字符串的最后一個(gè)字符)開始逐位相加,超過或達(dá)到10則進(jìn)位,同時(shí)將該位計(jì)算結(jié)果存到另一個(gè)字符串中,直至加完大整數(shù)的所有位為止。
(2)計(jì)算大整數(shù)減法時(shí),首先調(diào)用庫函數(shù)strcmp判斷這兩個(gè)大整數(shù)是否相等,如果相等則結(jié)果為0,否則用compare函數(shù)判斷被減數(shù)和減數(shù)的大小關(guān)系,進(jìn)而確定結(jié)果為正數(shù)還是負(fù)數(shù),然后對(duì)齊位依次進(jìn)行減法,不夠減則向前借位,直至求出每一位減法之后的結(jié)果。
(3)計(jì)算大整數(shù)乘法時(shí),首先讓乘數(shù)的每一位都和被乘數(shù)進(jìn)行乘法運(yùn)算,兩個(gè)乘數(shù)之積與進(jìn)位相加作為當(dāng)前位乘積,求得當(dāng)前位的同時(shí)獲取進(jìn)位值,進(jìn)而實(shí)現(xiàn)大整數(shù)的乘法運(yùn)算。
(4)計(jì)算大整數(shù)除法時(shí),類似做減法,基本思想是反復(fù)做減法,從被除數(shù)里最多能減去多少次除數(shù),所求得的次數(shù)就是商,剩余不夠減的部分則是余數(shù),這樣便可計(jì)算出大整數(shù)除法的商和余數(shù)。
需求分析(1)任何一個(gè)表達(dá)式都是由操作數(shù)、運(yùn)算符和界限符組成的,我們稱之為單詞.(2)表達(dá)式求值首先要符合四則運(yùn)算規(guī)則: ① 先乘除,后加減 ② 從左到右進(jìn)行運(yùn)算 ③ 先括號(hào)內(nèi),后括號(hào)外(3)功能實(shí)現(xiàn): ① 若當(dāng)前單詞為數(shù)字串,則壓入數(shù)值棧 ② 若當(dāng)前單詞為運(yùn)算符并大于運(yùn)算棧的棧頂符號(hào),則進(jìn)棧 ③ 若當(dāng)前單詞為運(yùn)算符并等于運(yùn)算棧的棧頂符號(hào),去括號(hào),輸出 ④ 若當(dāng)前單詞為運(yùn)算符并小于運(yùn)算棧的棧頂符號(hào),則進(jìn)行運(yùn)算
課程設(shè)計(jì)的目的 通過課程設(shè)計(jì)全面掌握《C語言程序設(shè)計(jì)》關(guān)鍵知識(shí)點(diǎn),掌握C語言中數(shù)組、指針、結(jié)構(gòu)體、文件等方面的基本知識(shí)。
通過課程設(shè)計(jì)了解并掌握C語言程序設(shè)計(jì)的方法,熟悉C程序設(shè)計(jì)的開發(fā)環(huán)境及C程序的
調(diào)試過程。
培養(yǎng)學(xué)生查閱參考資料、手冊(cè)的自學(xué)能力,通過獨(dú)立思考深入鉆研有關(guān)問題,學(xué)會(huì)自己分析、解決問題的方法。
課程設(shè)計(jì)的任務(wù)和要求 任務(wù): 編程求出輸入的兩個(gè)正整數(shù)之和,這兩個(gè)正整數(shù)的可能達(dá)到200位。
要求:
輸入:
共有兩行,第一行為第1個(gè)正整數(shù);第二行為第2個(gè)正整數(shù)。
輸出:
2個(gè)正整數(shù)之和。
主要參與成員
姓 名 學(xué) 號(hào)
系 別 班 級(jí) 主要作用(分工)
成果形式
設(shè)計(jì) 軟件 作品 其他:
完成情況及以后的拓展設(shè)想 通過用C語言編寫函數(shù)基本實(shí)現(xiàn)了大整數(shù)相加這個(gè)程序,但該程序仍存在一些不足,還可以加上一些語句使程序具有容錯(cuò)功能,并且可以正確計(jì)算一個(gè)負(fù)數(shù)和一個(gè)正數(shù)相加。
課 程 設(shè) 計(jì) 鑒 定 情 況 表 小組鑒定意見
小組長簽名:
年 月 日
指導(dǎo)教師意見
教師簽名:
****年**月**日
課程設(shè)計(jì)成績 優(yōu) 良 及格 不及格 教研室意見
年 月 日 備注 《C語言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告書 作者:廖 序 課程設(shè)計(jì)概述 課程設(shè)計(jì)名稱
大整數(shù)相加 任務(wù)要求: 編程求出輸入的兩個(gè)正整數(shù)之和,這兩個(gè)正整數(shù)的可能達(dá)到200位。
輸入:
共有兩行,第一行為第1個(gè)正整數(shù);第二行為第2個(gè)正整數(shù)。
輸出:
2個(gè)正整數(shù)之和。開發(fā)環(huán)境: C語言。C語言是目前世界上流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語言。1972年,C語言在美國貝爾實(shí)驗(yàn)室里問世,后來又被多次改進(jìn),并出現(xiàn)了多種版本。80年代初,美國國家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI),根據(jù)C語言問世以來各種版本對(duì)C語言的發(fā)展和擴(kuò)充,制定了ANSIC標(biāo)準(zhǔn)。
目前,在微機(jī)上廣泛使用的C語言編譯系統(tǒng)有MicrosoftC、Turbo C、Borland C等。這些C語言版本不僅實(shí)現(xiàn)了ANSIC標(biāo)準(zhǔn),而且在此基礎(chǔ)上各自作了一些擴(kuò)充,使之更加方便、完美。
C語言的特點(diǎn): C語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級(jí)的操作。
由于C語言實(shí)現(xiàn)了對(duì)硬件的編程操作,因此C語言集高級(jí)語言和低級(jí)語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。
此外,C語言還具有效率高,可移植性強(qiáng)等特點(diǎn)。因此廣泛地移植到了各類各型計(jì)算機(jī)上,從而形成了多種版本的C語言。
參考資料
李錚、葉艷冰、汪德俊,C語言程序設(shè)計(jì)基礎(chǔ)與應(yīng)用,清華大學(xué)出版社,2005 [2]CSDN技術(shù)中心
二、概要設(shè)計(jì)
為了實(shí)現(xiàn)大整數(shù)相加這個(gè)程序,將程序劃分為了三個(gè)模塊: 輸入數(shù)據(jù)。運(yùn)算。輸出結(jié)果。
首先定義了子函數(shù)Input()來存儲(chǔ)用戶輸入的兩個(gè)加數(shù),為了滿足任意位數(shù)的兩個(gè)大整數(shù)相加,在子函數(shù)Input()中嵌套調(diào)用子函數(shù)Init()使sum數(shù)組里面存放的數(shù)初始化為”0”。
然后定義子函數(shù)Long_Add()使兩個(gè)大整數(shù)作加法運(yùn)算,從后面往前面相加,附帶進(jìn)位。定義子函數(shù)Output()實(shí)現(xiàn)輸出結(jié)果。
最后如下圖所示,在主函數(shù)main中調(diào)用Input(),Long_Add(),Output()三個(gè)子函數(shù)實(shí)現(xiàn)程序。
三、詳細(xì)設(shè)計(jì)
程序的流程圖:
四、調(diào)試過程 第一次 測試數(shù)據(jù)a=***7,b=111111 編譯運(yùn)行后不能輸出結(jié)果,檢查函數(shù)后編譯正確。再次分析,發(fā)現(xiàn)如果直接把a(bǔ),b,sum定義為unsigned int型的話,計(jì)算出來的和的范圍只能在0~65535之間,否則就會(huì)出現(xiàn)錯(cuò)誤。嘗試將a,b,sum存放到字符數(shù)組中,從個(gè)位開始,一位一位相加。
第二次 測試數(shù)據(jù)a=***7,b=111111 編譯運(yùn)行后仍不能輸出結(jié)果。分析原因,在用于輸出的子函數(shù)Output()中,輸出數(shù)組字符數(shù)組sum[]前未確定和的最高非零位。
嘗試加入for(i=0;i 第三次 測試數(shù)據(jù)a=99999919,b=99 編譯運(yùn)行后發(fā)現(xiàn)計(jì)算出來結(jié)果不正確。經(jīng)過分析,函數(shù)中沒有對(duì)最后 一個(gè)進(jìn)位進(jìn)行處理。 嘗試加入while(carry > 0)語句,再次進(jìn)行調(diào)試。 { tempsum = sum[i]-'0'+carry;sum[i] = tempsum%10+'0';carry = tempsum/10;i--;} 第四次 測試數(shù)據(jù)a=99999919,b=99 編譯運(yùn)行后得到正確結(jié)果。 第五次 隨意輸入幾組數(shù)據(jù)進(jìn)行測試,結(jié)果都是正確的。程序得到實(shí)現(xiàn)。 五、結(jié)論與體會(huì) 通過不斷的調(diào)試、修改,本課程設(shè)計(jì)最終實(shí)現(xiàn)了200位以內(nèi)的兩個(gè)大整數(shù)相加,但程序還 可以進(jìn)一步完善,程序中仍存在一些不足之處,比如缺少容錯(cuò)功能,不能準(zhǔn)確計(jì)算負(fù)整數(shù)加正整數(shù),等等問題 雖然C語言程序設(shè)計(jì)在上學(xué)期做為我們的必修課已經(jīng)學(xué)習(xí)過了,但書到用時(shí)方恨少,這次課程設(shè)計(jì)的學(xué)習(xí)程序設(shè)計(jì)中暴露出的我自身的問題更是非常明顯。 一開始看到題目認(rèn)為非常簡單,直接將兩個(gè)數(shù)都定義為整型。編寫程序并運(yùn)行后發(fā)現(xiàn)并不能達(dá)到題目的要求,計(jì)算出來的和只能小于等于65535,否則就會(huì)出現(xiàn)錯(cuò)誤。分析后,將數(shù)據(jù)作為字符串來處理,用for循環(huán)語句從存數(shù)的字符數(shù)組中一位一位的取數(shù)出來,按照數(shù)位對(duì)齊,從個(gè)位開始,按位相加,逢十進(jìn)一的運(yùn)算規(guī)則進(jìn)行運(yùn)算。最后用字符輸出函數(shù)putchar()輸出計(jì)算出來的結(jié)果。由于程序偏大且較復(fù)雜,將程序劃分為了輸入數(shù)據(jù)、運(yùn)算、輸出數(shù)據(jù)三個(gè)子程序。數(shù)次編譯調(diào)試后,最終使程序得以實(shí)現(xiàn)。 經(jīng)過三個(gè)星期的上機(jī)實(shí)踐學(xué)習(xí),使我對(duì)C語言有了更進(jìn)一步的認(rèn)識(shí)和了解,讓我能夠進(jìn)一步的掌握和運(yùn)用C語言來編寫程序。要想學(xué)好C語言要重在實(shí)踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實(shí)踐,我也發(fā)現(xiàn)我的好多不足之處和薄弱環(huán)節(jié)。 首先,基礎(chǔ)掌握不牢固,對(duì)于C語言中的許多基本語法尚沒有熟練掌握,在設(shè)計(jì)過程中仍需請(qǐng)教其它同學(xué),查閱課本,設(shè)計(jì)效率很低。 其次,經(jīng)典算法掌握不牢。在完成作業(yè)的過程中還需查閱書籍和借鑒他人。 再次,程序量過大的時(shí)候,頭緒理不清。雜亂無章,無系統(tǒng)性,不便調(diào)試和閱覽,自己也易于出錯(cuò)。 并且對(duì)C語言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過實(shí)踐,使我在這幾個(gè)方面的認(rèn)識(shí)有所提高。 通過實(shí)踐的學(xué)習(xí),我認(rèn)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí)C語言,還是其它的語言,以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,所以后在學(xué)習(xí)過程中,我會(huì)更加注視實(shí)踐操作,使自己便好地學(xué)好計(jì)算機(jī)。 六、源程序清單 #include t;string.h> #define Max 1000 char sum[Max+1];/*和*/ char a[Max],b[Max];/*兩個(gè)加數(shù)*/ int len1,len2;void Input(char a[],char b[]){ int i,len;void Init(char a[]);/*對(duì)Init()函數(shù)進(jìn)行聲明*/ printf(“Please enter two integer:n”);scanf(“%s %s”,a,b);len1=strlen(a);len2=strlen(b);Init(sum);len=strlen(a);for(i=len-1;i>=0;i--)sum[Max+i-len] = a[i];} void Init(char a[]) { int i;for(i=0;i void Long_Add(char sum[],char new[]){ int i,j;int len;int tempsum;int carry = 0;/*進(jìn)位*/ len = strlen(new);/*從個(gè)位開始,按位相加,逢十進(jìn)一*/ for(i=Max-1,j=len-1;i>=0,j>=0;i--,j--){ tempsum = sum[i]-'0'+new [j]-'0'+carry;sum[i] = tempsum%10+'0';carry = tempsum/10;} while(carry > 0)/*處理最后一個(gè)進(jìn)位*/ { tempsum = sum[i]-'0'+carry;sum[i] = tempsum%10+'0';carry = tempsum/10;i--;} return;} void Output(char sum[]){int i,n;/*尋找和的最高非零位*/ for(i=0;i Long_Add(sum,b);Output(sum);getch();return 0; 計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用課程設(shè)計(jì) 報(bào)告 系(院): 計(jì)算機(jī)科學(xué)學(xué)院 專業(yè)班級(jí): 計(jì)科11511 姓 名: 鐘燦均 學(xué) 號(hào): 201503687 指導(dǎo)教師: 余紹文 設(shè)計(jì)時(shí)間: 2017.6.12-2017.6.23 設(shè)計(jì)地點(diǎn): 12教1樓機(jī)房 一、課程設(shè)計(jì)目的和意義 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)的目的,是為了讓我們更深入地掌握計(jì)算機(jī)網(wǎng)絡(luò)的核心內(nèi)容,實(shí)現(xiàn)理論與實(shí)踐相結(jié)合。讓學(xué)生用具體的實(shí)踐成果,體現(xiàn)對(duì)理論知識(shí)的掌握程度。有利于學(xué)生提高計(jì)算機(jī)網(wǎng)絡(luò)的實(shí)踐能力,加深對(duì)計(jì)算機(jī)網(wǎng)絡(luò)理論知識(shí)的理解。其基本目的是: 1. 培養(yǎng)學(xué)生理論聯(lián)系實(shí)際的設(shè)計(jì)思想,訓(xùn)練綜合運(yùn)用所學(xué)的基礎(chǔ)理論知識(shí),結(jié)合生產(chǎn)實(shí)際分析和解決網(wǎng)絡(luò)應(yīng)用中問題的能力,從而使基礎(chǔ)理論知識(shí)得到鞏固和加深。2. 學(xué)習(xí)掌握網(wǎng)絡(luò)應(yīng)用工程的一般設(shè)計(jì)過程和方法。 二、設(shè)計(jì)題目和要求 1.編寫程序,實(shí)現(xiàn)系統(tǒng)的基本功能; 2.要有用戶界面:要求至少采用文本菜單界面;鼓勵(lì)采用圖形菜單界面; 3.寫課程設(shè)計(jì)報(bào)告,內(nèi)容包括: ? 封面(參見附錄I) ? 需求分析:以無歧義的陳述說明程序設(shè)計(jì)的任務(wù),強(qiáng)調(diào)的是程序要做什么?給出功能模塊圖和流程圖。同時(shí)明確規(guī)定:輸入的形式和輸出值的范圍;輸出的形式;程序所能夠達(dá)到的功能;測試數(shù)據(jù),包括正確的輸入及其輸出結(jié)果和含有錯(cuò)誤的輸入及其輸出結(jié)果。? 概要設(shè)計(jì):包括程序設(shè)計(jì)組成框圖,程序中使用的存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)說明(如果指定存儲(chǔ)結(jié)構(gòu)請(qǐng)寫出該存儲(chǔ)結(jié)構(gòu)的定義)。 ? 詳細(xì)設(shè)計(jì):包括模塊功能說明(如函數(shù)功能、入口及出口參數(shù)說明,函數(shù)調(diào)用關(guān)系描述等),每個(gè)模塊的算法設(shè)計(jì)說明(可以是描述算法的流程圖)。其中源程序要按照寫程序的規(guī)則來編寫,結(jié)構(gòu)清晰,重點(diǎn)函數(shù)的重點(diǎn)變量,重點(diǎn)功能部分要加上清晰的程序注釋。? 運(yùn)行結(jié)果:包括典型的界面、輸入和輸出數(shù)據(jù)等; ? 總結(jié):包括課程設(shè)計(jì)中遇到的問題,解決問題的過程及體會(huì)、收獲、對(duì)課程設(shè)計(jì)的認(rèn)識(shí)與思考等。 ? 附錄:包括主要程序清單,要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。? 開發(fā)環(huán)境:windows 10 ? 開發(fā)工具: vs2008 題目3:基于UDP協(xié)議的簡易聊天機(jī)器人 設(shè)計(jì)目標(biāo): 1.了解Socket通信的原理,在此基礎(chǔ)上編寫一個(gè)聊天程序; 2.理解upd原理;課程設(shè)計(jì)系統(tǒng)組成及模塊功能: 此課程設(shè)計(jì)實(shí)現(xiàn)了基于UDP的客戶/服務(wù)器通信程序,需要實(shí)現(xiàn)以下一些基本功能: 1.客戶端連接聊天機(jī)器人服務(wù)器; 2.消息發(fā)送:客戶端發(fā)送消息給機(jī)器人服務(wù)器。 3.消息接收:客戶端接收到機(jī)器人服務(wù)器發(fā)送給他的消息。4.可以有多個(gè)客戶端同時(shí)連接 5.智能回復(fù)功能:根據(jù)用戶發(fā)送的消息內(nèi)容,稍微有點(diǎn)智能回復(fù)。 運(yùn)行效果: 服務(wù)器端和客戶端截圖 三、設(shè)計(jì)內(nèi)容 1、UDP傳送數(shù)據(jù)前并不與對(duì)方建立連接,即UDP是無連接的,在傳輸數(shù)據(jù)前,發(fā)送方和接收方相互交換信息使雙方同步。 2、UDP不對(duì)收到的數(shù)據(jù)進(jìn)行排序,在UDP報(bào)文的首部中并沒有關(guān)于數(shù)據(jù)順序的信息(如TCP所采用的序號(hào)),而且報(bào)文不一定按順序到達(dá)的,所以接收端無從排起。 3、UDP對(duì)接收到的數(shù)據(jù)報(bào)不發(fā)送確認(rèn)信號(hào),發(fā)送端不知道數(shù)據(jù)是否被正確接收,也不會(huì)重發(fā)數(shù)據(jù)。 4、UDP傳送數(shù)據(jù)較TCP快速,系統(tǒng)開銷也少。 5、由于缺乏擁塞控制(congestion control),需要基于網(wǎng)絡(luò)的機(jī)制來減小因失控和高速UDP流量負(fù)荷而導(dǎo)致的擁塞崩潰效應(yīng)。換句話說,因?yàn)閁DP發(fā)送者不能夠檢測擁塞,所以像使用包隊(duì)列和丟棄技術(shù)的路由器這樣的網(wǎng)絡(luò)基本設(shè)備往往就成為降低UDP過大通信量的有效工具。數(shù)據(jù)報(bào)擁塞控制協(xié)議(DCCP)設(shè)計(jì)成通過在諸如流媒體類型的高速率UDP流中增加主機(jī)擁塞控制來減小這個(gè)潛在的問題。 從以上UDP協(xié)議特點(diǎn)可知,UDP提供的是無連接的、不可靠的數(shù)據(jù)傳送方式,是一種盡力而為的數(shù)據(jù)交付服務(wù)。 1.服務(wù)端 1.2.3.4.5.加載協(xié)議棧; 創(chuàng)建套接字; 將套接字綁定到一個(gè)本地地址和端口bind; 等待接收數(shù)據(jù)recvfrom;關(guān)閉套接字; 2.客戶端 1.2.3.4.加載協(xié)議棧; 創(chuàng)建套接字socket; 向服務(wù)器發(fā)送數(shù)據(jù)sendto;關(guān)閉套接字; 3.相關(guān)代碼顯示:(客戶端) int main(int argc, char* argv[]){ system(“@color 0e”);WORD socketVersion = MAKEWORD(2, 2);WSADATA wsaData;if(WSAStartup(socketVersion, &wsaData)!= 0){ } sockaddr_in sin;sin.sin_family = AF_INET;sin.sin_port = htons(8888);sin.sin_addr.S_un.S_addr = inet_addr(m);int len = sizeof(sin);return 0;以上代碼為相關(guān)版本信息及熱啟動(dòng)的一些操作;; 結(jié)構(gòu)體端口號(hào)及相關(guān)地址信息以及轉(zhuǎn)化函數(shù),將輸入的信息轉(zhuǎn)化為計(jì)算機(jī)可識(shí)別的二進(jìn)制代碼,進(jìn)行相關(guān)構(gòu)造 char * sendData = new char[255];cout << “主人:”;cin >> sendData;while(strcmp(sendData, “#”)!= 0){ sendto(sclient, sendData, strlen(sendData), 0,(sockaddr *)&sin, len);char recvData[255];int ret = recvfrom(sclient, recvData, 255, 0,(sockaddr *)&sin, &len);if(ret > 0){ } recvData[ret] = 0x00;cout << “機(jī)器人:”;printf(recvData);4.相關(guān)代碼展示:(服務(wù)端) SOCKET serSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);if(serSocket == INVALID_SOCKET){ } printf(“socket error!”);return 0;3 if(bind(serSocket,(sockaddr *)&serAddr, sizeof(serAddr))== SOCKET_ERROR){ } sockaddr_in remoteAddr;int nAddrLen = sizeof(remoteAddr);char * sendData = new char[255];char recvData[255];while(true){ int ret = recvfrom(serSocket, recvData, 255, 0,(sockaddr *)&remoteAddr, //printf(recvData);if(ret > 0){ } struct Ro { char recv[255];char send[255];recvData[ret] = 0x00;printf(“接受到一個(gè)連接:%s rn”, inet_ntoa(remoteAddr.sin_addr));cout << “主人:”;printf(recvData);printf(“bind error!”);closesocket(serSocket);return 0;以上為對(duì)套接字的綁定及判斷綁定是否成功,以及對(duì)于相關(guān)信息的初始化 &nAddrLen);}Ro;FILE *fp;fp = fopen(“G:機(jī)器人問答機(jī)制.txt”, “r”);while(!feof(fp)){ } fscanf(fp, “%s %s”, Ro.recv, Ro.send);if(strcmp(recvData, Ro.recv)== 0){ } else { } strcpy(sendData, Ro.send);break;strcpy(sendData, “對(duì)不起,我不知道”);4 fclose(fp);cout << endl;cout << “機(jī)器人:” << sendData << endl;sendto(serSocket, sendData, strlen(sendData), 0,(sockaddr *)&remoteAddr, nAddrLen); 四、設(shè)計(jì)成果以及心得 1.成果 2.心得 通過對(duì)課設(shè)的相關(guān)的操作,加強(qiáng)了對(duì)于相關(guān)知識(shí)的理解,對(duì)于知識(shí)的應(yīng)用也得以加強(qiáng),在課設(shè)過程中,聊天機(jī)器人制作較為有趣,對(duì)于TCP與UDP的通信方式有了進(jìn)一步的理解和加強(qiáng),對(duì)于socket編程的相關(guān)基礎(chǔ)也得以進(jìn)一步的理解和學(xué)習(xí)。在今后的學(xué)習(xí)過程中希望可以將所學(xué)知識(shí)應(yīng)用于實(shí)際,學(xué)以致用。而且對(duì)于課設(shè)中存在的問題和不足,以及通過老師的講解,對(duì)一些算法加以分析和改進(jìn),從而不斷完善課設(shè)內(nèi)容,對(duì)內(nèi)容的理解得以加深。 指導(dǎo)老師意見: 成績: 教師簽名: 2017年6月23日 本次課程設(shè)計(jì)我們小組順利的完成了鍋爐內(nèi)膽水溫與循環(huán)水流量串級(jí)控制系統(tǒng)。我們通過討論對(duì)過程參數(shù)方面的知識(shí)有了更加深入的了解。我負(fù)責(zé)的是傳模擬量采集模塊。 和以前做過的課程設(shè)計(jì)一樣,經(jīng)過兩周的課程設(shè)計(jì)和學(xué)習(xí)鞏固過程,我充分認(rèn)識(shí)到理論聯(lián)系實(shí)際能力的重要性。另外還讓我知道設(shè)計(jì)過程中應(yīng)自始至終持有嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,不能存有一絲的僥幸心理。首先設(shè)計(jì)中發(fā)現(xiàn)自己的理論知識(shí)掌握的不牢固。其次就是在設(shè)計(jì)過程中出現(xiàn)了很多問題,但是自己不會(huì)具體情況具體分析。本次工程實(shí)踐就是利用THJ-4型過程控制實(shí)驗(yàn)裝置為硬件基礎(chǔ)做鍋爐內(nèi)膽水溫控制系統(tǒng)實(shí)驗(yàn)分析,采用MCGS組態(tài)軟件在上位機(jī)實(shí)現(xiàn)顯示和控制。通過本次工程實(shí)踐,來熟悉工業(yè)過程控制的控制流程以及其控制原理。 同學(xué)的幫助在為期一周的課設(shè)候中有至關(guān)重要的作用。因?yàn)橐粋€(gè)人的能力是有限的。在同學(xué)的點(diǎn)滴幫助下不斷的自我完善,從而達(dá)到目的。 我覺得作為一名自動(dòng)化專業(yè)的學(xué)生,傳感器的課程設(shè)計(jì)是很有意義的。更重要的是如何把自己平時(shí)所學(xué)的東西應(yīng)用到實(shí)際中。雖然自己對(duì)于這門課懂的并不多,很多基礎(chǔ)的東西都還沒有很好的掌握,覺得很難,也沒有很有效的辦法通過自身去理解,但是靠著這一個(gè)禮拜的“學(xué)習(xí)”,在小組同學(xué)的幫助和講解下,漸漸對(duì)這門課逐漸產(chǎn)生了些許的興趣,自己開始主動(dòng)學(xué)習(xí)并逐步從基礎(chǔ)慢慢開始弄懂它。我認(rèn)為這個(gè)收獲應(yīng)該說是相當(dāng)大的。覺得課程設(shè)計(jì)反映的是一個(gè)從理論到實(shí)際應(yīng)用的過程,但是更遠(yuǎn)一點(diǎn)可以聯(lián)系到以后畢業(yè)之后從學(xué)校轉(zhuǎn)到踏上社會(huì)的一個(gè)過程。小組人員的配合﹑相處,以及自身的動(dòng)腦和努力,都是以后工作中需要的。 電 子 工 程 學(xué) 院 課程設(shè)計(jì)報(bào)告格式及要求 一、封面:單獨(dú)1頁(見樣件) 二、摘要、關(guān)鍵詞:中文(250~300字)、英文;單獨(dú)1頁 中文摘要前加:“摘要:”,英文摘要前加“Abstract:”。 關(guān)鍵詞一般是3-6個(gè),中英文關(guān)鍵詞一一對(duì)應(yīng),中文前冠以“關(guān)鍵詞:”,英文前冠以“Key words:”。 三、目錄:內(nèi)容必要對(duì)應(yīng)頁碼號(hào)。目錄包括設(shè)計(jì)總結(jié)報(bào)告的章節(jié)標(biāo)題、附錄的內(nèi)容所對(duì)應(yīng)的頁碼。章節(jié)標(biāo)題的排列如下格式進(jìn)行: 1.........................................................................(第1級(jí)) 1.1………………………………………………(第2級(jí)) 1.1.1………………………………………(第3級(jí)) (1)……………………………………(第4級(jí)) ①……………………………………….(第5級(jí)) a……………………………………….(第6級(jí)) 四、正文:正文是設(shè)計(jì)總結(jié)報(bào)告的核心。設(shè)計(jì)總結(jié)報(bào)告正文的主要內(nèi)容包含有:系統(tǒng)設(shè)計(jì)、單元電路設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)測試、結(jié)論等。 字體要求: 設(shè)計(jì)報(bào)告統(tǒng)一用A4紙打印,設(shè)計(jì)報(bào)告正文內(nèi)容用小四號(hào)宋體。報(bào)告從正文開始統(tǒng)一編頁碼。左側(cè)裝訂。 一級(jí)標(biāo)題:小二號(hào)黑體,居中占5行,標(biāo)題與題目之間空一個(gè)漢字的空。二級(jí)標(biāo)題:三號(hào)標(biāo)宋,居中占三行,標(biāo)題與題目之間空一個(gè)漢字的空。三級(jí)標(biāo)題:四號(hào)黑體,頂格占兩行,標(biāo)題與題目之間空一個(gè)漢字的空。四級(jí)標(biāo)題:小四號(hào)粗楷體,頂格占一行,標(biāo)題與題目之間空一個(gè)漢字的空。 標(biāo)題中的英文字母均采用“Times New Roma”體,字號(hào)同標(biāo)題字號(hào)。四級(jí)標(biāo)題下的分級(jí)標(biāo)題的標(biāo)題字號(hào)為五宋。 所有文中圖和表要先說明再有圖表。圖要清晰、并與文中的敘述要一致,對(duì)圖中內(nèi)容的說明盡量放在文中。圖序、圖題(必須有)為小五號(hào)宋體,居中排與圖的正下方。表序、表題為小五號(hào)黑體,居中排于表的正上方;圖和表中的文字為六號(hào)宋體;表格四周封閉,表跨越時(shí)另起表頭。 圖和表的注釋、注腳為六號(hào)宋體;數(shù)學(xué)公式居中排,公式中字母正斜體和大小寫前后要統(tǒng)一。 公式另行居中,公式末不加標(biāo)點(diǎn),有編號(hào)時(shí)可靠右側(cè)頂邊線;若公式前有文字,例 如、解等,文字頂格寫,公式任居中;公式中的外文字母之間、運(yùn)算符號(hào)與各量符號(hào)之間應(yīng)空半個(gè)數(shù)字的間距;若對(duì)公式有說明,可接排,如式中,A-XX(雙字線);B-XX;當(dāng)說明較多時(shí)另起行頂格寫“式中A-XX”;回行與A對(duì)齊寫“B-XX”;公式中矩陣要居中且行列上下左右對(duì)齊。 物理量及技術(shù)術(shù)語全文要統(tǒng)一,要采用國際標(biāo)準(zhǔn)。 五、參考文獻(xiàn):參考文獻(xiàn)部分應(yīng)列出在設(shè)計(jì)過程中參考的主要書籍、刊物、雜志等。參考文獻(xiàn)的格式如下: (1)專著、論文集、學(xué)術(shù)論文、報(bào)告 [序號(hào)]主要責(zé)任者(.)文獻(xiàn)提名[專著([ M ].);論文集([C].);學(xué)術(shù)論文([ D].);報(bào)告([ R].)](.)出版地(:)出版者(,)出版年(.)起止頁碼(.) (2)期刊文章 [序號(hào)]主要責(zé)任者(.)文獻(xiàn)提名([ J ].)刊名(,)年(,)卷(期)(:)起止頁碼(.) (3)國際、國家標(biāo)準(zhǔn) [序號(hào)]標(biāo)準(zhǔn)編號(hào)(,)標(biāo)準(zhǔn)名稱([ S ]) 六、附錄:附錄包括元器件明細(xì)表、儀器設(shè)備清單、電路圖圖紙、設(shè)計(jì)的程序清單、系統(tǒng)(作品)使用說明等。 設(shè)計(jì)要求:單獨(dú)1頁(由指導(dǎo)教師給出)1. 設(shè)計(jì)報(bào)告正文: 一、前言: 總體方案設(shè)計(jì): 包括方案比較、方案論證、方案選擇(以方框圖的形式給出各方案)單元模塊設(shè)計(jì): 各單元模塊功能介紹及電路設(shè)計(jì); 電路參數(shù)的計(jì)算及元器件的選擇; 特殊器件的介紹; 各單元模塊的聯(lián)接。軟件設(shè)計(jì): ① 說明軟件設(shè)計(jì)原理及設(shè)計(jì)所用工具; 畫出軟件設(shè)計(jì)結(jié)構(gòu)圖、說明其功能; 畫出主要軟件設(shè)計(jì)流程框圖。系統(tǒng)調(diào)試: 包括系統(tǒng)硬件及軟件調(diào)試,說明調(diào)試方法與調(diào)試內(nèi)容。系統(tǒng)功能、指標(biāo)參數(shù): ①說明系統(tǒng)能實(shí)現(xiàn)的功能;②系統(tǒng)指標(biāo)參數(shù)測試,說明測試方法,要求有測試參數(shù)記錄表;③系統(tǒng)功能及指標(biāo)參數(shù)分析(與設(shè)計(jì)要求對(duì)比進(jìn)行)。設(shè)計(jì)總結(jié): 包括:①對(duì)設(shè)計(jì)的小結(jié);②設(shè)計(jì)收獲體會(huì);③對(duì)設(shè)計(jì)的進(jìn)一步完善提出意見或建議。第三篇:計(jì)算機(jī)網(wǎng)絡(luò)課設(shè)
第四篇:課設(shè)小結(jié)
第五篇:課設(shè)規(guī)范