軟件項目實訓(xùn)報告.doc
《軟件項目實訓(xùn)報告.doc》由會員分享,可在線閱讀,更多相關(guān)《軟件項目實訓(xùn)報告.doc(32頁珍藏版)》請在裝配圖網(wǎng)上搜索。
遼寧工程技術(shù)大學(xué)大型軟件項目實訓(xùn)報告教學(xué)單位 軟件學(xué)院 專 業(yè) 軟件工程 班 級 08 - 3 學(xué)生姓名 張興堂 學(xué) 號 0820010329 指導(dǎo)教師 陳 虹 一、實訓(xùn)目的通過外出實訓(xùn)提高自己的實戰(zhàn)能力,對軟件編程項目有更深刻的理解。根據(jù)企業(yè)對人才的具體需求,針對軟件學(xué)院應(yīng)屆畢業(yè)生,開展以大型軟件工程項目為目的的實戰(zhàn)訓(xùn)練,有效提升學(xué)生的項目實戰(zhàn)能力和適應(yīng)市場的能力,最終實現(xiàn)學(xué)生比較理想的就業(yè)率和就業(yè)質(zhì)量。二、實訓(xùn)時間和地點1實訓(xùn)時間:2011年11月1月2012年1月6日2實訓(xùn)地點:北京達內(nèi)三、實訓(xùn)單位簡介達內(nèi)IT培訓(xùn)集團是中國高端IT培訓(xùn)機構(gòu),致力于培養(yǎng)面向電信和金融領(lǐng)域的Java、C+、C#/.Net、測試、嵌入式、PHP等方面中高端軟件人才,由美國國際數(shù)據(jù)集團IDG、集富亞洲JAFCOASIA和高盛集團投資,是國內(nèi)首家獲得國際風(fēng)險投資的IT培訓(xùn)機構(gòu)。經(jīng)過8年運營,達內(nèi)IT培訓(xùn)集團實現(xiàn)了95%的專業(yè)就業(yè)率,78%的口碑入學(xué)率,學(xué)員平均畢業(yè)薪資3800元/首月平均薪資。目前,達內(nèi)IT培訓(xùn)團已經(jīng)發(fā)展成為集培訓(xùn)、咨詢、開發(fā)、人才服務(wù)于一體的高新技術(shù)集團公司,公司下設(shè)達內(nèi)高端IT培訓(xùn)、達內(nèi)軟件人才服務(wù)中心、達內(nèi)軟件研發(fā)中心。達內(nèi)IT培訓(xùn)集團以中關(guān)村科技園區(qū)為依托,在中國軟件業(yè)發(fā)達城市北京、上海、廣州、深圳、大連、南京、武漢、杭州、西安、蘇州、成都、太原20大城市,建立了近40家培訓(xùn)中心,占地2萬平米,年培訓(xùn)1萬多名軟件人才。已累計為IBM、微軟、摩托羅拉、華為、中軟、用友、Yahoo、阿里巴巴、TOM、新浪、搜狐、百度、聯(lián)想、神州數(shù)碼、大唐電信、亞信等知名IT企業(yè)培養(yǎng)輸送了5萬多名中高級軟件人才,目前達內(nèi)全國擁500多名員工,年產(chǎn)值近2億元,是中國最大的中高端軟件人才培訓(xùn)機構(gòu)。由于達內(nèi)IT培訓(xùn)集團優(yōu)秀的教學(xué)效果和行業(yè)領(lǐng)先的經(jīng)營模式贏得了社會各界的廣泛贊譽和好評,近年來達內(nèi)榮獲了各界權(quán)威機構(gòu)的頒獎:達內(nèi)成為業(yè)界唯一的一家2006、2007、2008、2009連續(xù)4年入選德勤評選的“中國高科技高成長50強公司”、“亞太地區(qū)高科技高成長500強公司”,中關(guān)村管理委員會指定的“軟件人才培養(yǎng)示范基地”、被計算機世界評選的“就業(yè)服務(wù)杰出貢獻獎”、被中國計算機報評選的“最具影響力培訓(xùn)機構(gòu)獎”、被搜狐評為“中國十大教育集團”、被騰訊評為“中國大學(xué)生心目中最具影響力的IT品牌”等等。 四、實訓(xùn)內(nèi)容1實訓(xùn)期間完成的學(xué)習(xí)任務(wù)一Linux系統(tǒng)操作命令首先,我們學(xué)習(xí)了最基礎(chǔ)的系統(tǒng)操作指令。因為在學(xué)習(xí)過程中c和c+代碼的編程和修改在linux系統(tǒng)下,所以我們集中精力花費了3天時間學(xué)習(xí)指令操作。命令:文檔統(tǒng)計: wc日期: date cal關(guān)機 poweroff windows:shutdownReboot exit find grep find 目錄列表 匹配標(biāo)準(zhǔn) -name size -type -atime 通配符操作目錄下有需要通配的內(nèi)容的時候采使用通配符。* (1) 列舉(2) 范圍?!; | 將上一個命令的輸出作為下一個命令的輸入 cat /etc/passwd | grep -n roottee ls -l | tee a.txt ln 硬連接 軟連接 ln file02 file ln -s file02 sfile users:who:who am i:whoami: 系統(tǒng)進程信息 psps u:詳細方式顯示當(dāng)前終端下的進程的信息ps -e:當(dāng)前正在運行的所有進程sleep 10&kill PID jobs: 查看任務(wù)kill %n fg %n bg %n stop %n ctrl+c / z man 幫助手冊(1) 系統(tǒng)命令(2) 系統(tǒng)調(diào)用 open (3) 庫函數(shù) fopen(4) (5) (6) (7) (8) 管理員的命令 ifconfig service ifconfigip地址:netmask: 默認(rèn)網(wǎng)關(guān):域名解析 netstat ping ip export HOME: PWD: PATH: LANG: CC: CCC: PS1: PS2 export PS1= /.bashrc source /.bashrc xxx.sh#!/bin/bash cal date ls vi命令模式: i a h j k l ctrl+b f shift+9 0 w e b $ 0 x 5x X 5X dd 5dd yw yy p r R u : undo #G 底行命令模式:set nuset cindent:按照C語言的風(fēng)格進行自動縮進。set tabstop=4:設(shè)置tab按鍵的長度 行號+回車 字符串n N /n個空格 %s/string/replace/g w filename#1,#2 w filename q q! wqgedit kateC程序的開發(fā)執(zhí)行次序: 1 寫源文件,后綴名 .c 2 對代碼中的指令進行預(yù)處理,以#開頭的 3 代碼編譯,生成 xx.o/xx.obj 4 代碼的連接生成可執(zhí)行文件 a.out/xx.exe 5 加載文件,把文件從硬盤讀入內(nèi)存 6 執(zhí)行 gcc 的選項: -c 只編譯不連接 -E 只作預(yù)處理 -S 匯編代碼 -std=c89/c99 -o 改變最后的可執(zhí)行文件的名字 二.linu下c程序開發(fā) 庫函數(shù) sqrt 開平方 #include 連接的時候需要連接 數(shù)學(xué)庫gcc xxx.c -lm 舉例: 打印1-30 之間不能被4整除的整數(shù)。 while循環(huán)while(表達式) 語句; int i = 1;while(i11) printf(%d ,i+);舉例 : 猜數(shù)游戲。 隨機數(shù): #include rand() 偽隨機數(shù) srand() 設(shè)置隨機數(shù)種子 #include time() 獲取系統(tǒng)的時間 time(0):返回一個時間 1970年1月1號0:0:0 到現(xiàn)在 所經(jīng)過的秒數(shù) 隨機數(shù): srand(time(0); rand()產(chǎn)生一個隨機數(shù)。無限循環(huán):死循環(huán) while(1) for(;) do-while循環(huán): do 語句; while(表達式);緩沖區(qū):輸入: scanf(數(shù)據(jù)類型); scanf(%*n);* : 將讀取到的內(nèi)容忽略掉n : 非n的字符scanf(%*c); if(scanf()=0) 輸出緩沖區(qū): n 程序結(jié)束 滿 4kb 人工刷新 fflush(stdout);/stdin stderr一維數(shù)組: 數(shù)據(jù)類型相同的一組數(shù)據(jù)。(結(jié)構(gòu)體) 數(shù)組的定義: 數(shù)據(jù)類型 數(shù)組名數(shù)組的長度; char int float 結(jié)構(gòu)體 int a5; 下標(biāo): 數(shù)組的初始化: int a5 = 1,2,3,4; int a5 = 0;指定初始化: int a5 = 3 = 4; 二維數(shù)組: 數(shù)據(jù)類型 數(shù)組名行列 行下標(biāo) 列下標(biāo) for() for() aij = 0; 一維: for() ai = 0; 二維數(shù)組初始化: int a23 = ,;函數(shù)的返回值: 函數(shù)返回值的類型必須和return返回值的類型一致。 如果函數(shù)沒有返回值 指定 void C語言中 返回值類型可以省略 默認(rèn) int 參數(shù):形式參數(shù) 多個形式參數(shù)之間使用逗號分割 每個形式參數(shù)必須有類型的說明float x,y,z;float aver(float x,y)/錯誤 C語言中沒有bool類型 #include bool true false 本質(zhì)就是一個整數(shù) #include double sqrt(double); gcc xxx.c -lm 函數(shù)調(diào)用 函數(shù)名(實際參數(shù)); 形式參數(shù)和實際參數(shù): 參數(shù)名可以不一樣 函數(shù)聲明: C語言規(guī)定:函數(shù)在使用之前必須聲明。 聲明: 函數(shù)頭; bool prime(int); 可以不寫形式參數(shù)的名字。 隱式聲明: 如果函數(shù)在使用之前并沒有進行聲明,編譯器會自動創(chuàng)建 一個隱式聲明,返回值類型為 int 實際參數(shù)-形式參數(shù) 值傳遞: 拷貝一份數(shù)組賦值給形式參數(shù)。 float aver(float x,float y); t = aver(i,j); i-x j-y aver返回值-t注意: 實際參數(shù)和形式參數(shù)名字一樣,存儲空間不一樣。 高內(nèi)聚 低耦合 數(shù)組可以作為函數(shù)的參數(shù): 函數(shù)調(diào)用傳遞的是數(shù)組的名字 (數(shù)組第一個元素的地址) 數(shù)組的長度 = sizeof(數(shù)組名)/sizeof(元素) 不能實現(xiàn): 數(shù)組傳遞的是地址。 sizeof(地址) = 4 形式參數(shù)為數(shù)組的時候,我們應(yīng)該設(shè)計兩個參數(shù):一個數(shù)組 另外一個 數(shù)字的長度 int function(int a,int length,.) const: 使用const修飾的變量,只讀變量。 如果形式參數(shù)傳遞的是地址,不希望在被調(diào)函數(shù)中修改地址上的 內(nèi)容 可以使用const來修飾形參 void f(const int a,int length);return : main函數(shù)中使用 整個程序結(jié)束。遞歸: 如果一個函數(shù)調(diào)用了它本身,遞歸函數(shù)。指針的初級: 指針 就是內(nèi)存的地址,指針變量就是存儲地址的變量。定義一個指針變量:數(shù)據(jù)類型 *變量名;指針變量所保存的地址-內(nèi)存上的數(shù)據(jù)類型。* : 告訴編譯器后面的變量是一個指針變量 指針初始化: int *q = NULL;/NULL 0 0.0 空指針:不指向任何地方 指針的賦值: q = &i;運算符: * 取對應(yīng)地址上的內(nèi)容。const與指針: (1) const int *q : q指向的數(shù)據(jù)數(shù)值不能改變 q本身可以改變。 (2) int * const q : q本身不可以改變,q指向的數(shù)值是可以改變的。 數(shù)組名 (3) const int * const q字符串: string類型三種表現(xiàn)形式:(1)字面值常量“abcde”,不能作為變量,可以賦值給變量。程序段(代碼段)后面0結(jié)束數(shù)值相同的字面值常量在代碼段只有一份。(2)char arr20表示字符串類型的變量(數(shù)組)后面一定加上0printf(%s,arr);-arr是數(shù)組的名字一直打印直到遇到0(3)int a10;int* q=&a0; char str20;char *q=&str0; 指針方式存儲字符串常量的地址??紤]緩沖區(qū)的大小,可能會導(dǎo)致緩沖區(qū)溢出。fgets(char *s,size_t size,FILE* stream);s:指向緩沖區(qū)的指針size:緩沖區(qū)的大小stream:文件指針-stdin注意:fgets會在整個字符串后面增加n操作字符串的庫函數(shù):#include strcpy char* strcpy(char* dest,char* src); 作用:將src指向的字符串拷貝呆dest指向的緩沖區(qū)中。 返回值:dest數(shù)值(地址)。 使用:char str120;char str220;strcpy(str1,str2);strcpy(str1,hello); 注意:strcpy不考慮第一個參數(shù)指向緩沖區(qū)大小。char* strncpy(char* dest,const char* src,size_t size);strcat: char* strcat(char *dest,char* src); 作用:將src指向的字符串鏈接到dest指向的字符串結(jié)尾的地方注意:不會考慮dest指向的緩沖區(qū)的大小。char* strncat(char* dest,char* src,size_t size);strlen:-sizeof char name20 = hello; sizeof(name)-20:數(shù)組所占用的內(nèi)存 int strlen(char* s); strlen(name) = 5; 測量字符串的長度,不包含結(jié)尾的nstrcmp:對比兩個字符串 int strcmp(char* s1,char* s2) abc acb 返回值有三種可能: 1 0 相等 2 正數(shù) s1s2 3 負(fù)數(shù) s1printf(i/j = %d,i/j);PRINT(x/y)-printf(x/y = %d,x/y); #define PRINT(n) printf(.,n) #運算符: 可以將宏中的參數(shù)轉(zhuǎn)換為字面值常量。限定: #運算符只能出現(xiàn)在帶參數(shù)的宏替換列表中 字符串: abcde = abcde#define PRINT(n) printf(#n = %dn,n) - i/j = %dn-i/j = %dn #運算符 作用:將兩個標(biāo)識符粘合在一起組成一個新的標(biāo)識符 需求: int float int max_int()-整數(shù)float max_float()-浮點數(shù).#define MAX(type) type max_#type() .MAX(int)- int max_int()MAX(float)- float max_float() 需要很多標(biāo)識符名字。#define MK_ID(n) i_#nMK_ID(1) - i_1MK_ID(32) - i_32條件編譯: 就是根據(jù)預(yù)處理的結(jié)果來包含或者排除某一段代碼。#if #endif 預(yù)處理器判斷#if后面的宏目前的數(shù)值 0-#if 和 #endif之間的代碼排除 非零 保留defined #if defined DEBUG - DEBUG是不是已經(jīng)定義為一個宏#ifdef = #if defined debug:調(diào)試 n多條調(diào)試語句(printf)release:發(fā)布 /#define DEBUG#ifdef DEBUG 調(diào)試語句#endif#ifndef-#if not defined #include test.h #include test.hmakefile:由很多條規(guī)則組成的:目標(biāo)文件: 依賴文件生成目標(biāo)文件所執(zhí)行的指令選擇一條規(guī)則來執(zhí)行make 目標(biāo)文件如果想要使用定義在其他文件中的全局變量請使用 extern 聲明extern int user_id; 自定義頭文件: 系統(tǒng)提供的頭文件: stdio.h stdlib.h stdbool.h string.h unistd.h math.htime.h stdarg.h等等 多文件程序中,共享全局變量 宏定義共享 函數(shù)聲明共享類型定義共享需要使用頭文件??梢允褂脳l件編譯防止重復(fù)引用。/*/#ifndef SYSTEM_H#define SYSTEM_H #include #include #include s1.h#include s2.h#define PI 3.14#define MAX 2000extern int i;extern int j;/函數(shù)的生命int max_min(int,int);void show();/類型定義struct s;#endifstatic :靜態(tài)局部變量靜態(tài)全局變量 static int user_id = 15; 即使使用 extern int user_id;static修飾函數(shù) 這個函數(shù)只能在本文件中使用。結(jié)構(gòu)體:數(shù) 組: 相同數(shù)據(jù)類型的數(shù)據(jù)的集合。結(jié)構(gòu)體: 不同數(shù)據(jù)類型的數(shù)據(jù)的集合。結(jié)構(gòu)體:定義或者使用一個結(jié)構(gòu)體變量之前,先進行類型定義。結(jié)構(gòu)體變量的定義:struct employee em;初始化:struct employee em = 101,guo,M,20,5000;2 實訓(xùn)期間完成的實踐項目我在達內(nèi)老師的帶領(lǐng)下,學(xué)習(xí)了c和c+基礎(chǔ)之后,做了一個貪吃蛇的小游戲,雖然游戲比較簡略,但是基本功能已經(jīng)實現(xiàn)。(1).功能介紹:產(chǎn)生一個固定大小沒有辯解的游戲區(qū)域,蛇從區(qū)域的中心開始,由玩家通過鍵盤控制蛇的運動方向,用蛇頭去吃隨機分布在游戲區(qū)域內(nèi)的食物;蛇的運動限制在游戲區(qū)域內(nèi),游戲區(qū)域沒有辯解,所以蛇在區(qū)域內(nèi)做循環(huán)運動:蛇的運動方向為直線運動,只走橫和豎的方向,不走斜線;蛇的運動速度由游戲的難度來控制,難度越高速度越快,游戲難度分為9個等級;蛇的身體長度從1開始每吃掉一份食物就增加一個長度;食物的出現(xiàn)按照隨機分布原則,蛇吃掉一份后隨機在游戲區(qū)域內(nèi)放一份新的食物;游戲的結(jié)束條件為:在控制蛇的過程中蛇頭碰到蛇的身體的任何部位;設(shè)計者應(yīng)該首先考慮實現(xiàn)一個可以游動的蛇。通過尋找規(guī)律,對實際對象進行抽象概括建立對象模型,首先從物理的角度來分析蛇得運動規(guī)律。它是蠕動的,像水一樣流動。他有個特性就是身體的每一個點都經(jīng)過他頭部所在的點,他每一個時刻骨節(jié)所要運動的目的地是他前一個骨節(jié)所在的位置。所以我們事先必須了解并掌握一些基本的畫圖函數(shù),并學(xué)會調(diào)用和運行。(2).用流程圖示出程序的主要控制流程和處理流程 游戲載入內(nèi)存并初始化界面判斷游戲是否開始單擊按鈕開始游戲沒有開始游戲,就返回初始界面貪吃蛇開始移動(初始方向向左)根據(jù)鍵盤消息判斷蛇頭的運動方向根據(jù)蛇頭的坐標(biāo)和食物的坐標(biāo)判斷蛇是否已經(jīng)得到食物如果已經(jīng)得到食物,則蛇的身體加長,積分器加一如果沒有得到食物,則蛇的身體不變,積分器不變根據(jù)蛇頭的坐標(biāo)、蛇身體的坐標(biāo)和墻壁的坐標(biāo)判斷蛇是否已經(jīng)撞墻或者自己咬到自己如果沒有撞墻并且沒有自己咬到自己則程序繼續(xù)進行如果已經(jīng)撞墻或者自己咬到自己則程序終止貪吃蛇程序結(jié)束積分器開始計分下面是項目代碼:#include #include #include #include #include #define NUM 60struct direct /用來表示方向的 int cx; int cy;typedef struct node /鏈表的結(jié)點 int cx; int cy; struct node *back; struct node *next;node;void initGame(); /初始化游戲int setTicker(int); /設(shè)置計時器void show(); /顯示整個畫面void showInformation(); /顯示游戲信息(前兩行)void showSnake(); /顯示蛇的身體void getOrder(); /從鍵盤中獲取命令void over(int i); /完成游戲結(jié)束后的提示信息void creatLink(); /(帶頭尾結(jié)點)雙向鏈表以及它的操作void insertNode(int x, int y); void deleteNode();void deleteLink();int ch; /輸入的命令int hour, minute, second; /時分秒int length, tTime, level; /(蛇的)長度,計時器,(游戲)等級struct direct dir, food; /蛇的前進方向,食物的位置node *head, *tail; /鏈表的頭尾結(jié)點int main() initscr(); initGame(); signal(SIGALRM, show); getOrder(); endwin(); return 0;void initGame()cbreak(); /把終端的CBREAK模式打開noecho(); /關(guān)閉回curs_set(0); /把光標(biāo)置為不可見keypad(stdscr, true); /使用用戶終端的鍵盤上的小鍵盤srand(time(0); /設(shè)置隨機數(shù)種子 /初始化各項數(shù)據(jù)hour = minute = second = tTime = 0;length = 1;dir.cx = 1; dir.cy = 0;ch = A;food.cx = rand() % COLS;food.cy = rand() % (LINES-2) + 2;creatLink();setTicker(20);/設(shè)置計時器(這個函數(shù)是書本上的例子,有改動)int setTicker(int n_msecs)struct itimerval new_timeset;long n_sec, n_usecs;n_sec = n_msecs / 1000 ;n_usecs = ( n_msecs % 1000 ) * 1000L ;new_timeset.it_interval.tv_sec = n_sec; new_timeset.it_interval.tv_usec = n_usecs; n_msecs = 1;n_sec = n_msecs / 1000 ;n_usecs = ( n_msecs % 1000 ) * 1000L ;new_timeset.it_value.tv_sec = n_sec ; new_timeset.it_value.tv_usec = n_usecs ; return setitimer(ITIMER_REAL, &new_timeset, NULL);void showInformation() tTime+;if(tTime = 1000000) /tTime = 0;if(1 != tTime % 50)return;move(0, 3); /顯示時間printw(time: %d:%d:%d %c, hour, minute, second)second+;if(second NUM)second = 0;minute+;sf(minute NUM)minute = 0;hour+;/顯示長度,等級move(1, 0);int i;for(i=0;inext-cx & 1=dir.cx)| (0=head-next-cx & -1=dir.cx)| (LINES-1=head-next-cy & 1=dir.cy)| (2=head-next-cy & -1=dir.cy)over(1); return;/如果蛇頭砬到自己的身體,則游戲結(jié)if(* = mvinch(head-next-cy+dir.cy, head-next-cx+dir.cx) )over(2);return;insertNode(head-next-cx+dir.cx, head-next-cy+dir.cy);/蛇吃了一個“食物”if(head-next-cx=food.cx & head-next-cy=food.cy)lenChange = true;length+;/恭喜你,通關(guān)if(length = 50)over(3);return;/重新設(shè)置食物的位置food.cx = rand() % COLS; food.cy = rand() % (LINES-2) + 2; if(!lenChange) move(tail-back-cy, tail-back-cx); printw( );deleteNode(); move(head-next-cy, head-next-cx); printw(*);void show()signal(SIGALRM, show); /設(shè)置中斷信號showInformation();showSnake();refresh(); /刷新真實屏幕void getOrder() /建立一個死循環(huán),來讀取來自鍵盤的命令 while(1) ch = getch(); if(KEY_LEFT = ch) dir.cx = -1; dir.cy = 0; else if(KEY_UP = ch) dir.cx = 0; dir.cy = -1; else if(KEY_RIGHT = ch) dir.cx = 1; dir.cy = 0;else if(KEY_DOWN = ch)dir.cx = 0;dir.cy = 1;setTicker(20);void over(int i) /顯示結(jié)束原因 move(0, 0); int j; for(j=0;jcx = 5; temp-cy = 10; head-back = tail-next = NULL; head-next = temp; temp-next = tail; tail-back = temp; temp-back = head;/在鏈表的頭部(非頭結(jié)點)插入一個結(jié)點void insertNode(int x, int y)node *temp = (node *)malloc( sizeof(node) );temp-cx = x;temp-cy = y;temp-next = head-next;head-next = temp;temp-back = head;temp-next-back = temp;/刪除鏈表的(非尾結(jié)點的)最后一個結(jié)點void deleteNode()node *temp = tail-back;node *bTemp = temp-back;bTemp-next = tail;tail-back = bTemp;temp-next = temp-back = NULL;free(temp);temp = NULL;/刪除整個鏈表void deleteLink()while(head-next != tail)deleteNode();head-next = tail-back = NULL;free(head);free(tail);下面是程序流程圖:五、實訓(xùn)收獲與體會 通過這次課程設(shè)計的實訓(xùn),增加了我學(xué)習(xí)軟件技術(shù)的興趣,雖然還不明確軟件技術(shù)包含的具體內(nèi)容,但從C+語言這門課程開始,已發(fā)現(xiàn)程序設(shè)計的樂趣,在學(xué)習(xí)C+語言的過程中也學(xué)到了許多計算機應(yīng)用基礎(chǔ)知識,對計算機的機體也有了一個大體的了解。 在實際操作過程中犯的一些錯誤還會有意外的收獲,感覺實訓(xùn)很有意思。在具體操作中對這學(xué)期所學(xué)的C+語言的理論知識得到鞏固,達到實訓(xùn)的基本目的,也發(fā)現(xiàn)自己的不足之出,在以后的上機中應(yīng)更加注意,同時體會到C+語言具有的語句簡潔,使用靈活,執(zhí)行效率高等特點。發(fā)現(xiàn)上機實訓(xùn)的重要作用,特別是對數(shù)組和循環(huán)有了深刻的理解。 通過實際操作,學(xué)會 C+語言程序編程的基本步驟、基本方法,開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題、解決問題的能力。深刻體會到“沒有做不到的,只有想不到的”,“團結(jié)就是力量”,“實踐是檢驗真理的標(biāo)準(zhǔn)”,“不恥下問”的寓意。 在此希望以后應(yīng)多進行這樣的實訓(xùn),加長設(shè)間,培養(yǎng)學(xué)生獨立思考問題的能力,提高實際操作水平。 六、致謝通過本次項目實訓(xùn)我要感謝學(xué)校領(lǐng)導(dǎo)給我們提供了這次機會,讓我們自己有出去體會生活,自己做項目的深刻體會。這次實訓(xùn)讓我明白我自己之前的學(xué)習(xí)還是差很多,只有不斷的努力,才能學(xué)好。還要感謝達內(nèi)公司對我的指導(dǎo),我自己的努力固然重要,但是達內(nèi)的優(yōu)秀教師給我做的培訓(xùn),講的理論都讓我受益匪淺,讓我對軟件有了一個新的概念新的理解。指導(dǎo)教師意見指導(dǎo)教師簽字: 年 月 日 成績備注- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 軟件 項目 報告
鏈接地址:http://m.italysoccerbets.com/p-8901403.html