數據結構課程設計報告|數據結構課程設計報告(收藏12篇)
發表時間:2021-04-18數據結構課程設計報告(收藏12篇)。
? 數據結構課程設計報告
通過本次課程設計,我能將所學理論知識很好的運用到了實際的工程設計當中,在具體的設計過程中,真正做到了學以致用,也使自己的實際工程能力得到了很大的提高。
本次的課程設計,我主要負責的是負荷計算及無功功率計算和補償、變電所位置選擇等。在設計初期,曾遇到了一些問題,現將各問題及解決方案簡述如下:
一.在負荷計算時,我曾為同級系數的問題焦慮了很久,還以為只是要最后計算總的S時才乘以同級系數,但查閱資料之后,才明白每條母線的有功、無功功率都要乘上同級系數。
二.在計算照明和動力負荷時,開始準備分別計算視在功率S及電流I,后考慮實際情況及設計要求,決定先計算各車間總的有功功率及無功功率,再計算每個車間的視在功率和計算電流。
通過這次設計,我懂得了學習的重要性,了解到理論知識與實踐相結合的重要意義,學會了堅持、耐心和努力,這將為自己今后的學習和工作做出了最好的榜樣。我覺得作為一名機電一體化專業的學生這次課程設計是很有意義的。更重要的是如何把自己平時所學的東西應
用到實際中。雖然自己對于這門課懂的并不多,很多基礎的東西都還沒有很好的掌握,覺得很難,也沒有很有效的辦法通過自身去理解,但是靠著這一個多禮拜的“學習”,在小組同學的幫助和講解下,漸漸對這門課逐漸產生了些許的興趣,自己開始主動學習并逐步從基礎慢慢開始弄懂它。
這次設計也為我今后學習興趣奠定了基礎,產生了積極的影響。其次,這次課程設計讓我充分認識到團隊合作的重要性,只有分工明確而又協作合作才能保證整個項目的有條不絮。在課程設計的過程中,當我們碰到許多不明白的問題時,通過查找資料及請教指導老師,給了我們以很大的幫助,使我們獲益匪淺。
另外,課堂上很多不清楚的知識點,很多都在這次設計中得到了解決,這樣邊學邊做,邊做邊學,鞏固了所學知識,這也是我作本次課程設計的最大收獲。由此我可用更好地了解到自己的不足,以便課后加以彌補。
? 數據結構課程設計報告
一.實驗內容:
實現哈夫曼編碼的生成算法。
二.實驗目的:
1、使學生熟練掌握哈夫曼樹的生成算法。
2、熟練掌握哈夫曼編碼的方法。
三.問題描述:
已知n個字符在原文中出現的頻率,求它們的哈夫曼編碼。
1、讀入n個字符,以及字符的權值,試建立一棵Huffman樹。
2、根據生成的Huffman樹,求每個字符的Huffman編碼。并對給定的待編碼字符序列進行編碼,并輸出。
四.問題的實現
(1)郝夫曼樹的存儲表示
typedef struct{
unsigned int weight;
unsigned int parent,lchild,rchild;
}HTNode,*HuffmanTree; //動態分配數組存儲郝夫曼樹
郝夫曼編碼的存儲表示
typedef char* *HuffmanCode;//動態分配數組存儲郝夫曼編碼
(2)主要的實現思路:
a.首先定義郝夫曼樹的存儲形式,這里使用了數組
b.用select()遍歷n個字符,找出權值最小的兩個
c.構造郝夫曼樹HT,并求出n個字符的郝夫曼編碼HC
總結
1.基本上沒有什么太大的問題,在調用select()這個函數時,想把權值最小的兩個結點的'序號帶回HuffmanCoding(),所以把那2個序號設置成了引用。
2.在編程過程中,在什么時候分配內存,什么時候初始化花的時間比較長
3.最后基本上實現后,發現結果仍然存在問題,經過分步調試,發現了特別低級的輸入錯誤。把HT[i].weight=HT[s1].weight+HT[s2].weight;中的s2寫成了i
附:
//動態分配數組存儲郝夫曼樹
typedef struct{
int weight; //字符的權值
int parent,lchild,rchild;
}HTNode,*HuffmanTree;
//動態分配數組存儲郝夫曼編碼
typedef char* *HuffmanCode;
//選擇n個(這里是k=n)節點中權值最小的兩個結點
void Select(HuffmanTree &HT,int k,int &s1,int &s2)
{ int i;
i=1;
while(i<=k && HT[i].parent!=0)i++;
//下面選出權值最小的結點,用s1指向其序號
s1=i;
for(i=1;i<=k;i++)
{
if(HT[i].parent==0&&HT[i].weight
}
//下面選出權值次小的結點,用s2指向其序號
for(i=1;i<=k;i++)
{
if(HT[i].parent==0&&i!=s1)break;
}
s2=i;
for(i=1;i<=k;i++)
{
if(HT[i].parent==0&&i!=s1&&HT[i].weight
}
}
//構造Huffman樹,求出n個字符的編碼
void HuffmanCoding(HuffmanTree &HT,HuffmanCode &HC,int *w,int n)
{
int m,c,f,s1,s2,i,start;
char *cd;
if(n<=1)return;
m=2*n-1; //n個葉子n-1個結點
HT=(HuffmanTree)malloc((m+1)*sizeof(HTNode)); //0號單元未用,預分配m+1個單元
HuffmanTree p=HT+1;
w++; //w的號單元也沒有值,所以從號單元開始
for(i=1;i<=n;i++,p++,w++)
{
p->weight=*w;
p->parent=p->rchild=p->lchild=0;
}
for(;i<=m;++i,++p)
{
p->weight=p->parent=p->rchild=p->lchild=0;
}
for(i=n+1;i<=m;i++)
{
Select(HT,i-1,s1,s2); //選出當前權值最小的
HT[s1].parent=i;
HT[s2].parent=i;
HT[i].lchild=s1;
HT[i].rchild=s2;
HT[i].weight=HT[s1].weight+HT[s2].weight;
}
//從葉子到根逆向求每個字符的郝夫曼編碼
HC=(HuffmanCode)malloc((n+1)*sizeof(char*)); //分配n個字符編碼的頭指針變量
cd=(char*)malloc(n*sizeof(char)); //分配求編碼的工作空間
cd[n-1]='';//編碼結束符
for(i=1;i<=n;i++) //逐個字符求郝夫曼編碼
{
start=n-1; //編碼結束符位置
for(c=i,f=HT[i].parent;f!=0;c=f,f=HT[f].parent) //從葉子到根逆向求編碼
{
if(HT[f].lchild==c)cd[--start]='0';
else
cd[--start]='1';
}
HC[i]=(char*)malloc((n-start)*sizeof(char)); //為第i個字符編碼分配空間
strcpy(HC[i],&cd[start]);//從cd復制編碼到HC
}
free(cd); //釋放工作空間
}
void main()
{ int n,i;
int* w; //記錄權值
char* ch; //記錄字符
HuffmanTree HT;
HuffmanCode HC;
cout<<"請輸入待編碼的字符個數n=";
cin>>n;
w=(int*)malloc((n+1)*sizeof(int)); //記錄權值,號單元未用
ch=(char*)malloc((n+1)*sizeof(char));//記錄字符,號單元未用
cout<<"依次輸入待編碼的字符data及其權值weight"<
for(i=1;i<=n;i++)
{
cout<<"data["<
? 數據結構課程設計報告
本學期開設的《數據結構基礎》課程已經告一段落,現就學習體會進行學習總結。
這是一門純屬于設計的科目,它需用把理論變為上機調試。剛開始學的時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設計題目,對于我們一個初學者來說,無疑是一個具大的挑戰,撞了幾次壁之后,我決定靜下心來,仔細去寫程序。老師會給我們需要編程的內容一些講解,順著老師的思路,來完成自己的設計,我們可以開始運行自己的程序。
這門課結束之后,我總結了學習中遇到的一些問題,最為突出的,書本上的知識與老師的講解都比較容易理解,但是當自己采用剛學的知識點編寫程序時卻感到十分棘手,有時表現在想不到適合題意的算法,有時表現在算法想出來后,只能將書本上原有的程序段謄寫到自己的程序中再加以必要的連接以完成程序的編寫。剛開始學的時候確實有很多地方我很不理解,每次上上機課時老師都會給我們出不同的設計題目,對于我們一個初學者來說,無疑是一個具大的挑戰,撞了幾次壁之后,我決定靜下心來,仔細去寫程序。老師會給我們需要編程的內容一些講解,順著老師的思路,來完成自己的設計,我們可以開始運行自己的程序,可是好多處的錯誤讓人看的可怕,還看不出到底是哪里出現了錯誤,但是程序還是得繼續下去,我多次請教了老師和同學,逐漸能自己找出錯誤,并加以改正。TC里檢查錯誤都是用英文來顯示出來的,經過了這次課程設計,現在已經可以了解很多錯誤在英文里的提示,這對我來說是一個突破性的進步,眼看著一個個錯誤通過自己的努力在我眼前消失,覺得很是開心。此次的程序設計能夠成功,是我和我的同學三個人共同努力作用的結果。在這一段努力學習的過程中,我們的編程設計有了明顯的提高。
其實現在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費了好多心血,覺得它很難,是需用花費了大量的時間編寫出來的。現在真正的明白了一些代碼的應用,每個程序都有一些共同點,通用的結構,相似的格式。只要努力去學習,就會靈活的去應用它。
以上便是我對《數據結構基礎》這門課的學習總結,我會抓緊時間將沒有吃透的知識點補齊,克服學習中遇到的難關,在打牢基礎的前提下向更深入的層面邁進!
? 數據結構課程設計報告
(一)以學生職業能力培養為中心設計課程內容。
《機械工藝與裝配》是以學生職業能力培養為中心設計的工作過程導向的、情境化的理實一體化的課程。課程根據企業調研得到的數控工藝員典型工作任務為依據,有針對性的開發或選擇三個典型的多零件裝配成的部件為課程實施載體,課程載體可承載知識、技能、素質目標培養的需求;并且便于教學轉化;用任務驅動、問題引導、角色扮演、團隊協作、特色PK、量化考核,調動學生積極性,使學生為了完成任務必須學習,為取得良好經濟效益主動學習。教學成果的可評價性:在課程學習中使學生既能充分利用已有的知識和技能同時又自覺接受新的工作過程性知識與技能。
(二)圍繞地方企業中的人才需求設計課程情境。
《機械工藝與裝配》是直接服務于數控工藝員、數控編程員專業核心能力培養的課程。這里要將一個源于企業、經過教學改造的集中體現課程內容設計理念的多零件裝配成的部件“榨汁機模型”作為第一學習情境。以來源于企業的真實產品“車燈檢具” 作為第二學習情境。用一個可進行教學成果比較和檢驗的典型部件“產品的數控編程、加工與裝配大賽競賽題”作為第三學習情境。
(三)基于現代企業真實生產方式設計課程任務。
每一個學習情境和情境中的工作任務、任務中的單元都按完整的行動模式設計。將不同表達方式的工作任務、考慮資源情況的制造可行性評估、用CAPP計算機輔助編制工藝方案、工藝裝備的選取與設計制造、數控機床加工程序CAM計算機輔助編制及生產計劃和調度PPS等作為重點來學習。
(四)按著人們的認知規律設計任務層次。
三個學習情境按著人們的認知規律,以“邊學邊做、模仿著做、自主來做”的排序,將第一個學習情境設計成“開發性”的學習任務;將第二個學習情境新任務部分設計成 “開發性”的學習任務,其他設計成“設計導向性”的學習任務;將第三個學習情境設計成“設計導向性”的學習任務
本課程將利用前導課程
1.符合標準的零件繪制方法;
2.常用機構及連接;
3.機械制造工藝規程的制定;
4.機械加工方法的選擇;
5.機械加工工藝的執行;
6.使用加工設備及刀具、夾具、量具等工藝裝備的能力.數控機床手工和計算機編程;等信息。
并采集以下新信息:
1.通用數據格式零件工藝信息的識讀;
2.基于信息分析下的可制造性評估;
3.基于3D模型的二維工程圖圖繪制;
4.使用CAPP的工藝規程制定及其數據庫建立方法;
5.利用PPS導向的生產計劃和調度;
6.會分析處理加工現場工藝問題;
7.可指導工件的檢測。
通過本課程能夠得到如下方法能力的訓練:
1.調度協調環節可涉獵利用專業術語與人溝通能力的訓練;
2. 現場問題處理可涉獵觀察、分析、判斷加工現場的安全、可靠、合理性和改革、創新能力的訓練;
3.軟件工具的使用可涉獵接受技術指導和自我學習的能力訓練;
4.團隊工作可涉獵與人合作的素質的養成訓練。
? 數據結構課程設計報告
實驗報告;課程名稱:數據結構班級:軟件工程實驗成績:;1206;實驗名稱:打印機隊列模擬學號:4848批;程序的設計;實驗編號:實驗一姓名:實驗日期:5月2;一、實驗目的;對隊列的理解;對STL中的queue的使用;實驗仿真一個網絡打印過程;二、實驗內容與實驗步驟流程圖;這個任務隊列的測試使用STL隊列適配器;具體地說,每一行中包含的信息是
這個任務隊列的測試使用STL隊列適配器。程序要求完成模擬的實現共享打印機。這個打印機使用先進先出隊列。仿真是通過讀取和處理事件數據文件的列表。一個有效的數據文件中的每一行包含信息打印作業和提交這份工作的時間。
具體地說,每一行中包含的信息是提交工作的時間(以秒為單位),和在頁面的工作長及工作的計算機的名稱。在模擬的開始,每個這些事件的每一個應該被程序所讀,存儲在繼承工作負載隊列。程序應該通過循環遞增計數器或while-loop模擬時間的流逝。程序應該將計數器初始化為零,然后依次增加1秒。當模擬等于當前時間的打印作業的提交時間在工作隊列的前面,一個打印作業完成。當這一切發生的時候,從工作隊列取出這個事件,然后把它放在另一個隊列對象。這個隊列對象存儲已完成的打印作業。當程序仿真其他的打印工作的時候,這些工作在隊列等待。
#include “simulator.h”
protected:
queue waiting;
priority_queue priority_waiting;
public:
fifo(int seconds_per_page);
void simulate(string file);
};
bool operator < (event evtleft,event evtright);
using namespace std;
fifo::fifo(int seconds_per_page):simulator(seconds_per_page){ }
void fifo::simulate(string file){
int finish_time = 0;
float agg_latency = 0;
int totaljob =0;
event evt;
if(file.find(“arbitrary”)!= string::npos){
string outfile =“arbitrary.out”;
ofstream osf(outfile.c_str());
loadworkload(file);
osf<
for(int time =1;!waiting.empty()||!workload.empty();time++){ while(!workload.empty() && time ==
workload.front().arrival_time()){
evt= workload.front();
osf<
workload.pop();
}
if(!waiting.empty() && time >= finish_time){
totaljob ++;
evt = waiting.front();
agg_latency += time - evt.arrival_time();
osf<
finish_time = time + evt.getjob().getnumpages() * seconds_per_page;
}
}
osf<
osf<
osf<
return;
}
if(file.find(“bigfirst”) != string::npos){
string outfile = “bigfirst.out”;
ofstream osf(outfile.c_str());
loadworkload(file);
=1;!priority_waiting.empty()||!workload.empty();time++){
while(!workload.empty() && time ==
workload.front().arrival_time()){
evt= workload.front();
osf<
workload.pop();
}
if(!priority_waiting.empty() && time >= finish_time){
totaljob ++;
evt = priority_();
agg_latency += time - evt.arrival_time();
osf<
finish_time = time + evt.getjob().getnumpages() * seconds_per_page; }
}
osf<
osf<
osf<
return;
}
cerr<
cerr<
bool operator < (event evtleft,event evtright){
return evtleft.getjob().getnumpages() <
evtright.getjob().getnumpages();
經測試,功能較為完整。代碼流程簡圖如下:
通過這次實驗,我了解了有關隊列方面的知識。掌握了隊列的邏輯結構,抽象數據類型,隊列的存儲方式等。運用先進先出表,仿真了網絡打印隊列。這都使我對數據結構的學習有了新的認識與幫助。在實驗過程中,我也遇到了許多困難,從開始時對隊列運算的不熟悉,到逐漸查找資料,從而完成了實驗;六、附錄;-《數據結構與算法分析》以及網上資料;
逐漸查找資料,從而完成了實驗。在今后的學習中,我將繼續努力,加強對堆棧,隊列等知識的學習,以達到精益求精。
? 數據結構課程設計報告
1.1 基本項目任務
濰坊市郊區有一座鍋爐廠,滿足人們用電量的需求的同時,排放出大量的含塵氣體,需要進行處理以保證對環境無害,擬設計一套除塵系統。該燃煤鍋爐的基本參數如下:
煙氣流量:30000Nm3/h;
煙氣密度:1.29kg/m3;
煙氣黏度:1.8×10-5P.s;
- ?讀書筆記吧DsbJ1.coM內容組內部傳閱清單:
- 課程設計心得?|?課程設計方案?|?校本課程設計方案?|?設計院結構工程師辭職報告?|?數據結構課程設計報告?|?數據結構課程設計報告
煙氣溫度:120℃;
煙氣壓強:1atm;
粉塵密度:2000kg/m3
粉塵粒徑分布符合對數正態分布,平均半徑Dmean =30μm,均方差σ= 1.2。 進口粉塵濃度:20g/Nm3
1.2排放要求
要求達到國家《鍋爐大氣污染物排放標準》GB13271—2001二類區域排放標準。
即煙塵濃度排放標準(標準狀態下):200mg/m3;二氧化硫排放標準(標準狀態下):900mg/m3。
1.3項目意義
鍋爐廠排放的廢氣主要有鍋爐燃煤產生的煙氣,主要污染物有煙塵、二氧化硫、氮氧化物等。這些污染物排放到大氣中將產生懸浮顆粒使氣渾濁,出現灰霾、酸雨、光化學煙霧等氣象災害,危害環境和人體健康。鍋爐燃煤燃燒過程中還會產生多環芳烴二噁英等持久性有機污染物以及排放大量溫室氣體--二氧化碳;此外,燃煤電廠飛灰中也已檢出吸附有非多環芳烴類有機污染物。小顆粒一般是指
空氣動力直徑在0.001~10m之間固態或液態的空氣懸浮物。我國大氣中小顆粒物的污染非常嚴重,其主要來源是燃料燃燒后排放的產物,而其中又以火電廠排放的煙氣所含比重最大。大氣中總懸浮顆粒物(TSP)濃度的增加可導致大氣能見度明顯下降,太陽輻射損失明顯增加,并影響人體呼吸系統。全國城市空氣中TSP普遍超標,大氣中二氧化硫濃度的增加對人體健康有嚴重影響,刺激呼吸系統,使氣喘病人痙攣,誘發支氣管炎、氣管炎,二氧化硫還影響植物的生長發育及葉面傷害、壞死。此外,二氧化硫還是形成酸雨的主要物質,對金屬材料可造成腐蝕使建筑材料出現斑痕,失去光澤。大氣中氮氧化物濃度的增加會刺激人體呼吸系統、中樞神經系統、導致肺氣腫、麻痹和痙攣,使植物生長緩慢,葉面損傷。另外氮氧化物也是形成酸雨的主要原因。
最近幾年的大氣受到嚴重的污染,霧霾天氣在全國大部分城市頻繁發生,平流層臭氧層變薄和酸雨的產生都是工業生產中釋放的廢氣導致的,陸地和海洋生物也受到威脅。
源頭治理已成為大氣污染控制中一項積極有效的措施,因而每個工廠中的除塵凈化設施就顯得尤為重要。經濟合理的除塵設備可將污染扼殺在“搖籃”中,還我們賴以生存的大氣一片潔凈,通過除塵裝置對煙氣進行凈化,將對大氣的污染降到最低,達到國家的排放標準,進一步的提升中心城區的形象和品位。
1.4設計原則等
本設計遵循如下原則進行工藝路線的選擇及工藝參數的確定:
(1)除塵效率滿足鍋爐大氣污染物排放標準。基礎數據可靠,總體布局合理。
(2)避免二次污染,降低能耗,近期遠期結合、滿足安全要求。
(3)采用成熟、合理、先進的處理工藝,處理能力符合處理要求;
(4)投資少、能耗和運行成本低,操作管理簡單,具有適當的安全系數,各工藝參數的選擇略有富余,并確保處理后的尾氣可以達標排放;
(5)在設計中采用耐腐蝕設備及材料,以延長設施的使用壽命;
(6)廢氣處理系統的設計考慮事故的排放、設備備用等保護措施;
(7)工程設計及設備安裝的驗收及資料應滿足國家相關專業驗收技術規范
和標準。
(8)考慮場地的大小,設備要在滿足除塵效率的前提下,應有盡量小的占地面積。
(9)要根據當地的具體情況和條件,本單位操作、維護管理水平,再根據各種除塵器的性能來選定所需要的除塵器。
? 數據結構課程設計報告
數據結構練習試題
一、單項選擇題
1.關系數據模型的三個組成部分中,不包括( ? C ? )
A.完整性規則 B.數據結構 ? C.恢復D.數據操作
2. 五種基本關系代數運算是 ( ?A ? )
A. ∪,-,×,π和σ ? ? ? ? ? B. ∪,-,∞,π和σ
C. ∪,∩,×,π和σ ? ? ? ? ?D. ∪,∩,∞,π和σ
3.公司中有多個部門和多名職員,每個職員只能屬于一個部門。一個部門可以有多名職員,從部門到職員的聯系類型是( ? D ?)
A.多對多 ? ? B.一對一 ? ? C.多對一 ? ? D.一對多
4.關系代數表達式的優化策略中,首先要做的是( B ? )
A.對文件進行預處理 ? ? ? ?B.盡早執行選擇運算
C.執行笛卡兒積運算 ? ? ? ?D.投影運算
5.下列四項中,不屬于關系數據庫特點的是( ? D ?)
A.數據冗余小 ? ?B.數據獨立性高 ? ?C.數據共享性好 ? ? ?D.多用戶訪問
6. 下列聚合函數中不忽略空值 (null) 的是( ?C ? )
A. SUM (列名) ? ? ?B. MAX (列名) ? ? ? C. COUNT ( * ) ? ? D. AVG (列名)
7.SQL語言中,修改表結構的語句是( D ? ?)。
A、CREATE ? ? B、SELECT ? ? C、UPDATE ? ?D、ALTER
8.下列四項中說法不正確的是( ?C ? ) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 共四頁第二頁
A.數據庫減少了數據冗余 ? ? ? ? ? B.數據庫中的數據可以共享
C.數據庫避免了一切數據的重復 ? ? D.數據庫具有較高的數據獨立性
9.在關系數據庫系統中,為了簡化用戶的查詢操作。而又不增加數據的存儲空間,常用的方法是創建( C ? ?)
A. 另一個表(table) B. 游標(cursor) C. 視圖(view)D.索引(index)
10. 如果事務T獲得了數據項Q上的.排它鎖,則T對Q ( ?C ? )
A.只能讀不能寫 ? ?B.只能寫不能讀 ? C. 既可讀又可寫 ? D. 不能讀不能寫
二.填空題
1.數據庫系統一般由數據庫, _________, _應用系統_________ 。數據庫管理員和用戶構成。
2.數據庫的存儲結構改變了,由數據庫管理員對_________映像作相應改變。可以使_模式_與應用程序保持不變,從而保證了數據的物理獨立性。
3. DB并發操作通常會帶來三類問題,它們是丟失更新、不可重復讀和____________。
4. 事務必須具有的四個性質是:原子性、___________、____________和持久性。
5.用樹型結構表示實體類型及實體間聯系的數據模型稱為_______________。
6.從關系規范化理論的角度講,一個只滿足1NF的關系可能存在的四方面問題是:數據冗余度大、修改異常、插入異常和______。
三、簡答題
1、數據庫
2、候選碼
3、試述DBMS的主要功
4、數據模型的組成要素.
? 數據結構課程設計報告
課程設計是計算機科學與技術專業學生的集中實踐性環節之一,是學習“數據結構與算法”理論和實驗課程后進行的一次全面的綜合練習。其目的是要達到理論與實際應用相結合,使學生能夠根據問題要求和數據對象的特性,學會數據組織的方法,把現實世界中的實際問題在計算機內部表示出來并用軟件解決問題,培養良好的程序設計技能。
在這次課程設計當中,我了解到了我的不足,如算法的不完善、不細心和耐心不是很好等等。不細心的我在調試程序時,老是因為某個書寫錯誤導致錯誤;對這些錯誤,我不得不花大量的時間去更正,并且還要重復檢查是否出現雷同的錯誤而導致程序不能運行。但是通過這次課程設計,我的這些缺點有些改善。我在寫新的程序時,首先要考慮的深入一點、仔細一點,這樣要修改程序的時間就會少很多。并且也不會因為自己不細心而導致的浪費時間的情況出現。
在進行程序設計時,要注意想好思路。即要有恰當模塊名、變量名、常量名、子程序名等。將每個功能的模塊,即函數名要清晰的表述出來,使用戶能夠一目了然此程序的功能。當然適當的給寫注釋,也是方便用戶的理解。還有在編寫程序時要注意對程序的適當分配,便于用戶看懂程序,也便于自己檢查城市。但是完成任何一個較大的程序,都需要掌握一定的編程基礎,需要不斷的探索和求知過程,這樣對自己編程能力的提高有較大的幫助。當然,任何程序必須經過計算機的調試,看是否調試成功,發現錯誤,一個個,一步步去解決,這樣就能從錯誤中進步。
通過課程設計加強了我的動手能力,以及提升了局部和統一考慮問題的思維方式。回顧起此次課程設計,至今我仍感慨頗多,的確,從從拿到題目到完成整個編程,從理論到實踐,在整整半個月的日子里,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結構體通過這次課程設計之后,一定把以前所學過的知識重新溫故。
通過這次的課程設計,我學到了怎么樣從一個實際問題出發,建立模型,找到相應的存儲結構和實現方法,實際運行,反復調試和修改,最終實現功能。在程序設計方法以及上機操作等基本技能和科學作風方面受到比較系統和嚴格的訓練,學會數據組織的方法,把現實世界中的實際問題在計算機內部表示出來并用軟件解決問題,培養了良好的程序設計技能。
在這次課程設計中,得到了好多同學的幫助以及老師的指導,在此要表達我真誠的謝意!
? 數據結構課程設計報告
一、需求分析1、程序所實現的功能;2、程序的輸入,包含輸入的數據格式和說明;3、程序的輸出,程序輸出的形式;4、測試數據,如果程序輸入的數據量比較大,需要給出測試數據;5、合作人及其分工二、設計說明1、主要的數據結構設計說明;2、程序的主要流程圖;3、程序的主要模塊,要求對主要流程圖中出現的模塊進行說明4、程序的主要函數及其偽代碼說明(不需要完整的代碼);5、合作人設計分工三、上機結果及體會1、合作人編碼分工2、實際完成的情況說明(完成的功能,支持的數據類型等);3、程序的性能分析,包括時空分析;4、上機過程中出現的問題及其解決方案;5、程序中可以改進的地方說明;6、程序中可以擴充的功能及設計實現假想;說明:1、如果程序比較大,可以將設計說明分為概要設計和詳細設計兩部分。概要設計主要負責程序的流程、模塊、抽象數據類型設計;詳細設計負責程序的數據類型定義和主要函數的說明。2、設計說明中,不需要寫出代碼或者模塊的詳細代碼,只需要寫出主要函數的偽代碼說明。
? 數據結構課程設計報告
1.確定搭建一臺8位模型機,指令系統系統有10條,涉及輸入,輸出,加,減,自增,自減,與,傳送,跳轉,停機等指令。
2.根據所要設計的指令,確定各種信息的傳送路徑,以及實現這些傳送所需的微指令。
3.根據數據通路,確定指令系統中每條指令的執行流程。
4.根據執行流程,確定好機器指令之后,確定相對應的微指令地址,需要多條微指令來完成的機器指令,要準確無誤的確定每條微指令的后續地址。 5.設計好指令后,將指令加載,檢測該指令是否可以達到預計功能。
? 數據結構課程設計報告
用C++語言編程。編程題目如下:
(一)統計一個班(最多有35人)的學生成績,要求能實現如下功能:
(1)輸入每個學生的學號和6門課程的成績。
(2)計算每個學生的平均分和總分。
(3)按總分從高到低排出名次,并按名次輸出每個學生的情況,包括學號、各科成績、平均分和總分。
(4)根據用戶要求輸出某門課程(從鍵盤輸入課程號)成績在90分以上(含90分)且總分在前5名的學生情況,包括學號、各科成績、平均分和總分。
(5)根據統計,繪制總成績五分制百分比餅圖。(自學利用C++提供的庫函數繪制曲線圖)。要求:利用類來實現,學生學號和成績采用文件輸入,排序。 數據的組織可采用對象數組 。查閱相關資料并寫出系統設計說明書。寫出實踐報告。
(二)統計商品銷售數據,要求能用菜單實現如下功能:
(1)輸入每件商品的名稱,編號,入庫日期,標價,成本。
(2)輸入每件商品的售價,出售日期。
(3)按總銷售量從高到低排出每種商品的名稱,售出件數,銷售額。
(4)根據用戶要求輸出某商品某月(從鍵盤輸入商品名稱和月份)的平均售價、售出件數、總利潤。
。(5)根據統計,繪制商品銷售利潤百分比餅圖。(自學利用C++提供的庫函數繪制曲線圖)。要求:利用類實現,數據采用文件輸入,排序。 數據的組織可采用對象數組 。查閱相關資料并寫出系統設計說明書。寫出實踐報告。
(三)統計足球比賽數據,要求能用菜單實現如下功能:
(1)輸入每場比賽的主隊名稱,客隊名稱,比賽日期,主隊得分,客隊得分。
(2)按總得分從高到低排出每個隊的名稱,總得分,勝,和,負的次數。
(3)根據用戶要求輸出某隊某月(從鍵盤輸入隊名和月份)的所有比賽數據。
(4)根據用戶要求輸出某隊主場總得分,客場總得分
(5) 根據用戶輸入,繪制某隊成績歷史趨勢圖。(自學利用C++提供的庫函數繪制曲線圖)。要求:利用類實現,數據采用文件輸入,排序。 數據的組織可采用對象數組 。查閱相關資料并寫出系統設計說明書。寫出實踐報告。
(四)統計稿件管理數據,要求能用菜單實現如下功能:
(1)輸入每件稿件的第一作者名字,稿件名稱,投稿日期,作者的省份。
(2)輸入每件稿件的發表日期,審稿意見。
(3)按作者的省份,從高到低排出每個省的總發表篇數。
(4)根據用戶要求輸出某作者某月(從鍵盤輸入作者名和月份)的所有稿件數據。
(5) 根據用戶輸入,繪制稿件按省份的百分比餅圖。(自學利用C++提供的庫函數繪制曲線圖)。要求:利用類實現,數據采用文件輸入,排序。 數據的組織可采用對象數組 。查閱相關資料并寫出系統設計說明書。寫出實踐報告。
(五)統計用電管理數據,要求能用菜單實現如下功能:
(1)輸入每個電表的用戶名,樓棟號,抄表日期,電表讀數。
(2)按作者的用電量,從高到低排出每個用戶的總用電量。
(3)根據用戶要求輸出某用戶某月(從鍵盤輸入用戶名和月份)的總用電量。
(4)統計某樓棟從某月到某月(從鍵盤輸入)的總用電量
(5) 繪制按的樓棟的用電百分比餅圖。(自學利用C++提供的庫函數繪制曲線圖)。要求:利用類實現,數據采用文件輸入,排序。 數據的組織對象數組。查閱相關資料并寫出系統設計說明書。寫出實踐報告。
以上五題任選一題。
? 數據結構課程設計報告
首先你要知道什么是數據結構,學習數據結構的意義。這將是你學習的動力所在。計算機軟件都用到了數據結構。所以,學好數據結構對于你將來從事計算機編程類的工作有十分重要的作用。
數據結構中的基本概念,你要一定清楚。平時要多看書,要在計算機上去調試程序,在調試的過程中,你才能發現自己的問題,然后及時解決。在上機調試的過程中,更要大膽嘗試,注重運用。拿到一個題時,更要深入分析,嘗試用不同的算法去設計。當然編程的時候,要注意格式。比如:變量一定要先定義后使用。變量的定義不要定義在中間。
算法與數據結構是緊密聯系,所以你算法一定要會。如果你是學生,只需把課本上出現的搞懂就好了,比如線性表的插入,刪除,查找算法,它都是固定的。你就要理解,當然你要學會畫圖。對于書中的內容要熟悉。
數據結構的大綱如下:線性表、棧和隊列,串、數組和廣義表、樹與森林、圖、還有就是查找和排序。簡單的總結一下也就是它的邏輯結構:線性結構和非線性結構。這些基本的內容你如果搞懂了,你的數據結構也就學好了。
要嚴格要求自己。在學習算法的過程中,你要想它為什么要這樣設計?它的優點在哪里?想著去改進算法,慢慢的的你的邏輯思維能力也就提高了。你會發現其實數據結構也就那么回事,不是很難。
有不懂得地方要及時請教老師,不要不懂裝懂。不要放過任何一個細節,因為我的專業就是計算機,所以有很多都是深有體會。
首先你要清楚一周內所要做的事情,然后制定一張作息時間表。在表上填上那些非花不可的時間,如吃飯、睡覺、上課、娛樂等。安排這些時間之后,選定合適的、固定的時間用于學習,必須留出足夠的時間來完成正常的閱讀和課后作業。當然,學習不應該占據作息時間表上全部的空閑時間,總得給休息、業余愛好、娛樂留出一些時間,這一點對學習很重要。一張作息時間表也許不能解決你所有的問題,但是它能讓你了解如何支配你這一周的時間,從而使你有充足的時間學習和娛樂。
這就意味著在你認真投入學習之前,先把要學習的內容快速瀏覽一遍,了解學習的大致內容及結構,以便能及時理解和消化學習內容。當然,你要注意輕重詳略,在不太重要的地方你可以花少點時間,在重要的地方,你可以稍微放慢學習進程。
學習成績好的學生很大程度上得益于在課堂上充分利用時間,這也意味著在課后少花些功夫。課堂上要及時配合老師,做好筆記來幫助自己記住老師講授的內容,尤其重要的是要積極地獨立思考,跟得上老師的思維。
課堂上做的筆記你要在課后及時復習,不僅要復習老師在課堂上講授的重要內容,還要復習那些你仍感模糊的認識。如果你堅持定期復習筆記和課本,并做一些相關的習題,你定能更深刻地理解這些內容,你的記憶也會保持更久。定期復習能有效地提高你的考試成績。
選擇某個地方作你的學習之處,這一點很重要。它可以是你的單間書房或教室或圖書館,但是它必須是舒適的,安靜而沒有干擾。當你開始學習時,你應該全神貫注于你的功課,切忌“身在曹營心在漢”。
平時測驗的目的主要看你掌握功課程度如何,所以你不要弄虛作假,而應心平氣和地對待它。或許,你有一兩次考試成績不盡如人意,但是這不要緊,只要學習扎實,認真對待,下一次一定會考出好成績來。通過測驗,可讓你了解下一步學習更需要用功夫的地方,更有助于你把新學的知識記得牢固。
- 推薦閱讀: 微課程設計方案(匯集十一篇) 高中語文課程設計模板(集合九篇) 初中語文課程教學設計(匯總12篇) 設計院結構工程師辭職報告(分享十六篇) 數據調查報告(集合13篇) 數據員工作總結(熱門12篇)
- 為了您方便瀏覽更多的數據結構課程設計報告網內容,請訪問數據結構課程設計報告