第一篇:UG課設(shè)說明書
華東交通大學(xué)機(jī)電工程學(xué)院
UG加工課程設(shè)計說明書
學(xué)院 機(jī)電工程學(xué)院 專業(yè) 材料成型及控制工程 班級 一 姓名 王星福 周武斌 學(xué)號 20090310040128(29)
題目 肥皂盒下殼
指導(dǎo)老師 周慧蘭__ 實訓(xùn)時間 第17周
華東交通大學(xué)機(jī)電工程學(xué)院
2.通過拉伸、、旋轉(zhuǎn)、剪切以及倒圓角的各種工具獲得三維造型。
三維造型俯視圖
三維造型地面外觀
華東交通大學(xué)機(jī)電工程學(xué)院
4.通過復(fù)制,分型面拉伸,并且進(jìn)行合并處理獲得分型面。
華東交通大學(xué)機(jī)電工程學(xué)院
下圖所示:
8.用proe打開cavity.prt文件,通過保存副本的方式將型腔零件轉(zhuǎn)換成“**.stp”格式。于是變獲得了可供UG進(jìn)行CAM處理的cavity.stp文件。
華東交通大學(xué)機(jī)電工程學(xué)院
五. 型腔零件的UG數(shù)控加工設(shè)計
1.建模模式下,利用長方體工具繪制毛坯,毛坯比型腔的四周及上面高出2mm,留予加工表面。2.開始---加工,開始設(shè)計加工工序,“指定部件”選擇調(diào)入的型腔零件,“指定毛坯”選擇剛繪制的毛坯。
華東交通大學(xué)機(jī)電工程學(xué)院
4.模型樹中,復(fù)制第一道工序,并進(jìn)行粘貼,右鍵編輯粘貼得到的工序。每刀深度改為1mm.每齒進(jìn)給量0.1nn/z,切削速度m/min,加工余量0.2mm,刀具改為(參數(shù)由金屬切削手冊查得):
該工序加工的效果
5.第三道工序----腔體內(nèi)精銑
該工序的加工余量為0,刀具為立銑刀,每刀深度改為0.2mm.每齒進(jìn)給量0.1nn/z,切削速度m/min,加工余量0.2mm,刀具改為:
華東交通大學(xué)機(jī)電工程學(xué)院
7.利用平面銑加工澆口澆道,具體方法為,先在建模模式下繪制直線。
以此作為參照選為“部件邊界”,“指定底面”則通過平面的偏距獲得澆口、澆道的底部平面。這里的加工為選用與要加工槽大小相同刀具一次成型。
三把刀的刀具參數(shù)如下:
澆口,澆道的加工效果:
華東交通大學(xué)機(jī)電工程學(xué)院
固定孔的加工效果
9.到此肥皂盒型腔零件的CAM設(shè)計完成。最終加工效果圖如下
第二篇:ug課程設(shè)計說明書
三維CAD 課程設(shè)計說明書
題 目: 二級圓柱齒輪減速器造型設(shè)計 院(部): 機(jī)械工程學(xué)院 專業(yè): 機(jī)械設(shè)計制造及其自動化 班級:0801 學(xué)生姓名: 李維 指導(dǎo)教師:
何麗紅 譚加才 完成日期: 2011年1月 8日
目錄
第1章 前言.........................................................3 1.1引言..........................................................3
1.1.1減速器的功能..............................................3 1.1.2減速器傳動方案............................................3 1.2任務(wù)安排......................................................4 1.2.1基本任務(wù):....................................................4 1.2.2設(shè)計內(nèi)容及要求................................................4 1.2.3進(jìn)度安排:....................................................5 第2章 減速器零件建模...............................................5 2.1引言..........................................................5 2.2零件的建模....................................................6 2.2.1大的直齒輪建模............................................6 第3章 工程制圖.....................................................9 3.1箱蓋的轉(zhuǎn)換....................................................9 第4章 虛擬裝配....................................................12 4.1引言.........................................................12 4.2總裝配圖.....................................................12 4.2.1總裝配圖...................................................12 心得體會...........................................................15 參考文獻(xiàn)...........................................................17
第1章 前言
1.1引言
目前大學(xué)生就業(yè)壓力極大,要想畢業(yè)后找到一份不錯的工作的話,就一定要有足夠的知識水平,作為一個工程技術(shù)人員,掌握UG繪圖的本領(lǐng)是必須的。
另外現(xiàn)在的實際生產(chǎn)中,手工制圖已經(jīng)成為歷史,為此熟練掌握至少一項的制圖軟件是十分用必要的,此外將二維圖轉(zhuǎn)為三維圖也是十分重要的一項技能。是作為工程型人才必備的基本素質(zhì)。
1.1.1減速器的功能
本品為二級減速器,其功能為連接電動機(jī)和工作機(jī),將電動機(jī)相對于工作機(jī)高速的動力經(jīng)過其內(nèi)部的兩對齒輪轉(zhuǎn)變?yōu)檩^為低速的。
1.1.2減速器傳動方案
高速端連接電動機(jī)的,其為一對直齒輪傳動,再由一對斜齒輪傳動至工作機(jī)。
傳動方案一般用運(yùn)動簡圖表示。擬定傳動方案就是根據(jù)工作機(jī)的功能要求和工作條件,選擇合適的傳動機(jī)構(gòu)類型,確定各類傳動機(jī)構(gòu)的布置以及各組部分的聯(lián)接方式,繪出傳動裝置的運(yùn)動簡圖
54213圖1.1二級圓柱齒輪減速器傳動方案
1-電動機(jī) 2-聯(lián)軸器 3-減速器 4-聯(lián)軸器 5-工作機(jī)
1.2任務(wù)安排
1.2.1基本任務(wù):
結(jié)合各人已完成機(jī)械原理、機(jī)械設(shè)計等課程設(shè)計成果,綜合應(yīng)用UG等CAD軟件完成齒輪減速器三維實體造型及工程圖設(shè)計。
1.2.2設(shè)計內(nèi)容及要求
1)減速器零部件三維造型設(shè)計。
建模必須依據(jù)設(shè)計圖紙表達(dá)出零件的主要外形特征與內(nèi)特征,對于細(xì)部結(jié)構(gòu),也應(yīng)盡量完整的表達(dá)。
2)應(yīng)用工程圖模塊轉(zhuǎn)化生成符合國家標(biāo)準(zhǔn)二維工程圖。
裝配圖上應(yīng)標(biāo)注外形尺寸、安裝尺寸、裝配尺寸以及技術(shù)特性數(shù)據(jù)和技術(shù)要求,并應(yīng)有完整的標(biāo)題欄和明細(xì)表。
零件工程圖上應(yīng)包括制造和檢驗零件所需的內(nèi)容,標(biāo)注規(guī)范(如形位公差、粗糙度、技術(shù)要求,對齒輪還要有嚙合參數(shù)表等)。
3)減速器虛擬裝配。
將各零件按裝配關(guān)系進(jìn)行正確定位,并生成爆炸圖。4)撰寫課程設(shè)計說明書。
說明書應(yīng)涵蓋整個設(shè)計內(nèi)容,包括總體方案的確定,典型零件造型的方法,工程圖生成過程,虛擬裝配介紹,心得體會(或建議)等,說明書的字?jǐn)?shù)不少于3千字。
1.2.3進(jìn)度安排:
第一天:布置設(shè)計任務(wù),查閱資料,擬定方案,零部件造型設(shè)計; 第二天:零部件造型設(shè)計; 第三天:工程圖生成;
第四天:虛擬裝配、撰寫說明書; 第五天:檢查、答辯。
第2章 減速器零件建模
2.1引言
UG軟件建模是基于特征的復(fù)合建模,是顯示建模、參數(shù)化建模、基于約束的建模技術(shù)的選擇性組合。
顯示建模:顯示建模的對象是相對于模型空間,而不是相對于彼此建立。對一個或多個對象所做的變化不影響其他對象。
參數(shù)化建模:將用于模型定義的尺寸參數(shù)和參數(shù)值隨模型存儲,參數(shù)變量可以彼此引用。從而建立模型的各個特征之間的關(guān)系??梢酝ㄟ^編輯參數(shù)變量改整
個模型。
基于約束的建模:模型幾何體的一組設(shè)計規(guī)則的定義,稱之為約束。模型是通過約束或求解的。這些約束可以是尺寸約束或幾何約束。
2.2零件的建模如圖2.1
圖2.1 2.2.1大的直齒輪建模
建立齒輪的平面圖進(jìn)行回轉(zhuǎn)并建鍵槽如圖2.2
圖2.2
在齒輪腹板開減重孔如圖2.3
圖2.3
輸入表達(dá)式如圖2.4 7
圖2.4
生成漸開線如圖2.5
圖2.5
生成齒如圖2.6 8
圖2.6
第3章 工程制圖
3.1箱蓋的轉(zhuǎn)換
打開箱蓋模型圖如圖3.1 9
圖3.1
設(shè)置圖紙為A3建立基本視圖如圖3.2
圖3.2
將圖導(dǎo)出CGM如圖3.3 10
圖3.3
將圖導(dǎo)出DXF/DWG在CAXA中打開調(diào)入A3圖框如圖3.4
圖3.4
第4章 虛擬裝配
4.1引言
零件之間的裝配關(guān)系就是零件之間的位置約束,也可以見零件組裝成組件,然后再將多個組件裝配成總裝配件。
根據(jù)裝配的模型和零件模型的引用關(guān)系,UG軟件有3種創(chuàng)建裝配體的方法,即從頂向下裝配、從底向上裝配和混合裝配。
自頂向下裝配:如果裝配模型中的組件存在關(guān)聯(lián),可以基于一個組件創(chuàng)建一個組件,即首先完成裝配級的裝配模型,然后再根據(jù)裝配級模型創(chuàng)建其子裝配件。也可以首先完成頂層裝配模型文件,然后在裝配體中創(chuàng)建零部件模型,再將其中的子裝配體另外存儲。
從底向上裝配:先創(chuàng)建零件模型,再組合成子裝配模型,最后由子裝配模型生成總裝配件的裝配方法。
混合裝配:混合裝配是將自頂向下裝配和從底向上裝配結(jié)合在一起的裝配方法,這將增加裝配設(shè)計的功能。例如,用戶開始用從底向上的裝配方法,然后為了設(shè)計的順利進(jìn)行改用自頂向下裝配的方法,這兩種方法之間互相轉(zhuǎn)換
4.2總裝配圖
4.2.1總裝配圖
根據(jù)配對與中心的方法裝配好端蓋如圖4.1 12
圖4.1
同樣方法裝好軸承如圖4.2
圖4.2
把軸裝好如圖4.3 13
圖4.3
裝好齒輪如圖4.4
圖4.4
蓋好蓋并裝好其余零件如圖4.5 14
圖4.5
心得體會
說句實話,在沒搞UG課程設(shè)計之前,我對UG這個制圖軟件還很不熟練很所東西都不會,CAD還馬馬虎虎,但是在這一個星期的UG課程稱設(shè)計中,我學(xué)到了很多,從基本不會到慢慢熟悉,這種過程真的很美妙,這一個星期我感覺真的很充實,不過期間我也搞得很煩燥,有的時候也想干脆不搞算了,但是做事情沒有一帆風(fēng)順的,一個人要想成為一個能在社會上立足的人的話,就一定要在失敗,困難中學(xué)到知識,所以我還是在老師和同學(xué)的幫助下完成了本次設(shè)計任務(wù),課程設(shè)計其實很長知識,很有意義。
這次UG課程設(shè)計加深了我對這款軟件的認(rèn)識,通過這次課程設(shè)計,使我熟悉了很多以前不懂得不熟悉的操作及其功能,通過查閱書籍或上網(wǎng)查閱資料并詢問同學(xué),使自己對這款軟件印象更深刻了,既鞏固了以前所學(xué)的知識也學(xué)到了很多書本上沒有學(xué)到過的知識。使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有所學(xué)的理論與實踐相結(jié)合起來,從理論中得出結(jié)論才能真正為啥社會服務(wù),從而提高自己的實際動手能力和獨(dú)立思考的能力。
這次課程設(shè)計跟我們以后的工作性質(zhì)很相似,很多機(jī)設(shè)專業(yè)的學(xué)生畢業(yè)工作后去從事技術(shù)研發(fā),這就要求自己有一定的專業(yè)素養(yǎng),并且有獨(dú)立的思考能力,會熟練的利用一門或幾門制圖軟件,這次整個三維設(shè)計均是利用UG軟件制圖,它運(yùn)用方便,易修改,速度快,且易學(xué)好懂,不過還有很多不是太熟練的地方,這就要求我以后多加練習(xí),更加熟練的運(yùn)用此款軟件,為以后找工作加些堅實的籌碼。
本次的課程設(shè)計,培養(yǎng)了我綜合應(yīng)用機(jī)械設(shè)計課程及其他課程的理論知識和理論聯(lián)系實際,應(yīng)用生產(chǎn)實際知識解決工程實際題目的能力;在設(shè)計的過程中還培養(yǎng)出了我們的團(tuán)隊精神,同學(xué)們共同協(xié)作,解決了很多個人無法解決的題目;在今后的學(xué)習(xí)過程中我們會更加努力和團(tuán)結(jié)。
這次課程設(shè)計使我收獲頗大,真切感受到ug的強(qiáng)大功能,作為一名機(jī)械專業(yè)的學(xué)生,我們應(yīng)該熟練掌握ug的各項功能,快速制作出三維實物,還使我學(xué)到了很多的專業(yè)知識,也經(jīng)歷了不少艱辛,培養(yǎng)了我獨(dú)立思考的能力,也體會到了團(tuán)隊的力量,與同學(xué)們一起解決難題,也鍛煉了我的毅力,不怕困難不怕失敗,擁有恒心去解決任何的困難,這正是以后我們工作中所需要的,對以后的學(xué)習(xí)和生活有著重要的影響。通過這次課程設(shè)計我也找到了自己在很多方面的額不足,以后認(rèn)真學(xué)習(xí)各項技能,充實自己,在實踐中學(xué)習(xí),為以后走向社會打下堅實的基礎(chǔ)。
參考文獻(xiàn)
[1]李麗華,趙娟,唐宏偉等。UG NX6.0 入門與提高。電子工業(yè)出版社。2010.1 [2]王昆。機(jī)械設(shè)計課程設(shè)計。高等教育出版社。1996.12 [3]朱理.機(jī)械原理.北京;高等教育出版社;2004.4 [4]徐錦康.機(jī)械設(shè)計.北京;高等教育出版社;2004.4
第三篇:UG減速器課程設(shè)計說明書
UG NX 7.0裝配與運(yùn)動仿真課程設(shè)計說明書
設(shè)計內(nèi)容——(二級齒輪減速器
專 業(yè) :機(jī)械設(shè)計制造及其自動化
班 級 : 1201 班
姓 名 : 閆佳榮
學(xué) 號 : 20121804141 指導(dǎo)老師 : 馬利云
呂梁學(xué)院學(xué)院 礦業(yè)工程系
完成時間 : 2015 年
月日)
目 錄
第一章 前言.............................................................(3)
第二章 減速器零部件三維造型設(shè)計.........................................(3)
2.1 箱座建模主要參數(shù)及主要過程.....................................(3)
2.2 大端蓋建模主要參數(shù)及主要過程...................................(7)
2.3軸及軸上零件建模主要參數(shù)及主要過程.............................(8)
第三章 虛擬裝配..........................................................(11)
3.1制作裝配圖.....................................................(11)
第四章 心得體會..........................................................(13)第五章 參考文獻(xiàn)..........................................................(14)
機(jī)械設(shè)計課程設(shè)計
第一章 前言
計算機(jī)輔助設(shè)計(CAD)技術(shù)是現(xiàn)代信息技術(shù)領(lǐng)域中設(shè)計技術(shù)之一,也是使用最廣泛的技術(shù)。UG作為中高端三維CAD軟件,具有功能強(qiáng)大、應(yīng)用范圍廣等優(yōu)點,應(yīng)此被認(rèn)為是具有統(tǒng)一力的中高端設(shè)計解決方案。
UG由許多功能模塊組成,每一個模塊都有自己獨(dú)立的功能,可以根據(jù)需要調(diào)用其中的一個或幾個模塊進(jìn)行設(shè)計。還可以調(diào)用系統(tǒng)的附加模塊或者使用軟件進(jìn)行二次開發(fā)工作。下面介紹UG集成環(huán)境中的四個主要CAD模塊。
1.基礎(chǔ)環(huán)境 基礎(chǔ)環(huán)境是UG啟動后自動運(yùn)行的第一個模塊,是其他應(yīng)用模塊運(yùn)行的公共平臺。
2.建模模塊 建模模塊用于創(chuàng)建三維模型,是UG中的核心模塊。UG軟件所擅長的曲線功能和曲面功能在該模塊中得到了充分體現(xiàn),可以自由地表達(dá)設(shè)計思想和進(jìn)行創(chuàng)造性的改進(jìn)設(shè)計,從而獲得良好的造型效果和造型速度。3.裝配模塊 使用UG的裝配模塊可以很輕松地完成所有零件的裝配工作。在組裝過程中,可以采用自頂而下和自下而上的裝配方法,可以快速跨越裝配層來直接訪問任何組件或子裝配圖的設(shè)計模型。
4.制圖模塊 使用UG三維模型生成工程圖簡單方便,只需對自動生成的視圖進(jìn)行簡單的修改或標(biāo)注就可以完成工程圖的繪制。同時,如果在實體模型或工程圖二者之一做任何修改,其修改結(jié)果就會立即反應(yīng)到另一個中,使得工程圖的繪制更加輕松快捷。
這次二級減速器造型設(shè)計能夠使我們學(xué)習(xí)機(jī)械產(chǎn)品UG設(shè)計基本方法,鞏固課程知識,提高動手實踐能力,進(jìn)一步提高運(yùn)用計算機(jī)進(jìn)行三維造型及裝配設(shè)計、工程圖繪制方面的能力,了解軟件間的數(shù)據(jù)傳遞交換等運(yùn)用。
第二章
減速器零部件三維造型設(shè)計
2.1 箱座建模主要參數(shù)及主要過程
1、繪制箱座底座,如圖2.1-1所示
利用草圖和拉伸操作完成箱座大至尺寸的建模
機(jī)械設(shè)計課程設(shè)計
圖2.1-1
2、箱體的壁厚取12,如圖2.1-2所示
圖2.1-2
3、利用腔體操作完成箱座內(nèi)腔、布爾操作將箱座的組成單元求和、求差如圖2.1-3 2.1-4 2.1-5
圖2.1-3
機(jī)械設(shè)計課程設(shè)計
圖2.1-4
圖2.1-5
4、箱體通過拉伸打孔等特征操作最后箱體如圖2.1-6
圖2.1-6
5、利用孔、螺紋特征工具制作油塞孔、視孔、通氣器孔及吊環(huán)孔,如圖2.1-7所示
機(jī)械設(shè)計課程設(shè)計
圖2.1-7
8、油塞螺紋孔的創(chuàng)建參數(shù)如圖2.1-8所示
圖2.1-8
9、倒圓角、倒斜角操作完善箱座建模
圖2.1-9
9、用到的其他特征和操作:插入墊塊,建立平面和基準(zhǔn)
機(jī)械設(shè)計課程設(shè)計
圖2.1-10 2.2 大端蓋建模主要過程
1、建立草圖、拉伸完成箱蓋大至外形建模2.2-1
圖2.2-1
4、運(yùn)用拉伸、利用孔完成凸臺上螺栓沉頭孔的建模如圖2.2-2
圖2.2-2
5、運(yùn)用鏡像操作,完成箱蓋主體建模即完成大端蓋建模如圖2.2-3
機(jī)械設(shè)計課程設(shè)計
圖2.2-3
6、建立草圖、拉伸、布爾操作,完成箱座頂部透氣蓋板處的建模;孔操作和矩形陣列完成透氣蓋板安裝螺栓孔如圖2.2-4
圖 2.2-4
7、利用倒斜角、倒圓角完善箱蓋建模,完成效果圖如圖2.2-5
圖 2.2-5
2.3軸及軸上零件建模主要參數(shù)及主要過程
1、軸的建模:建立草圖、回轉(zhuǎn)(臺階軸)——草圖,拉伸、布爾操作(鍵槽)
機(jī)械設(shè)計課程設(shè)計
——倒斜角如圖2.3-1
圖2.3-1
2、利用UG斜齒輪建模插件,輸入?yún)?shù),自動生成斜齒輪
圖2.3-2
3、運(yùn)用鍵特征生成鍵如圖2.3-3
圖2.3-3
4、運(yùn)用拉伸和倒角特征完成最后零件如圖2.3-4
機(jī)械設(shè)計課程設(shè)計
圖2.3-4
5、軸承端蓋:草圖——回轉(zhuǎn)——孔——倒斜角、倒圓角如圖2.3-5
圖 2.3-5
6、通氣蓋板 草圖——拉伸——孔——矩形陣列——倒圓角
圖 2.3-6
7、通氣塞
圖 2.3-7
機(jī)械設(shè)計課程設(shè)計
8、螺栓和起蓋螺釘
圖 2.3-8
9、軸承的建模
軸承是標(biāo)準(zhǔn)件,利用UG軟件插件獲得軸承模型
圖 2.3-9
10、軸套按照實際尺寸,建立草圖——回轉(zhuǎn)獲得
圖 2.3-10 第三章虛擬裝配
3.1制作裝配圖
1)新建文件設(shè)置如圖并打開,開始-裝配如圖3.1-
1、3.1-2所示
機(jī)械設(shè)計課程設(shè)計
圖3.1-1 圖3.1-2 2)以軸為基礎(chǔ),將軸承、斜齒輪、健、套筒裝配成三個部件——以箱座為基礎(chǔ),裝配已裝配完成的三個部件、箱蓋、通氣蓋板、通氣塞、軸承端蓋、螺栓等
3)點擊“添加組件”以絕對原點的方式添加零件如圖3.1-3
圖3.1-3 4)點擊“添加組件”以通過約束的方式添加其它組件,如圖3.1-4所示
機(jī)械設(shè)計課程設(shè)計
圖3.1-4 5)分別添加零部件最后裝配圖渲染效果如下圖3.1-5
圖3.1-5
第四章 心得體會
雖然課程設(shè)計要求的內(nèi)容都有完成,不過因為水平有限并且在所難免的無法顧及到方方面面,因此該項課程設(shè)計還存在很多不完善甚至是錯誤的地方。我們希望能利用課程設(shè)計之后的時間慢慢將它完善,做到做好。再次感謝同學(xué)和老師的幫助,我會更加努力的
通過這次設(shè)計,使我認(rèn)識到上課時的內(nèi)容雖然已經(jīng)很很豐富,但如果沒有實踐的話,學(xué)習(xí)再多的理論也只是紙上談兵,就像用到的各種符號,往往就同其它
機(jī)械設(shè)計課程設(shè)計 的一些符號相混,結(jié)果往往是張冠李戴。但如果書上的知識沒有掌握,在設(shè)計的過程中會遇到很多麻煩,就像有許多公式記不起來,結(jié)果是弄得自己手忙腳亂,只好再從書上查找;通過這次設(shè)計,我查找資料的能力和軟件操作能力也得到了很大的提高。
經(jīng)過這次課程設(shè)計,我的三維造型能力得到很大的提高。在這個二級減速器造型設(shè)計過程中,我的UG制圖知識得到了進(jìn)一步的鞏固,同時還知道了許多的技巧。例如,箱體上螺紋孔的創(chuàng)建。我還有一個收獲就是學(xué)會了查資料來解決問題,我本來不知道圓柱直齒輪是怎么建模的,于是我到圖書館找了幾本書回來看,最后,我才懂得用掃掠的方法來畫斜齒輪。所以,我應(yīng)該感謝這次課程設(shè)計使我獲得了進(jìn)一步的提高。
這次的設(shè)計,使我也懂得所學(xué)的理論知識要做到真正的融會貫通,就必須是理論同實踐相結(jié)合。在現(xiàn)實生活中要勤于用學(xué)過的知識分析遇到的問題。
第五章 參考文獻(xiàn)
[1] 槐創(chuàng)鋒等.UG NX7.0中文版機(jī)械設(shè)計從入門到精通.北京:機(jī)械工業(yè)出版社,2010.[2] 吳宗澤等.機(jī)械設(shè)計課程設(shè)計手冊.北京:高等教育出版社,2006.[3] 吳明友.UG NX6.0中文版產(chǎn)品建模.北京:化學(xué)工業(yè)出版社,2010.[4] 濮良貴等.機(jī)械設(shè)計.北京:高等教育出版社.北京:高等教育出版社,2006.
第四篇:數(shù)據(jù)結(jié)構(gòu)課設(shè)
數(shù)據(jù)結(jié)構(gòu)課設(shè) 大整數(shù)計數(shù)器 1.問題描述
實現(xiàn)大整數(shù)(200位以內(nèi)的整數(shù))的加、減、乘、除運(yùn)算。2.設(shè)計要求
設(shè)計程序?qū)崿F(xiàn)兩個大整數(shù)的四則運(yùn)算,輸出這兩個大整數(shù)的和、差、積、商及余數(shù)。
3.數(shù)據(jù)結(jié)構(gòu)
本課程設(shè)計采用順序串來實現(xiàn)。4.問題分析
由于整數(shù)數(shù)據(jù)存儲位數(shù)有限,因此引入串的概念,將整型數(shù)據(jù)用字符串進(jìn)行存儲,利用字符串的一個字符存儲大整數(shù)的一位數(shù)值,然后根據(jù)四則運(yùn)算規(guī)則,對相應(yīng)位依次進(jìn)行相應(yīng)運(yùn)算,同時保存進(jìn)位,從而實現(xiàn)大整數(shù)精確的運(yùn)算。具體設(shè)計思路如下:
(1)計算大整數(shù)加法時,采用數(shù)學(xué)中列豎式的方法,從個位(即字符串的最后一個字符)開始逐位相加,超過或達(dá)到10則進(jìn)位,同時將該位計算結(jié)果存到另一個字符串中,直至加完大整數(shù)的所有位為止。
(2)計算大整數(shù)減法時,首先調(diào)用庫函數(shù)strcmp判斷這兩個大整數(shù)是否相等,如果相等則結(jié)果為0,否則用compare函數(shù)判斷被減數(shù)和減數(shù)的大小關(guān)系,進(jìn)而確定結(jié)果為正數(shù)還是負(fù)數(shù),然后對齊位依次進(jìn)行減法,不夠減則向前借位,直至求出每一位減法之后的結(jié)果。
(3)計算大整數(shù)乘法時,首先讓乘數(shù)的每一位都和被乘數(shù)進(jìn)行乘法運(yùn)算,兩個乘數(shù)之積與進(jìn)位相加作為當(dāng)前位乘積,求得當(dāng)前位的同時獲取進(jìn)位值,進(jìn)而實現(xiàn)大整數(shù)的乘法運(yùn)算。
(4)計算大整數(shù)除法時,類似做減法,基本思想是反復(fù)做減法,從被除數(shù)里最多能減去多少次除數(shù),所求得的次數(shù)就是商,剩余不夠減的部分則是余數(shù),這樣便可計算出大整數(shù)除法的商和余數(shù)。
需求分析(1)任何一個表達(dá)式都是由操作數(shù)、運(yùn)算符和界限符組成的,我們稱之為單詞.(2)表達(dá)式求值首先要符合四則運(yùn)算規(guī)則: ① 先乘除,后加減 ② 從左到右進(jìn)行運(yùn)算 ③ 先括號內(nèi),后括號外(3)功能實現(xiàn): ① 若當(dāng)前單詞為數(shù)字串,則壓入數(shù)值棧 ② 若當(dāng)前單詞為運(yùn)算符并大于運(yùn)算棧的棧頂符號,則進(jìn)棧 ③ 若當(dāng)前單詞為運(yùn)算符并等于運(yùn)算棧的棧頂符號,去括號,輸出 ④ 若當(dāng)前單詞為運(yùn)算符并小于運(yùn)算棧的棧頂符號,則進(jìn)行運(yùn)算
課程設(shè)計的目的 通過課程設(shè)計全面掌握《C語言程序設(shè)計》關(guān)鍵知識點,掌握C語言中數(shù)組、指針、結(jié)構(gòu)體、文件等方面的基本知識。
通過課程設(shè)計了解并掌握C語言程序設(shè)計的方法,熟悉C程序設(shè)計的開發(fā)環(huán)境及C程序的
調(diào)試過程。
培養(yǎng)學(xué)生查閱參考資料、手冊的自學(xué)能力,通過獨(dú)立思考深入鉆研有關(guān)問題,學(xué)會自己分析、解決問題的方法。
課程設(shè)計的任務(wù)和要求 任務(wù): 編程求出輸入的兩個正整數(shù)之和,這兩個正整數(shù)的可能達(dá)到200位。
要求:
輸入:
共有兩行,第一行為第1個正整數(shù);第二行為第2個正整數(shù)。
輸出:
2個正整數(shù)之和。
主要參與成員
姓 名 學(xué) 號
系 別 班 級 主要作用(分工)
成果形式
設(shè)計 軟件 作品 其他:
完成情況及以后的拓展設(shè)想 通過用C語言編寫函數(shù)基本實現(xiàn)了大整數(shù)相加這個程序,但該程序仍存在一些不足,還可以加上一些語句使程序具有容錯功能,并且可以正確計算一個負(fù)數(shù)和一個正數(shù)相加。
課 程 設(shè) 計 鑒 定 情 況 表 小組鑒定意見
小組長簽名:
年 月 日
指導(dǎo)教師意見
教師簽名:
****年**月**日
課程設(shè)計成績 優(yōu) 良 及格 不及格 教研室意見
年 月 日 備注 《C語言程序設(shè)計》課程設(shè)計報告書 作者:廖 序 課程設(shè)計概述 課程設(shè)計名稱
大整數(shù)相加 任務(wù)要求: 編程求出輸入的兩個正整數(shù)之和,這兩個正整數(shù)的可能達(dá)到200位。
輸入:
共有兩行,第一行為第1個正整數(shù);第二行為第2個正整數(shù)。
輸出:
2個正整數(shù)之和。開發(fā)環(huán)境: C語言。C語言是目前世界上流行、使用最廣泛的高級程序設(shè)計語言。1972年,C語言在美國貝爾實驗室里問世,后來又被多次改進(jìn),并出現(xiàn)了多種版本。80年代初,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI),根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴(kuò)充,制定了ANSIC標(biāo)準(zhǔn)。
目前,在微機(jī)上廣泛使用的C語言編譯系統(tǒng)有MicrosoftC、Turbo C、Borland C等。這些C語言版本不僅實現(xiàn)了ANSIC標(biāo)準(zhǔn),而且在此基礎(chǔ)上各自作了一些擴(kuò)充,使之更加方便、完美。
C語言的特點: C語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級的操作。
由于C語言實現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。
此外,C語言還具有效率高,可移植性強(qiáng)等特點。因此廣泛地移植到了各類各型計算機(jī)上,從而形成了多種版本的C語言。
參考資料
李錚、葉艷冰、汪德俊,C語言程序設(shè)計基礎(chǔ)與應(yīng)用,清華大學(xué)出版社,2005 [2]CSDN技術(shù)中心
二、概要設(shè)計
為了實現(xiàn)大整數(shù)相加這個程序,將程序劃分為了三個模塊: 輸入數(shù)據(jù)。運(yùn)算。輸出結(jié)果。
首先定義了子函數(shù)Input()來存儲用戶輸入的兩個加數(shù),為了滿足任意位數(shù)的兩個大整數(shù)相加,在子函數(shù)Input()中嵌套調(diào)用子函數(shù)Init()使sum數(shù)組里面存放的數(shù)初始化為”0”。
然后定義子函數(shù)Long_Add()使兩個大整數(shù)作加法運(yùn)算,從后面往前面相加,附帶進(jìn)位。定義子函數(shù)Output()實現(xiàn)輸出結(jié)果。
最后如下圖所示,在主函數(shù)main中調(diào)用Input(),Long_Add(),Output()三個子函數(shù)實現(xiàn)程序。
三、詳細(xì)設(shè)計
程序的流程圖:
四、調(diào)試過程 第一次 測試數(shù)據(jù)a=***7,b=111111 編譯運(yùn)行后不能輸出結(jié)果,檢查函數(shù)后編譯正確。再次分析,發(fā)現(xiàn)如果直接把a(bǔ),b,sum定義為unsigned int型的話,計算出來的和的范圍只能在0~65535之間,否則就會出現(xiàn)錯誤。嘗試將a,b,sum存放到字符數(shù)組中,從個位開始,一位一位相加。
第二次 測試數(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)計算出來結(jié)果不正確。經(jīng)過分析,函數(shù)中沒有對最后 一個進(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é)果都是正確的。程序得到實現(xiàn)。 五、結(jié)論與體會 通過不斷的調(diào)試、修改,本課程設(shè)計最終實現(xiàn)了200位以內(nèi)的兩個大整數(shù)相加,但程序還 可以進(jìn)一步完善,程序中仍存在一些不足之處,比如缺少容錯功能,不能準(zhǔn)確計算負(fù)整數(shù)加正整數(shù),等等問題 雖然C語言程序設(shè)計在上學(xué)期做為我們的必修課已經(jīng)學(xué)習(xí)過了,但書到用時方恨少,這次課程設(shè)計的學(xué)習(xí)程序設(shè)計中暴露出的我自身的問題更是非常明顯。 一開始看到題目認(rèn)為非常簡單,直接將兩個數(shù)都定義為整型。編寫程序并運(yùn)行后發(fā)現(xiàn)并不能達(dá)到題目的要求,計算出來的和只能小于等于65535,否則就會出現(xiàn)錯誤。分析后,將數(shù)據(jù)作為字符串來處理,用for循環(huán)語句從存數(shù)的字符數(shù)組中一位一位的取數(shù)出來,按照數(shù)位對齊,從個位開始,按位相加,逢十進(jìn)一的運(yùn)算規(guī)則進(jìn)行運(yùn)算。最后用字符輸出函數(shù)putchar()輸出計算出來的結(jié)果。由于程序偏大且較復(fù)雜,將程序劃分為了輸入數(shù)據(jù)、運(yùn)算、輸出數(shù)據(jù)三個子程序。數(shù)次編譯調(diào)試后,最終使程序得以實現(xiàn)。 經(jīng)過三個星期的上機(jī)實踐學(xué)習(xí),使我對C語言有了更進(jìn)一步的認(rèn)識和了解,讓我能夠進(jìn)一步的掌握和運(yùn)用C語言來編寫程序。要想學(xué)好C語言要重在實踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實踐,我也發(fā)現(xiàn)我的好多不足之處和薄弱環(huán)節(jié)。 首先,基礎(chǔ)掌握不牢固,對于C語言中的許多基本語法尚沒有熟練掌握,在設(shè)計過程中仍需請教其它同學(xué),查閱課本,設(shè)計效率很低。 其次,經(jīng)典算法掌握不牢。在完成作業(yè)的過程中還需查閱書籍和借鑒他人。 再次,程序量過大的時候,頭緒理不清。雜亂無章,無系統(tǒng)性,不便調(diào)試和閱覽,自己也易于出錯。 并且對C語言中經(jīng)常出現(xiàn)的錯誤也不了解,通過實踐,使我在這幾個方面的認(rèn)識有所提高。 通過實踐的學(xué)習(xí),我認(rèn)到學(xué)好計算機(jī)要重視實踐操作,不僅僅是學(xué)習(xí)C語言,還是其它的語言,以及其它的計算機(jī)方面的知識都要重在實踐,所以后在學(xué)習(xí)過程中,我會更加注視實踐操作,使自己便好地學(xué)好計算機(jī)。 六、源程序清單 #include t;string.h> #define Max 1000 char sum[Max+1];/*和*/ char a[Max],b[Max];/*兩個加數(shù)*/ int len1,len2;void Input(char a[],char b[]){ int i,len;void Init(char a[]);/*對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);/*從個位開始,按位相加,逢十進(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)/*處理最后一個進(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ī)網(wǎng)絡(luò)應(yīng)用課程設(shè)計 報告 系(院): 計算機(jī)科學(xué)學(xué)院 專業(yè)班級: 計科11511 姓 名: 鐘燦均 學(xué) 號: 201503687 指導(dǎo)教師: 余紹文 設(shè)計時間: 2017.6.12-2017.6.23 設(shè)計地點: 12教1樓機(jī)房 一、課程設(shè)計目的和意義 計算機(jī)網(wǎng)絡(luò)課程設(shè)計的目的,是為了讓我們更深入地掌握計算機(jī)網(wǎng)絡(luò)的核心內(nèi)容,實現(xiàn)理論與實踐相結(jié)合。讓學(xué)生用具體的實踐成果,體現(xiàn)對理論知識的掌握程度。有利于學(xué)生提高計算機(jī)網(wǎng)絡(luò)的實踐能力,加深對計算機(jī)網(wǎng)絡(luò)理論知識的理解。其基本目的是: 1. 培養(yǎng)學(xué)生理論聯(lián)系實際的設(shè)計思想,訓(xùn)練綜合運(yùn)用所學(xué)的基礎(chǔ)理論知識,結(jié)合生產(chǎn)實際分析和解決網(wǎng)絡(luò)應(yīng)用中問題的能力,從而使基礎(chǔ)理論知識得到鞏固和加深。2. 學(xué)習(xí)掌握網(wǎng)絡(luò)應(yīng)用工程的一般設(shè)計過程和方法。 二、設(shè)計題目和要求 1.編寫程序,實現(xiàn)系統(tǒng)的基本功能; 2.要有用戶界面:要求至少采用文本菜單界面;鼓勵采用圖形菜單界面; 3.寫課程設(shè)計報告,內(nèi)容包括: ? 封面(參見附錄I) ? 需求分析:以無歧義的陳述說明程序設(shè)計的任務(wù),強(qiáng)調(diào)的是程序要做什么?給出功能模塊圖和流程圖。同時明確規(guī)定:輸入的形式和輸出值的范圍;輸出的形式;程序所能夠達(dá)到的功能;測試數(shù)據(jù),包括正確的輸入及其輸出結(jié)果和含有錯誤的輸入及其輸出結(jié)果。? 概要設(shè)計:包括程序設(shè)計組成框圖,程序中使用的存儲結(jié)構(gòu)設(shè)計說明(如果指定存儲結(jié)構(gòu)請寫出該存儲結(jié)構(gòu)的定義)。 ? 詳細(xì)設(shè)計:包括模塊功能說明(如函數(shù)功能、入口及出口參數(shù)說明,函數(shù)調(diào)用關(guān)系描述等),每個模塊的算法設(shè)計說明(可以是描述算法的流程圖)。其中源程序要按照寫程序的規(guī)則來編寫,結(jié)構(gòu)清晰,重點函數(shù)的重點變量,重點功能部分要加上清晰的程序注釋。? 運(yùn)行結(jié)果:包括典型的界面、輸入和輸出數(shù)據(jù)等; ? 總結(jié):包括課程設(shè)計中遇到的問題,解決問題的過程及體會、收獲、對課程設(shè)計的認(rèn)識與思考等。 ? 附錄:包括主要程序清單,要有適當(dāng)?shù)淖⑨專钩绦蛉菀组喿x。? 開發(fā)環(huán)境:windows 10 ? 開發(fā)工具: vs2008 題目3:基于UDP協(xié)議的簡易聊天機(jī)器人 設(shè)計目標(biāo): 1.了解Socket通信的原理,在此基礎(chǔ)上編寫一個聊天程序; 2.理解upd原理;課程設(shè)計系統(tǒng)組成及模塊功能: 此課程設(shè)計實現(xiàn)了基于UDP的客戶/服務(wù)器通信程序,需要實現(xiàn)以下一些基本功能: 1.客戶端連接聊天機(jī)器人服務(wù)器; 2.消息發(fā)送:客戶端發(fā)送消息給機(jī)器人服務(wù)器。 3.消息接收:客戶端接收到機(jī)器人服務(wù)器發(fā)送給他的消息。4.可以有多個客戶端同時連接 5.智能回復(fù)功能:根據(jù)用戶發(fā)送的消息內(nèi)容,稍微有點智能回復(fù)。 運(yùn)行效果: 服務(wù)器端和客戶端截圖 三、設(shè)計內(nèi)容 1、UDP傳送數(shù)據(jù)前并不與對方建立連接,即UDP是無連接的,在傳輸數(shù)據(jù)前,發(fā)送方和接收方相互交換信息使雙方同步。 2、UDP不對收到的數(shù)據(jù)進(jìn)行排序,在UDP報文的首部中并沒有關(guān)于數(shù)據(jù)順序的信息(如TCP所采用的序號),而且報文不一定按順序到達(dá)的,所以接收端無從排起。 3、UDP對接收到的數(shù)據(jù)報不發(fā)送確認(rèn)信號,發(fā)送端不知道數(shù)據(jù)是否被正確接收,也不會重發(fā)數(shù)據(jù)。 4、UDP傳送數(shù)據(jù)較TCP快速,系統(tǒng)開銷也少。 5、由于缺乏擁塞控制(congestion control),需要基于網(wǎng)絡(luò)的機(jī)制來減小因失控和高速UDP流量負(fù)荷而導(dǎo)致的擁塞崩潰效應(yīng)。換句話說,因為UDP發(fā)送者不能夠檢測擁塞,所以像使用包隊列和丟棄技術(shù)的路由器這樣的網(wǎng)絡(luò)基本設(shè)備往往就成為降低UDP過大通信量的有效工具。數(shù)據(jù)報擁塞控制協(xié)議(DCCP)設(shè)計成通過在諸如流媒體類型的高速率UDP流中增加主機(jī)擁塞控制來減小這個潛在的問題。 從以上UDP協(xié)議特點可知,UDP提供的是無連接的、不可靠的數(shù)據(jù)傳送方式,是一種盡力而為的數(shù)據(jù)交付服務(wù)。 1.服務(wù)端 1.2.3.4.5.加載協(xié)議棧; 創(chuàng)建套接字; 將套接字綁定到一個本地地址和端口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)版本信息及熱啟動的一些操作;; 結(jié)構(gòu)體端口號及相關(guān)地址信息以及轉(zhuǎn)化函數(shù),將輸入的信息轉(zhuǎn)化為計算機(jī)可識別的二進(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(“接受到一個連接:%s rn”, inet_ntoa(remoteAddr.sin_addr));cout << “主人:”;printf(recvData);printf(“bind error!”);closesocket(serSocket);return 0;以上為對套接字的綁定及判斷綁定是否成功,以及對于相關(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, “對不起,我不知道”);4 fclose(fp);cout << endl;cout << “機(jī)器人:” << sendData << endl;sendto(serSocket, sendData, strlen(sendData), 0,(sockaddr *)&remoteAddr, nAddrLen); 四、設(shè)計成果以及心得 1.成果 2.心得 通過對課設(shè)的相關(guān)的操作,加強(qiáng)了對于相關(guān)知識的理解,對于知識的應(yīng)用也得以加強(qiáng),在課設(shè)過程中,聊天機(jī)器人制作較為有趣,對于TCP與UDP的通信方式有了進(jìn)一步的理解和加強(qiáng),對于socket編程的相關(guān)基礎(chǔ)也得以進(jìn)一步的理解和學(xué)習(xí)。在今后的學(xué)習(xí)過程中希望可以將所學(xué)知識應(yīng)用于實際,學(xué)以致用。而且對于課設(shè)中存在的問題和不足,以及通過老師的講解,對一些算法加以分析和改進(jìn),從而不斷完善課設(shè)內(nèi)容,對內(nèi)容的理解得以加深。 指導(dǎo)老師意見: 成績: 教師簽名: 2017年6月23日第五篇:計算機(jī)網(wǎng)絡(luò)課設(shè)