首页

毕业论文

首页 毕业论文 问题

c语言五指棋的毕业论文

发布时间:

c语言五指棋的毕业论文

**********************************************************//* 程序中用到的库函数所在头文件应用 #include 命令包含进来 */#include <>#include <>#include <>#include <>#include <>/**********************************************************//* 定义符号常量 *//*定义画棋盘所需的制表符*/#define CROSSRU 0xbf /*右上角点*/#define CROSSLU 0xda /*左上角点*/#define CROSSLD 0xc0 /*左下角点*/#define CROSSRD 0xd9 /*右下角点*/#define CROSSL 0xc3 /*左边*/#define CROSSR 0xb4 /*右边*/#define CROSSU 0xc2 /*上边*/#define CROSSD 0xc1 /*下边*/#define CROSS 0xc5 /*十字交叉点*//*定义棋盘左上角点在屏幕上的位置*/#define MAPXOFT 5#define MAPYOFT 2/*定义1号玩家的操作键键码*/#define PLAY1UP 0x1157/*上移--'W'*/#define PLAY1DOWN 0x1f53/*下移--'S'*/#define PLAY1LEFT 0x1e41/*左移--'A'*/#define PLAY1RIGHT 0x2044/*右移--'D'*/#define PLAY1DO 0x3920/*落子--空格键*//*定义2号玩家的操作键键码*/#define PLAY2UP 0x4800/*上移--方向键up*/#define PLAY2DOWN 0x5000/*下移--方向键down*/#define PLAY2LEFT 0x4b00/*左移--方向键left*/#define PLAY2RIGHT 0x4d00/*右移--方向键right*/#define PLAY2DO 0x1c0d/*落子--回车键Enter*//*若想在游戏中途退出, 可按 Esc 键*/#define ESCAPE 0x011b/*定义棋盘上交叉点的状态, 即该点有无棋子 *//*若有棋子, 还应能指出是哪个玩家的棋子 */#define CHESSNULL 0 //没有棋子#define CHESS1 'O'//一号玩家的棋子#define CHESS2 'X'//二号玩家的棋子/*定义按键类别*/#define KEYEXIT 0/*退出键*/#define KEYFALLCHESS 1/*落子键*/#define KEYMOVECURSOR 2/*光标移动键*/#define KEYINVALID 3/*无效键*//*定义符号常量: 真, 假 --- 真为1, 假为0 */#define TRUE 1#define FALSE 0/**********************************************************//* 定义数据结构 *//*棋盘交叉点坐标的数据结构*/struct point{ int x,y;};/**********************************************************//*自定义函数原型说明 */void Init(void);int GetKey(void);int CheckKey(int press);int ChangeOrder(void);int ChessGo(int Order,struct point Cursor);void DoError(void);void DoOK(void);void DoWin(int Order);void MoveCursor(int Order,int press);void DrawCross(int x,int y);void DrawMap(void);int JudgeWin(int Order,struct point Cursor);int JudgeWinLine(int Order,struct point Cursor,int direction);void ShowOrderMsg(int Order);void EndGame(void);/**********************************************************//**********************************************************//* 定义全局变量 */int gPlayOrder; /*指示当前行棋方 */struct point gCursor; /*光标在棋盘上的位置 */char gChessBoard[19][19];/*用于记录棋盘上各点的状态*//**********************************************************//**********************************************************//*主函数*/void main(){ int press; int bOutWhile=FALSE;/*退出循环标志*/ Init();/*初始化图象,数据*/ while(1) { press=GetKey();/*获取用户的按键值*/ switch(CheckKey(press))/*判断按键类别*/ { /*是退出键*/ case KEYEXIT: clrscr();/*清屏*/ bOutWhile = TRUE; break; /*是落子键*/ case KEYFALLCHESS: if(ChessGo(gPlayOrder,gCursor)==FALSE)/*走棋*/ DoError();/*落子错误*/ else { DoOK();/*落子正确*/ /*如果当前行棋方赢棋*/ if(JudgeWin(gPlayOrder,gCursor)==TRUE) { DoWin(gPlayOrder); bOutWhile = TRUE;/*退出循环标志置为真*/ } /*否则*/ else /*交换行棋方*/ ChangeOrder(); } break; /*是光标移动键*/ case KEYMOVECURSOR: MoveCursor(gPlayOrder,press); break; /*是无效键*/ case KEYINVALID: break; } if(bOutWhile==TRUE) break; } /*游戏结束*/ EndGame();}/**********************************************************//*界面初始化,数据初始化*/void Init(void){ int i,j; char *Msg[]= { "Player1 key:", " UP----w", " DOWN--s", " LEFT--a", " RIGHT-d", " DO----space", "", "Player2 key:", " UP----up", " DOWN--down", " LEFT--left", " RIGHT-right", " DO----ENTER", "", "exit game:", " ESC", NULL, }; /*先手方为1号玩家*/ gPlayOrder = CHESS1; /*棋盘数据清零, 即棋盘上各点开始的时候都没有棋子*/ for(i=0;i<19;i++) for(j=0;j<19;j++) gChessBoard[i][j]=CHESSNULL; /*光标初始位置*/ ; /*画棋盘*/ textmode(C40); DrawMap(); /*显示操作键说明*/ i=0; textcolor(BROWN); while(Msg[i]!=NULL) { gotoxy(25,3+i); cputs(Msg[i]); i++; } /*显示当前行棋方*/ ShowOrderMsg(gPlayOrder); /*光标移至棋盘的左上角点处*/ gotoxy();}/*画棋盘*/void DrawMap(void){ int i,j; clrscr(); for(i=0;i<19;i++) for(j=0;j<19;j++) DrawCross(i,j);}/*画棋盘上的交叉点*/void DrawCross(int x,int y){ gotoxy(x+MAPXOFT,y+MAPYOFT); /*交叉点上是一号玩家的棋子*/ if(gChessBoard[x][y]==CHESS1) { textcolor(LIGHTBLUE); putch(CHESS1); return; } /*交叉点上是二号玩家的棋子*/ if(gChessBoard[x][y]==CHESS2) { textcolor(LIGHTBLUE); putch(CHESS2); return; } textcolor(GREEN); /*左上角交叉点*/ if(x==0&&y==0) { putch(CROSSLU); return; } /*左下角交叉点*/ if(x==0&&y==18) { putch(CROSSLD); return; } /*右上角交叉点*/ if(x==18&&y==0) { putch(CROSSRU); return; } /*右下角交叉点*/ if(x==18&&y==18) { putch(CROSSRD); return; } /*左边界交叉点*/ if(x==0) { putch(CROSSL); return; } /*右边界交叉点*/ if(x==18) { putch(CROSSR); return; } /*上边界交叉点*/ if(y==0) { putch(CROSSU); return; } /*下边界交叉点*/ if(y==18) { putch(CROSSD); return; } /*棋盘中间的交叉点*/ putch(CROSS);}/*交换行棋方*/int ChangeOrder(void){ if(gPlayOrder==CHESS1) gPlayOrder=CHESS2; else gPlayOrder=CHESS1; return(gPlayOrder);}/*获取按键值*/int GetKey(void){ char lowbyte; int press; while (bioskey(1) == 0) ;/*如果用户没有按键,空循环*/ press=bioskey(0); lowbyte=press&0xff; press=press&0xff00 + toupper(lowbyte); return(press);}/*落子错误处理*/void DoError(void){ sound(1200); delay(50); nosound();}/*赢棋处理*/void DoWin(int Order){ sound(1500);delay(100); sound(0); delay(50); sound(800); delay(100); sound(0); delay(50); sound(1500);delay(100); sound(0); delay(50); sound(800); delay(100); sound(0); delay(50); nosound(); textcolor(RED+BLINK); gotoxy(25,20); if(Order==CHESS1) cputs("PLAYER1 WIN!"); else cputs("PLAYER2 WIN!"); gotoxy(25,21); cputs(" \\<^+^>/"); getch();}/*走棋*/int ChessGo(int Order,struct point Cursor){ /*判断交叉点上有无棋子*/ if(gChessBoard[][]==CHESSNULL) { /*若没有棋子, 则可以落子*/ gotoxy(); textcolor(LIGHTBLUE); putch(Order); gotoxy(); gChessBoard[][]=Order; return TRUE; } else return FALSE;}/*判断当前行棋方落子后是否赢棋*/int JudgeWin(int Order,struct point Cursor){ int i; for(i=0;i<4;i++) /*判断在指定方向上是否有连续5个行棋方的棋子*/ if(JudgeWinLine(Order,Cursor,i)) return TRUE; return FALSE;}/*判断在指定方向上是否有连续5个行棋方的棋子*/int JudgeWinLine(int Order,struct point Cursor,int direction){ int i; struct point pos,dpos; const int testnum = 5; int count; switch(direction) { case 0:/*在水平方向*/ (testnum-1); ; ; ; break; case 1:/*在垂直方向*/ ; (testnum-1); ; ; break; case 2:/*在左下至右上的斜方向*/ (testnum-1); (testnum-1); ; ; break; case 3:/*在左上至右下的斜方向*/ (testnum-1); (testnum-1); ; ; break; } count=0; for(i=0;i=0&&<=18&&>=0&&<=18) { if(gChessBoard[][]==Order) { count++; if(count>=testnum) return TRUE; } else count=0; } ; ; } return FALSE;}/*移动光标*/void MoveCursor(int Order,int press){ switch(press) { case PLAY1UP: if(Order==CHESS1&&>0) ; break; case PLAY1DOWN: if(Order==CHESS1&&<18) ; break; case PLAY1LEFT: if(Order==CHESS1&&>0) ; break; case PLAY1RIGHT: if(Order==CHESS1&&<18) ; break; case PLAY2UP: if(Order==CHESS2&&>0) ; break; case PLAY2DOWN: if(Order==CHESS2&&<18) ; break; case PLAY2LEFT: if(Order==CHESS2&&>0) ; break; case PLAY2RIGHT: if(Order==CHESS2&&<18) ; break; } gotoxy();}/*游戏结束处理*/void EndGame(void){ textmode(C80);}/*显示当前行棋方*/void ShowOrderMsg(int Order){ gotoxy(6,MAPYOFT+20); textcolor(LIGHTRED); if(Order==CHESS1) cputs("Player1 go!"); else cputs("Player2 go!"); gotoxy();}/*落子正确处理*/void DoOK(void){ sound(500); delay(70); sound(600); delay(50); sound(1000); delay(100); nosound();}/*检查用户的按键类别*/int CheckKey(int press){ if(press==ESCAPE) return KEYEXIT;/*是退出键*/ else if ( ( press==PLAY1DO && gPlayOrder==CHESS1) || ( press==PLAY2DO && gPlayOrder==CHESS2) ) return KEYFALLCHESS;/*是落子键*/ else if ( press==PLAY1UP || press==PLAY1DOWN || press==PLAY1LEFT || press==PLAY1RIGHT || press==PLAY2UP || press==PLAY2DOWN || press==PLAY2LEFT || press==PLAY2RIGHT ) return KEYMOVECURSOR;/*是光标移动键*/ else return KEYINVALID;/*按键无效*/}

C语言的我倒是没有、、Java的我倒是有个五子棋程序要不要呢

把一个棋盘看着一个矩阵.如25行25列.用二维数组arry[25][25]表示,初始化数组所有数据为0;当用户1 在某个arry[i][j]位置输下子后,将arry[i][j]=1;赋值1,用户2下子的位置arry[i][j]=2;同时我们还可以设置一个标识数组,来识别某个位置是否下子了.flag[25][25]={0};初始化.0;当用户1在arry[i][j]处下子后同时把falg[i][j]=1;来标识该处已经下子了.所以下次就不能再在此处下子.如要打印出棋谱只需吧arry[i][j]打印出来, 为1的地方就是w ,,,为2的地方就是b,,为0的地方表示该处未下子..

天拉.. 我也正在写五子棋,想不出怎么才这么点代码啊???..郁闷.我也研究下,不知道这五子棋能发挥出什么样的下棋水准?

五子棋毕业论文c

网页链接

你可以百度一下:基于java的手机项目

一堆,可以参考!

分条写:课题做到突出中心思想,条理清晰,结构合理,观点正确,具有较好的连续性等。完成相关的XXXX。

第一步:课题适应的岗位名称;

第二部:课题背景;

第三步,报告(设计、论文等)要求;然后,具体要求;

最后,主要参考文献的范围。

扩展资料:

1、论文题目,有的含副标题。题目之下是作者署名,署名之前或下边一行写作者的校、院、系、年级。

2、“摘要”与“关键词”(或称“内容提要”),一般为300字左右。位于作者署名之后,正文之前。关键词,结合标题和正文内容一般选取3至5个。

3、引论。用“O”标示,常写作“引言”、“引论”、“绪论”,引言较短时可不标出“O。引言”类小标题。引论的内容一般是交代选题背景。

主要有:课题来源,本课题在国内外的研究进展状况。已有的研究成果,存在的问题。选题的意义,讨论的问题。本文分几部分,从哪些方面进行讨论,以及指导思想、论证方法等,均可根据内容的需要写在引论中。

简单的,超不难!

肯定会问你是你自己做的麽?然后就会问你,你觉得哪里是你的创新点,关键的部分是如何实现的?比如人机大战,机器如何选择下一步的位置,也就是AI的问题,你要好好准备一下喔,加油吧

c语言毕业论文引言

引言的写法:

1、介绍本研究领域的背景、意义、发展状况、目前的水平等。

2、指出前人尚未解决的问题,留下的技术空白,也可以提出新问题、解决这些新问题的新方法、新思路,从而引出自己研究课题的动机与意义。

3、说明自己研究课题的目的。

论文的引言也叫前言,是正文前面一段短文。引言是论文的开场白,目的是向读者说明本研究的来龙去脉,吸引读者对本篇论文产生兴趣,对正文起到提纲掣领和引导阅读兴趣的作用。在写引言之前首先应明确几个基本问题:想通过本文说明什么问题?有哪些新的发现,是否有学术价值?—般读者读了引言以后,可清楚地知道作者为什么选择该题目进行研究。为此,在写引言以前,要尽可能多地了解相关的内容,收集前人和别人已有工作的主要资料,说明本研究设想的合理性。

一、引言应当包含的内容

1、问题的提出:讲清所研究的问题“是什么”。

2、选题背景及意义:讲清为什么选择这个题目来研究,即阐述该研究对学科发展的贡献、对国计民生的理论与现实意义等。

3、文献综述:对本研究主题范围内的文献进行详尽的综合述评,“述”的同时一定要有“评”,指出现有研究成果的不足,讲出自己的改进思路。

4、研究方法:讲清论文所使用的科学研究方法。

5、论文结构安排。

引言是论文中很重要的一点,在论文的开头方面,对后续内容进行一些简单的解释。论文引言与摘要是不同的,因此在撰写时不可乱用。引言相当于演讲的开头部分。导论本篇理应具有言之有序和正确引导阅读兴趣的功能。

二、引言的写作方法

1、开门见山,不绕圈子。避免大篇幅地讲述历史渊源和立题研究过程。

2、言简意赅,突出重点。不应过多叙述同行熟知的及教科书中的常识性内容,确必要提及他人的研究成果和基本原理时,只需以参考引文的形式标出即可。在引言中提示本文的工作和观点时,意思应明确,语言应简练。

3、回顾历史要有重点,内容要紧扣文章标题,围绕标题介绍背景,用几句话概括即可;在提示所用的方法时,不要求写出方法、结果,不要展开讨论;虽可适当引用过去的文献内容,但不要长篇罗列,不能把引言写成该研究的历史发展;不要把引言写成文献小综述,更不要去重复说明那些教科书上已有,或本领域研究人员所共知的常识性内容。

4、尊重科学,实事求是。在引言中,评价论文的价值要恰如其分、实事求,用词要科学,对本文的创新性最好不要使用“本研究国内首创、首次报道”、“填补了国内空白”、“有很高的学术价值”、“本研究内容国内未见报道”或"本研究处于国内外领先水平”等不适当的自我评语。

5、引言的内容不应与摘要雷同,注意不用客套话,如“才疏学浅”、“水平有限”、指正"、"抛砖引玉”之类的语言;引言最好不分段论述,不要插图、列表,不进行公式的推导与证明。

6、引言的篇幅一般不要太长,太长可致读者乏味,太短则不易交待清楚太清楚,一篇3000-5000字的论文,引言字数一般掌握在200-250字为宜。

三、引言书写要点:

1、说明论文的主题、范围和目的。

2、预期结果或本研究意义。

3、引言一般不分段,长短视论文内容而定,涉及基础研究的引言较长,一般在千字左右,这可能与国外内数期刊严格限制论文字数有关。

所谓的引言就是为论文的写作立题,目的是引出下文。一篇论文只有命题成立,才有必要继续写下去,否则论文的写作就失去了意义。

而范文内容就是你所写主题的正文内容。通俗的说就是你要写的内容都在正文里。

四、范文

1、毕业论文引言

随着我国对外开放的不断深入和世界贸组织的加入,本国的经济完全融入世界经济体系中。各企业将更多地直接参与国际竞争,向全球发展。要想在世界大市场中取得胜利,企业不仅要有一批既有外贸知识和扎实基本功,又应有正确的科学发展观和对外经济发展的战略。

通过对专业的学习,我们应树立正确的科学发展观和有提出对外经济发展战略的能力。要以确的科学发展观形成对外经济发展战略的思路,以便达到可持续发展。在当今社会,形成可持续发展的战略是迫不容缓的。特别是正处于快速发展的我国,对于资源的需求量还还是巨大的。而且我国出口的大多是初级产品,初级产品又是消耗资源的源头。要达到可持发展战略使人们深刻认识到科学发展观。

本文深层次地概述了科学发展观的概论、怎样正确理解科学发展观、科学发展观的形成、样树立科学发展观、落实科学发展观应当做到那些方面的工作、科学发展观树立的必要性、世界经济形势变化对我国经济的影响与对策分析、我国对外经济发展的战略取向、经济全球化的我国境外直接投资等一系列对外经济发展战略问题。

2、毕业论文引言

目前,我国对撑杆跳高运动生物力学分析的主要研究成果集中在起跳时速度的变化、腾起角、杆弦角等方面。但是,这种研究方法的局限性是显而易见的:忽视了人与杆子的相互作用,没有合适的指标反映运动员利用杆子弹性能力。

国外已经使用能量分析法来解决这个问题,也就是分析人体机械能的变化来反映杆子与人之间的能力传递,所以,把能量分析法引入我国撑杆跳高的运动生物力学分析很有必要。但是,国外文献在能量分析时,只给出了一个简化公式,而没有说明具体的计算方法。

3、毕业论文引言

随着知识经济的到来,信息技术、网络技术的迅速发展,企业业绩评价的方法发生了很大变化。由过去单一的注重财务指标向财务指标与非财务指标并重转变,由注重净利润向注重经济收益转变。在科技不断进步,竞争日趋激烈的今天,建立一套行之有效的业绩评价体系,对于正确有效地评价企业的经营业绩,改善经营管理,提高经济效益有着十分重要的作用。

4、毕业论文引言

关于艺术与科学的关系问题的探讨首先产生于科学界,由一些知名科学家提出。像著名科学家钱学森先生就曾对艺术与科学的关系提出过独特的见解,他说:“从思维科学角度看,科学工作总是从一个猜想开始的,然后才是科学论证;换言之,科学工作是源于形象思维,所以科学工作先是艺术,后才是科学。相反,艺术工作必须对事物有个科学的认识,然后才是艺术创作。在过去,人们总是只看到后一半,所以把科学与艺术分了家,而其实是分不了家的:科学需要艺术,艺术也需要科学。”他提倡科学家应学点艺术,艺术家也应学点科学。著名物理学家李政道先生更是为此投入大量精力,并时常与艺术家交流。他不断重申一个基本观点,即“科学与艺术是不可分割的,就像一枚硬币的两面,它们共同的基础是人类的创造力,它们追求的目标都是真理的普遍性。”如今,这些畅想已在艺术界引起波澜,许多艺术家开始重新审视艺术和科学的关系问题。

5、毕业论文引言

教师成长的核心问题是教师的发展,绝大多数教师都有成为一名优秀教师的愿望,教育行政部门和教育专家学者也都对教师提出了各种要求,但是在教师成长中,总会遇到许多问题,使教师很难达到理想状态,笔者试图对问题进行分析,并为教师继续教育提出培训措施。本研究是在问卷调查、访谈和座谈的基础上进行的。共发放问卷200份,回收185份,有效问卷163份,有效率为,符合教育科学,研究的要求。

6、毕业论文引言

历年来的谢朓诗歌研究基本上是以山水诗为核心的。学者们多由比较研究的角度切入,从技巧与风格两个方面对谢朓诗歌在诗史上的重要意义进行了深入全面的阐述。本文则在继承前人研究成果的前提下,试图从较为广阔的背景之中对谢朓的人生极其诗歌作一种新的审视。文章将主要围绕以下三个方面的问题展开论述:

(一)应如何理解谢朓诗歌中的题旨雷同现象?

(二)谢朓出首王敬则动机何在?

(三)谢朓怎样接受南朝民歌之影响?

论文字体要求

1、毕业论文一律打印,采取a4纸张,页边距一律采取:上2、8cm、下2、5cm,左3cm、右2、5cm,行间距取多倍行距(设置值为1、25);字符间距为默认值(缩放100%,间距:标准),封面采用教务处统一规定的封面。

2、字体要求

论文所用字体要求为宋体。

3、字号

第一层次题序和标题用小三号黑体字;第二层次题序和标题用四号黑体字;第三层次及以下题序和标题与第二层次同正文用小四号宋体。

4、页眉及页码

毕业论文各页均加页眉,采用宋体五号宋体居中,打印"xx大学xxxx届x科生毕业论文(设计)"。页码从正文开始在页脚按阿拉伯数字(宋体小五号)连续编排,居中书写。

5、摘要及关键词

中文摘要及关键词:“摘要”二字采用三号字黑体、左对齐书写,"摘"与"要"之间空两格,内容采用小四号宋体。"关键词"三字采用小四号字黑体,顶格书写,一般为3-5个。

英文摘要应与中文摘要相对应,字体为小四号times new roman。

6、目录

"目录"二字采用三号字黑体、居中书写,"目"与"录"之间空两格,第一级层次采用小三号宋体字,其他级层次题目采用四号宋体字。

7、正文

正文的全部标题层次应整齐清晰,相同的层次应采用统一的字体表示。第一级为"一"、"二"、"三"、等,第二级为"1、1"、"1、2"、"1、3"等,第三级为"1、1、1"、"1、1、2"等。

8、参考文献

参考文献要另起一页,一律放在正文后,在文中要有引用标注,如××× [1]。

1、论文题目:要求准确、简练、醒目、新颖。2、目录:目录是论文中主要段落的简表。(短篇论文不必列目录)3、提要:是文章主要内容的摘录,要求短、精、完整。字数少可几十字,多不超过三百字为宜。4、关键词或主题词:关键词是从论文的题名、提要和正文中选取出来的,是对表述论文的中心内容有实质意义的词汇。关键词是用作机系统标引论文内容特征的词语,便于信息系统汇集,以供读者检索。每篇论文一般选取3-8个词汇作为关键词,另起一行,排在“提要”的左下方。主题词是经过规范化的词,在确定主题词时,要对论文进行主题,依照标引和组配规则转换成主题词表中的规范词语。5、论文正文:(1)引言:引言又称前言、序言和导言,用在论文的开头。引言一般要概括地写出作者意图,说明选题的目的和意义,并指出论文写作的范围。引言要短小精悍、紧扣主题。〈2)论文正文:正文是论文的主体,正文应包括论点、论据、论证过程和结论。主体部分包括以下内容:a.提出-论点;b.分析问题-论据和论证;c.解决问题-论证与步骤;d.结论。6、一篇论文的参考文献是将论文在和写作中可参考或引证的主要文献资料,列于论文的末尾。参考文献应另起一页,标注方式按《GB7714-87文后参考文献著录规则》进行。中文:标题--作者--出版物信息(版地、版者、版期):作者--标题--出版物信息所列参考文献的要求是:(1)所列参考文献应是正式出版物,以便读者考证。(2)所列举的参考文献要标明序号、著作或文章的标题、作者、出版物信息。

c语言和java语言毕业论文

摘 要网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。建立搜索引擎就是解决这个问题的最好方法。本论文首先详细介绍了基于英特网的搜索引擎的系统结构,然后从网络机器人、索引引擎、Web服务器三个方面进行详细的说明。为了更加深刻的理解这种技术,本人还亲自实现了一个自己的Java搜索引擎——新闻搜索引擎。新闻搜索引擎是从指定的Web页面中按照超连接进行解析、搜索,并把搜索到的每条新闻进行索引后加入数据库。然后通过Web服务器接受客户端请求后从索引数据库中搜索出所匹配的新闻。本人在介绍搜索引擎的章节中除了详细的阐述技术核心外还结合了新闻搜索引擎的实现代码来说明,图文并茂、易于理解。 关键字:搜索引擎,网络机器人,Lucene,中文分词,JavaCC AbstractThe resources in the internet are abundant, but it is a difficult job to search some useful information. So a search engine is the best method to solve this problem. This article fist introduces the system structure of search engine based on the internet in detail, and then gives a minute explanation form Spider search, engine and web server. In order to understand the technology more deeply, I have programmed a news search engine by myself in news search engine is explained and searched according to hyperlink from a appointed web page, then indexes every searched information and adds it to the index database. Then after receiving the customers' requests from the web server, it soon searches the right news form the index engine,In the chapter of introducing search engine, it is not only elaborating the core technology, but also combine with the modern code, pictures included, easy to understand. Key Words:Search Engine, Spider, Lucene, Phrase Query, JavaCC 目 录第1章 引言··· 选题背景:··· 现实意义··· 1第2章 搜索引擎的结构··· 系统概述··· 搜索引擎的构成··· 网络机器人··· 索引与搜索··· Web服务器··· 搜索引擎的主要指标及分析··· 小节··· 4第3章 网络机器人··· 什么是网络机器人··· 网络机器人的结构分析··· 如何解析HTML· 该类几种重要的方法。··· Spider程序结构··· 如何构造Spider程序··· 如何提高程序性能··· 网络机器人的代码分析··· 小节··· 10第4章 基于Lucene的索引与搜索··· 什么是全文检索与全文检索系统?··· 什么是Lucene全文检索··· Lucene的系统结构分析··· 系统结构组织··· 数据流分析··· Lucene索引构建逻辑模块分析··· 绪论··· 对象体系与UML图··· Lucene的包结构··· Lucene的主要逻辑图··· 对Lucene包的小结··· Lucene查询逻辑··· 查询者输入查询条件··· 查询条件被传达到查询分析器中··· 查询遍历树··· 返回结果··· Lucene 检索原理··· Lucene和Nucth的中文分析模块··· Nutch分析··· Nutch中文搜索 中文分词··· 利用JavaCC构造中文分析模块··· 分词小结··· Lucene与Spider的结合··· Index类的实现··· HTML解析类··· Lucene 小结··· 31第5章 基于Lucene的搜索引擎实现··· 基于Tomcat的Web服务器··· 什么是基于Tomcat的Web服务器··· 用户接口设计··· 客户端设计··· 服务端设计··· 在Tomcat上部署项目··· 小节··· 35第6章 搜索引擎策略··· 简介··· 面向主题的搜索策略··· 导向词··· 网页评级··· 权威网页和中心网页··· 小节··· 38结束语··· 39参考文献··· 40致 谢··· 41外文资料原文··· 42外文原文翻译··· 48 第1章 引言 选题背景:面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。因此它也成为除了电子邮件以外最多人使用的网上服务。搜索引擎技术伴随着WWW的发展是引人注目的。搜索引擎大约经历了三代的更新发展:第一代搜索引擎出现于1994年。这类搜索引擎一般都索引少于1,000,000个网页,极少重新搜集网页并去刷新索引。而且其检索速度非常慢,一般都要等待10秒甚至更长的时间。在实现技术上也基本沿用较为成熟的IR(Information Retrieval)、网络、数据库等技术,相当于利用一些已有技术实现的一个WWW上的应用。在1994年3月到4月,网络爬虫World Web Worm (WWWW)平均每天承受大约1500次查询。大约在1996年出现的第二代搜索引擎系统大多采用分布式方案(多个微型计算机协同工作)来提高数据规模、响应速度和用户数量,它们一般都保持一个大约50,000,000网页的索引数据库,每天能够响应10,000,000次用户检索请求。1997年11月,当时最先进的几个搜索引擎号称能建立从2,000,000到100,000,000的网页索引。Altavista搜索引擎声称他们每天大概要承受20,000,000次查询。结束语本课题对基于因特网的Java搜索引擎结构和性能指标进行了分析,了解Spider程序的结构和功能。在进行海量数据搜索时,如果使用单纯的数据库技术,那将是非常痛苦的,速度将是极大的瓶颈。所以本文提出了使用全文搜索引擎Lucene进行索引、搜索。解决中文分词和有效的中文搜索信息。同时解决了如何把Lucene全文搜索引擎和Spider程序互相集合来实现新闻搜索的功能。对于如何构架基于Tomcat的Web服务器,使得用户通过浏览器进行新闻的搜索有了一定的理解,对Tomcat如何部署进行了说明。在些基础上,终于可以调试出一个简单的在本地搜索新闻Java搜索引擎。参考文献[1] Jeff Heaton(美), Programming Spiders, Bots, and Aggregator in Java.[2] Borland Software Corporation(美),JBuilder培训教程(译者:周鹏 [等] 译)北京:机械工业出版社[3]徐宝文,张卫丰. 搜索引擎与信息获取技术.北京:清华大学出版社,[4]车东.基于Java的全文搜索引擎Lucene[5]罗旭.主题搜索引擎的设计与实现[6]Bruce Eckel(美).Thinking in Java.北京:机械工业出版社[7] Otis Gospodnetic Erik Hatcher (美).Action in Lucene.电子工业出版社,[8]耿祥义,张跃平. JAVA2实用教程(第二版).北京:清华大学出版社,[9]刘彬.JSP数据库高级教程.北京:清华大学出版社,[10]刘卫国,严晖.数据库技术与应用——SQL Server.北京:清华大学出版社,[11]闫宏飞.Tiny Search Engine: Design and implementation(PPT). [12]李晓明,闫宏飞,王继民.搜索引擎——原理、技术与系统.北京:科学出版社,2004 更多参考请点击

就是以数据诸如文字,声音,图像等为主要内容,以检索文献资料的内容而不是外表特征的一种检索技术·主要该系统有TRS系统·天宇系统·等与其他搜索引擎相比,全文搜索引擎的显著特点是它能够以文中任何一个有检索意义的词作为检索入口,而且取得的检索结果是原始文献,而不是文献线索随着计算机产业的发展,以计算机存储设备为载体的电子信息愈来愈多,这些信息大致可分为两类:结构化数据和非结构化数据,结构化数据指的是诸如企业财务帐目和生产数据、学生的分数数据等等,非结构化数据的则是一些文本数据、图象声音等多媒体数据等等。据统计,非结构化数据占有整个信息量的80%以上。对于结构化数据,用RDBMS(关系数据库管理系统)技术来管理是目前最好的一种方式。但是由于RDBMS自身底层结构的缘故使得它管理大量非结构化数据显得有些先天不足,特别是查询这些海量非结构化数据的速度较慢。而通过全文检索技术就能高效地管理这些非结构化数据。经过几年的发展,全文检索从最初的字符串匹配程序已经演进到能对超大文本、语音、图像、活动影像等非结构化数据进行综合管理的大型软件。由于内涵和外延的深刻变化,全文检索系统已成为新一代管理信息系统的代名词,衡量全文检索系统的基本指标也逐渐形成规范。首先,我们关注的是查全率,即系统在进行某一检索时,检索出的相关资料量与系统资料库中相关资料总量的比率。查准率则是保证我们找到最有用资料的一个关键,是系统在进行某一检索时,检索出的有用资料数量与检索出资料总量的比率。检索速度或者说响应时间是提高工作效率的保障,指的是从提交检索课题到查出资料结果所需的时间。最基本的检索速度是应该达“千万汉字,秒级响应"。还有诸如收录范围(所查找的范围)、用户负担(用户在检索过程中付出精力的总和)、输出形式 (输出信息表现形式)等指标也是衡量全文检索系统优劣的要素。搜索引擎应该是全文检索技术最主要的一个应用。目前,搜索引擎的使用已成为排在收发电子邮件之后的第二大互联网应用技术。搜索引擎起源于传统的信息全文检索理论,即计算机程序通过扫描每一篇文章中的每一个词,建立以词为单位的到排文件,检索程序根据检索词在每一篇文章中出现的频率和每一个检索词在一篇文章中出现的概率,对包含这些检索词的文章进行排序,最后输出排序的结果。全文检索技术是搜索引擎的核心支撑技术。一个好的检索引擎是一个理想站点的关键。很多人在访问一个站点时喜欢使用站点检索,站点检索应是分类目录导航和全文检索的完美结合,具体包括以下几个方面:分类目录导航的关键是检索范围,检索范围的限制能使得检索结果不会太多、太滥;全文检索对于站点检索是必不可少的,在通常情况下能够帮助人们很快地找到所要的网页;有时利用分类目录导航和全文检索还很难定位到所要的信息,这时就要组合检索辅助;必须有相关排序功能,因为当检索结果太多时,用户不可能一一浏览,大多数用户只浏览前面几条,没有相关排序,可能准确的检索结果排在后面,用户不能浏览到,而排在前面的检索结果却相关性很少,造成用户的错觉。此外,我们还要考虑HTML/XML的特殊性、支持大量并发用户突发访问、Web站点的动态特性、要求索引维护效率很高等方面。目前的技术实现有Lucene,Solr,ElasticSearch等。全文检索过程分为索引、搜索两个过程: 索引(Indexing)从关系数据库中、互联网上、文件系统采集源数据(要搜索的目标信息),源数据的来源是非常广泛的。将源数据采集到一个统一的地方,例如存储系统,要创建索引,将索引创建到一个索引库(文件系统)中,从源数据库中提取关键信息,从关键信息中抽取一个一个词,词和源数据是有关联的。也即创建索引时,词和源数据有关联,索引库中记录了这个关联,如果找到了词就说明找到了源数据(http的网页、电子书、新闻等……)。搜索(Search)用户执行搜索(全文检索)编写查询关键字。从索引库中搜索索引,根据查询关键字搜索索引库中的一个一个词。展示搜索的结果。

差别太远了,没多少可比的

微软MVP解读,C#与java的语言之争

c语言的发展毕业论文

兄弟,论文要自己用心写。我是过来人,自己写论文只有好处,没有坏处的。

随着信息全球化的发展,计算机的运用越来越普及。在企业方面管理和培训方面,计算机软件技术发挥了不可替代的作用。下面是我为大家整理的计算机专业 毕业 论文,供大家参考。

摘要:本文从“软件技术基础”课程的特点出发,分析和 总结 了该课程教学过程中出现的各种问题,综合其他学校该课程的教学内容和 教学 方法 ,结合我校教学环境和学生学习的实际情况,对课程教学进行了一些改革探索和实践,并取得了一定的成绩。

关键词:软件技术基础;教学改革;教学研究;

一、引言

随着科学技术的飞速发展,计算机应用已经深入到社会生活的各个领域中。熟练的操作和使用各种计算机应用软件,成为我们工作和生活的必备技能。越来越多的应用软件的设计与开发是由非计算机专业人员完成,开发出的各种软件,也大部分由非计算机专业人员操作和使用。吉林医药学院针对本校生物医学工程专业的学生,开设了“软件技术基础”课程。但由于该课程教学内容多样,教学学时有限,学生程序设计水平参差不齐等原因,给教师和学生的教学带来一定的难度。针对该课程的特点,综合其他学校的教学方式,结合吉林医药学院实际情况,对“软件技术基础”课程教学进行了一些改革探索和实践。

二、“软件技术基础”课程教学现状

第一,课程内容多,覆盖范围广。吉林医药学院的“软件技术基础”课程,是在基础课程“计算机应用基础”、“C语言程序设计”、“VB数据库程序设计”课程后开设的课程,其教学内容涵盖了四门计算机专业的课程:“数据结构”、“数据库系统”、“ 操作系统 ”和“软件工程”。在有限的学时中完成该课程的教学,教师与学生都面临很大的挑战。[1]

第二,课程学时有限。吉林医药学院“软件技术基础”课程教学有50学时,其中理论32学时。将这有限的学时分配后,各部分教学内容的教学时间更加受限,在短时间内学好该课程,对老师和学生都是极大的挑战。受课时限制,在教学中,教师对枯燥和抽象的知识无法深入讲解,没有时间通过更多的实例对概念和算法演示和说明;学生缺少足够的程序设计 经验 和调试能力,对所学内容无法融会贯通。以“软件技术基础”课程的数据结构部分内容讲授为例,对于顺序表、链表、栈、队列、树、图、排序和查找等知识,课堂的大部分时间,只能集中讲解相关知识的概念、思想及算法实现,学生练习操作时也只能是将算法在机器上实现,但具体的应用、程序设计以及调试等技巧课堂上无法细致讲解,同样,对于大部分学生,具体的应用在练习操作时练习不到。[2]

第三,学生学习目的不明确。学生在学习时,需要了解所学内容在其未来工作和生活中的目的和意义。但是,由于“软件技术基础”课程涵盖教学内容多,授课学时少,导致学生学到的知识浮于表面,课堂讲授以概念和理论为主,缺少解决实际问题经验,学生对所学内容的重要性、实用性了解不深。学生学习“软件技术基础”课程后,只掌握了一些基本概念和算法,但无法将所学应用于实践。[3]

第四,学生的程序设计水平参差不齐。吉林医药学院“软件技术基础”课程开设于学生大二下学期,学生在学习该课程前,已经学习了“C语言程序设计”,但C语言课程对于第一次接触程序设计的学生来说,概念抽象且规则繁多,掌握困难。对于C语言中数据的存储、算法编写、程序设计及调试等尤其畏惧、困惑,加深了接下来数据结构部分学习的难度。又由于“软件技术基础”课程与“C语言程序设计”课程之间间隔一个学期,这让学生本就不牢固的C编程知识在学习新的内容时更加困难。

第五,注重培养学生的应用能力。学生学习“软件技术基础”课程是为了用所学知识解决实际问题,学生的实践能力的培养是本课程教学的重中之重,如何更好的提高学生的学习兴趣,加深学生对知识的理解,同样是该课程的教学难点。以上是吉林医药学院“软件基础基础”课程面临的主要问题,各个问题相互影响和制约,进一步影响到“软基”课程的教学效果和学生学习该课程的兴趣和效果。针对以上问题,考查其他院校的教学方法和教学手段,吉林医药学院的“软件技术基础”在教学和实践环节进行了改革探索,取得了一定的成果。

三、课程教学改革探索

第一,利用现代 教育 技术,实例化教学。教材是学生获取知识的直接方法,在选择教材方面,选取案例详细的教材,弥补教学学时的不足。理论课教学是学生获取知识的重要手段,我校的教学环境优秀,每一个教室都配备有多媒体等现代化设备辅助教学,利用先进的教学设备,制作优秀的教学课件,增加动画等元素,将晦涩难懂的理论知识,通过直观的例子和生动的讲解展示给学生。如讲解数据结构中栈的存储结构、定义及算法时,利用学生熟知的手枪中的弹夹讲解;讲队列相关知识的时候,利用学生最经常使用的车站买票等生动形象的例子。再如,讲解数据库中范式概念的时候,利用学生熟悉的班级学生作为对象,分别解释各个范式的区别……

第二,对比归纳,强调总结。受到课时等客观条件限制,经多轮授课发现,学生在学习“软件技术基础”课程知识时,会有囫囵吞枣的感觉,知识无法吸收透彻并应用,已经开始下一部分知识的学习。教师需要利用自己的教学经验,在讲授过程中对知识进行凝练,对相似知识多进行归纳总结,用尽量少的语言复习与对比相关内容,让学生做到温故而知新。

第三,强化实践教学,提高动手能力。授人鱼不如授人以渔,相对于教师,学生才是学习的主体,学生学习的主动性和积极性直接影响着学习的效果。勤能补拙,督促学生利用课余时间复习C语言等学过的知识,利用实验课程序调试的机会,让学生自己讲解程序并引导学生对程序跟踪,仔细观察程序变量的变化,总结经验,对程序进行优化,打下良好的程序设计基础。吉林医药学院软件技术基础课程的实验有18学时,实验课上除了验证课堂讲授的内容,学生无法更进一步的学习深入的内容,为更好的培养学生独立操作能力和实际应用能力,我校为生工的学生开放实验室,提供自主上机练习环境。对有进一步学习需要的学生,在每周三下午开设第二课堂,由有经验的老师对学生有针对性的讲解程序设计和软件开发的方法和技巧。

第四,采用课程设计,督促学生自主学习。为更好的激发学生学习的积极性和主动性,在数据结构和数据库部分基础知识学习后,分别要求学生进行课程设计。在数据结构部分,为每一位学生提供不同的设计题目,限定提交作业时间。为解决学生可能是网络下载或他人协作帮助完成作业的情况,需要学生对程序进行注释,要求学生能读懂程序。针对数据库部分,采用学生分组完成数据库题目的方式,数据库题目可采用教师命题和学生选题的方式,学生分组采用学生自主分组,要求每组5-6成员,每位成员负责数据库的不同部分,最后根据每人负责的设计难易程度评价学生的成绩。采用课程设计的方式,给与学生学习的紧迫感和压力,对于程序设计能力稍差的学生,适当降低要求,达到锻炼学生实际动手能力、培养学生团队合作意识和协同操作能力,为学生的工作打下基础。

四、结束语

教学是一项永无止境的工作,在教学过程中,教师要根据学生的专业情况和个人学习情况及特点,有针对性的进行教学方式和教学内容的改革,运用适当的教学模式,把知识传递给学生,培养学生独立分析问题、解决问题、将所学知识综合应用于实践的实践和创新能力。

参考文献:

[1]张小瑞,孙伟,张自嘉,杨双翼.《计算机软件技术基础》教学改革探索与研究[J].中国科技信息.2012(04):129~135.

[2]陈帝伊,马孝义,辛全才.“计算机软件技术基础”课程教学方法探析[J].计算机教育2009(22):68~69.

[3]伦向敏,门洪,兰建军.《软件技术基础》教学改革探析[J].课程教育研究,2014(27)

摘要:作为一门新兴学科,计算机软件在短短的十几年中实现了跨越式发展,当今时代计算机软件技术依旧保持着旺盛的发展潜力,为人类的前进做出了巨大贡献。该文主要从计算机软件开发技术的现状、主要方式、应用以及发展趋势等方面论述了计算机软件开发技术的应用及发展趋势。

关键词:新时期;计算机开发技术;应用;趋势

1计算机软件开发技术概述

一般来说,计算机软件主要包括两大部分:应用软件和系统软件。计算机应用软件指的是为了帮助用户解决使用过程中的具体问题而设计的软件,比如娱乐、管理、文档等方面的软件;系统软件则指的是计算机本身所携带的软件,主要用于保障计算机的运行、维护等等。计算机应用软件和计算机系统软件的作用是相同的,都旨在为用户提供更好的上网体验和实用环境。从本质上来看,人们在使用计算机时运行的最为频繁的是计算机的软件系统而非计算机本身,可以说,没有计算机软件,计算机就无法正常使用。20世纪中期,世界范围内的计算机软件开发技术较为落后,仅仅停留在手工软件开发阶段,工作效率低下,远远不能满足人们日益增长的需求。伴随着全球经济的飞速发展以及第三次科技革命浪潮的开始,计算机软件开发技术也取得了长足发展,人们对其的认识也发生了变化,软件开发一词重新被定义:为了实现计算机的程序运行而采用的规则以及方法等相关的文档等都属于计算机软件的范畴。发展到当今时代,计算机软件开发技术大致经历了程序设计过程、软件过程、软件工程三个时期,随着时间的变化,计算机软件开发技术已经日趋成熟。

2计算机软件开发技术现状

计算机软件开发技术现状

当今时代无所不在的网络给人们的工作生活方式带来了翻天覆地的变化,而支撑着互联网发展的正是计算机软件技术的开发和运行。随着计算机在全球范围内的普及,国内的计算机软件开发技术也迅速成长,为适应市场人才需求,各大高等院校设立了与计算机软件技术相关的专业及方向,无论是高职院校还是重点院校的专业人数比重都呈上升趋势,从事于软件开发行业的人才不断增多。

计算机软件开发技术重要性

正是有了软件开发技术的不断改革创新,才推动了整个互联网行业的飞速发展,可以说计算机软件开发技术对当代信息社会的发展有举足轻重的作用,作为整个信息网络的核心部分,计算机软件技术开发将网络信息传输和远程控制变为了现实,为人们的生活、工作提供了极大地便利。计算机软件开发技术的应用大大提升了信息网络环境的安全性、隐私性,保证人们在畅想网络所带来的自由时不会受到其他因素的干扰,大大提升了人们的体验感。此外,软件技术的开发和应用可以促进计算机使用和软件技术之间的问题,实现两者有机融合,从而拓展了计算机的适用范围和适用领域,推动人类社会向前发展。

计算机软件开发技术问题

首先,信用值计算问题。这是计算机软件技术开发过程中的重要问题之一,其关键在于信用机制,由于没有统一的信用机制,因此,会导致计算方法的不同。多数情况下,采取的是乘性减、加性增的方法,加性增主要是用来处理信誉度增加的问题,这样可以对恶意节点形成约束作用。其次,是数据安全问题。虽然现阶段的计算机软件开发技术应经十分成熟,但是在面对数据传送过程中的数据丢失等问题时,还是无法有效遏止,很容易造成机密文件被窃取泄露的问题,这对相关人员、机构都带来了极大的损失。最后,是版权问题。这是计算机软件开发技术中最严重最泛滥的一个问题。由于我国版权保护法规还没有完全形成体系,再加上网络资源的共享性等因素,软件技术开发的成果很容易被窃取,这大大降低了软件人员的工作效率和积极性,也会对我国的软件行业发展带来消极影响。

3计算机软件开发技术主要方式

经过几十年的发展,计算机软件开发技术的方式已经进入了成熟阶段,各方面理论知识也日臻完善,总的来说,现阶段最主要的软件开发方式主要包括计算机软件生命周期法、原型化方法和自动形式的系统开发法三种方式:计算机软件生命周期法该软件开发方式亦被称为结构化系统开发方法。是三种方式中最为普遍的一种使用手段,计算机软件生命周期法着眼于软件的整体性和全局性,主要用于复杂的系统开发阶段。这种方式将软件的开发阶段划分为若干个子阶段,降低了原有软件系统的难度,便于更好的操作和维护。计算机软件生命周期法的缺点在于开发耗时长,各阶段之间缺乏独立性,前后联系密切增大了工作量。原形化方法这种开发方式主要指的是相关的技术人员在商讨决定一个统一的软件模型之后进入开发阶段并不断修改调整,直到达到用户的要求即可。这也是一种较为普遍的开发手法,其优点在于以用户的需求为导向目标性强,可以降低不必要的成本和技术浪费,缺点在于适用范围较小,只可用于小型简易的软件系统开发。自动形式的软件开发方法主要特点是在软件开发过程中对软件的开发目的和内容详细说明,对开发过程则不过多赘述,其优点在于可以根据软件的要求自主设计编码。

4计算机软件开发技术应用

任何一种技术的发明和应用都是为了更好地服务于人类,提升人类的生活方式和工作方式。因此,开发计算机软件就是为了给人们带来更多的便捷性、高效性,满足人们的各种需求。举例来说,在对两个不同的软件系统和Web+_ml+Active 进 行应用时,就要根据软件本身的特点来满足用户的不同需求。由于第一个软件的版本与微软的版本相同,因此在安装时就可以直接在电脑上运行,无需其他辅助的系统软件,安装成功后,该系统在使用时操作流畅快捷,使用方便,并且没有其他多余的附加产品影响用户的使用,因此,该软件的用户需求就会不断提升,可能会因为用户过多而对使用体验造成影响,这就需要人工进行调整。而第二种软件在安装时由于受到自身条件的限制,在安装时会在一定程度上降低用户使用量。这就说明在进行计算机软件技术开发时要坚持以人为本,将用户的需求放在首位,最大程度的满足用户的体验,唯有如此,才能获取更多的使用率和利润。

5结束语

计算机软件开发技术的发展趋势主要表现在以下几个方面:

1)网络化。

网络化是计算机软件开发技术的主要目标,其网络化的发展方向势必会为人类的生活生产方式产生巨大影响,人与物之间相互连接物联网将会是以后计算机软件开发技术的主要研究内容。

2)服务性。

计算机软件在开发应用之前就是为了解决人们处理问题时的难题,未来的计算机软件开发技术将借助先进的开发理念更全面、更细致的满足用户的体验和需求,所以服务性是其最根本的特征,也是今后不断向前发展的动力。

3)智能化。

计算机软件开发技术随着社会的发展逐步向智能化方向迈进,随着技术的不断进步,计算机软件开发技术会更加趋向人性化,智能化发展方向是人类计算机软件的重要进步,是高科技的一次突破性进展。

4)开放化。

计算机软件开发技术的开放化主要体现在技术开发人员之间的技术交流和共享,在技术上则指的是软件源代码的开放和软件产品的标准化,从业人员之间的相互学习可以打破行业之间的壁垒,碰撞出更多的思维火花,从根本上提高软件产品的质量,实现整个软件行业繁荣发展。

参考文献:

[1]范伟.浅论新时期计算机软件开发技术的应用及发展趋势[J].计算机光盘软件与应用,2014(13):80-80+82.

[2]刘芳.新时期计算机软件开发技术的应用及发展趋向[J].中国新通信,2015(13):89-89.

[3]左岑.试析计算机软件开发技术的应用及发展展望[J].才智,2013(12):384-384.

[4]刘凯英.浅谈计算机软件开发技术的应用及发展[J].无线互联科技,2013(1):69.

[5]潘其琳.计算机软件开发技术的现状及应用探究[J].信息技术与信息化,2015(3):249-251.

计算机专业毕业论文——软件技术相关 文章 :

1.计算机专业毕业论文范本

2.计算机专业毕业论文大全参考

3.计算机软件技术专业论文

4.计算机软件技术的毕业论文

5.关于计算机技术应用专业毕业论文

6.计算机软件本科毕业论文

读文本吧。xml也行。

做个毕设100分就有人做?真是值得怀疑?

相关百科

热门百科

首页
发表服务