Week07-程序設(shè)計(jì)工具_(dá)第1頁
Week07-程序設(shè)計(jì)工具_(dá)第2頁
Week07-程序設(shè)計(jì)工具_(dá)第3頁
Week07-程序設(shè)計(jì)工具_(dá)第4頁
Week07-程序設(shè)計(jì)工具_(dá)第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

*程序設(shè)計(jì)工具

SoftwareProgramTool任課老師:黃武621*提綱計(jì)算機(jī)語言的發(fā)展不同編程工具介紹VisualStudio2010簡介622*1計(jì)算機(jī)語言的發(fā)展計(jì)算機(jī)編程工具依賴于編程語言,計(jì)算機(jī)語言的發(fā)展引起編程工具的發(fā)展機(jī)器語言匯編語言高級語言4G語言計(jì)算機(jī)編程工具計(jì)算機(jī)語言6231.1機(jī)器語言機(jī)器語言是用二進(jìn)制代碼表示的計(jì)算機(jī)能直接識別和執(zhí)行的一種機(jī)器指令集合機(jī)器語言是計(jì)算機(jī)能夠唯一識別的語言機(jī)器語言靈活、直接執(zhí)行、速度快0000,0000,000000010000

代表LOADA,160000,0001,000000000001代表LOADB,10001,0001,000000010000代表STOREB,160001,0001,000000000001代表STOREB,1*6241.1.1機(jī)器語言示例指令部份的示例0000代表加載(LOAD)0001代表存儲(STORE) ...暫存器部份的示例0000代表暫存器A0001代表暫存器B

*6251.1.2機(jī)器語言的缺點(diǎn)與自然語言不一致,難于理解考慮到計(jì)算機(jī)的所有細(xì)節(jié),實(shí)現(xiàn)復(fù)雜可讀性差,不易維護(hù)嚴(yán)重依賴于具體的計(jì)算機(jī)硬件,可移植性差,重用性差百度百科參考 /link?url=AB4emzqUoWnyJeQ25njhQjUKfzvz6_gwAjqbinnT2_m_kOEcHQuteJYfTUmJODb1iVO7ufgoyiEhyWlDZkVLFa*6261.2匯編語言匯編語言是為了克服機(jī)器語言不易理解的缺陷而開發(fā)的一種用助記符代替機(jī)器碼而形成的面向機(jī)器的語言匯編語言亦稱為符號語言匯編語言占用空間少,運(yùn)行速度快,但仍然與機(jī)器語言接近,不易開發(fā)及維護(hù)*6271.2.1匯編語言示例CODESEGMENT

ASSUME CS:CODESTART: MOV CX, 0

MOV DX, 1AA1: SUB DX, 1

JZ AA3

SHL AX, 1

JNC AA2AA2: INC CL…CODE ENDS

END START*6281.2.2常見的匯編語言工具*629*1.3高級語言高級語言是為了克服匯編語言的缺點(diǎn)應(yīng)運(yùn)而生的高級語言是與自然語言接近并為計(jì)算機(jī)所接受和執(zhí)行的計(jì)算機(jī)語言高級語言是面向用戶的語言,高級語言誕生使語言脫離了具體機(jī)器的限制,而且易于理解,從而促進(jìn)了軟件產(chǎn)業(yè)的巨大發(fā)展

62101.3.1高級語言中的C語言示例intGet_File_Length(char*filename)

{

FILE *pFile;

long size=0;

pFile =fopen(filename,“rb“); ///file.cpp

if(pFile==NULL){

perror("Erroropeningfile“);

}

else

{

fseek(pFile,0,SEEK_END);

///將文件指針移動(dòng)文件結(jié)尾

size=ftell(pFile); ///求出當(dāng)前文件指針距離文件開始的字節(jié)數(shù)

fclose(pFile);

}

return(size);

}*62111.3.2高級語言的分類高級語言可以分為:解釋型

一邊編譯一邊執(zhí)行,效率較低

例如:Basic,Java編譯型

在應(yīng)用程序執(zhí)行之前,先將源代碼編譯成機(jī)器語言,然后再調(diào)入內(nèi)存中執(zhí)行例如:C,C++,Delphi*62121.3.3常見的高級語言*62131.44G語言4G(generation)語言,第四代語言基本上是傳統(tǒng)軟件工程界為了“范式開發(fā)”(prototyping)而設(shè)計(jì)出來的語言,同時(shí)具有程序性與非程序性的特性,用來快速開發(fā)連接數(shù)據(jù)庫的編程語言例如PowerBuilder、SQLWindows等等*6214*1.4.14G語言簡介4GL是20世紀(jì)80年代初期由軟件開發(fā)廠商提出來的4GL具有“面向問題”及“非過程化程度高”等特點(diǎn),可以大幅度地提高軟件生產(chǎn)效率,縮短軟件開發(fā)周期6215*1.4.24G語言的應(yīng)用范圍4G語言主要以數(shù)據(jù)庫管理系統(tǒng)為應(yīng)用基礎(chǔ)4G語言以數(shù)據(jù)庫所提供的基本功能為核心,構(gòu)造出開發(fā)高層軟件的開發(fā)環(huán)境,提供了諸如報(bào)表生成器,菜單生成系統(tǒng)以及決策支持系統(tǒng)等開發(fā)組件,大大提高了開發(fā)的效率6216*

查詢語言和報(bào)告生成器查詢語言是數(shù)據(jù)庫管理系統(tǒng)的主要工具,提供對數(shù)據(jù)庫進(jìn)行查詢的功能報(bào)表生成器為用戶提供自動(dòng)產(chǎn)生表報(bào)的工具6217*

圖形語言圖形語言以SQL語言為引擎,讓用戶在屏幕上以圖形方式定義用戶需求,系統(tǒng)自動(dòng)生成相應(yīng)的源代碼圖形語言工具:SQLWindowsLABVIEW6218*.1LabView圖形開發(fā)語言4G語言利用現(xiàn)有的控件和組件來快速構(gòu)建程序LabView是一種圖形化的4G語言工具6219*

應(yīng)用生成器應(yīng)用生成器用來生成完整的應(yīng)用系統(tǒng),應(yīng)用生成器可以分為交互式和編程式交互式:服務(wù)于維護(hù)、準(zhǔn)備和處理報(bào)表,比如PowerBuilder編程式:編程式應(yīng)用生成器是為了構(gòu)造復(fù)雜系統(tǒng)的專業(yè)程序人員設(shè)計(jì)的,比如:MATLAB,Informix4GL6220*.1MATLAB開發(fā)語言MATLAB函數(shù)具有強(qiáng)大功能,便于快速形成應(yīng)用程序6221*

形式規(guī)格說明語言形式規(guī)格說明語言避免了自然語言的歧義性,是軟件自動(dòng)化的基礎(chǔ),從形式需求出發(fā)可以自動(dòng)或半自動(dòng)生成某種執(zhí)行語言,如Z語言6222*1.4.34G語言的不足4G語言有以下幾方面的不足:4G抽象級別較高,因此不通用系統(tǒng)開銷較大,耗費(fèi)硬件資源,效率不高產(chǎn)品種類繁多,缺乏標(biāo)準(zhǔn),可移植性差主要面向基于數(shù)據(jù)庫的應(yīng)用領(lǐng)域,不宜實(shí)現(xiàn)科學(xué)計(jì)算,高速實(shí)時(shí)系統(tǒng)等軟件的開發(fā)6223*1.4.44G語言的變化趨勢4G語言變化趨勢包括:4G與面向?qū)ο蠹夹g(shù)進(jìn)一步結(jié)合將全面支持Internet為代表的網(wǎng)絡(luò)分布式應(yīng)用開發(fā)將出現(xiàn)事實(shí)上的工業(yè)標(biāo)準(zhǔn)將繼續(xù)需要數(shù)據(jù)庫管理系統(tǒng)的支持開發(fā)方法將發(fā)生變革將進(jìn)一步與人工智能相結(jié)合6224*1.5未開的開發(fā)工具未來的開發(fā)工具與人工智能相結(jié)合6225*2.不同編程工具的介紹Basic與VisualBasicPascalDelphiC++與C++BuilderJavaC#JSPASP6226*2.1BASICBASIC

(Beginners'All-purposeSymbolicInstructionCode)是一種解釋性的語言BASIC由Dartmouth學(xué)院的JohnG.Kemeny與ThomasE.Kurtz兩位教授在1964年5月研制出來的。1975年,比爾·蓋茨把它移植到PC上BASIC語言簡單易學(xué),因此廣為使用6227*2.1.1BASIC代碼示例Private

SubshowNewDate

dimthedateAsDate=Now

dimnewDateAsDate newDate=theDate.AddDay(50) MessageBox.Show(newDate,“show”)End Sub6228*2.1.2VisualBasicVisualbasic是Microsoft公司1991年開發(fā)的圖形化和快速應(yīng)用程序開發(fā)系統(tǒng),包含事件驅(qū)動(dòng)機(jī)制的可視化設(shè)計(jì)語言該系統(tǒng)可以使用ADO連接到數(shù)據(jù)庫,也可以創(chuàng)建ActiveX控件6229*2.2PascalPascal是由瑞士NiklausWirth教授(84年圖靈獎(jiǎng)獲得者)于六十年代末設(shè)計(jì)并創(chuàng)立一種計(jì)算機(jī)通用高級程序設(shè)計(jì)語言Pascal的取名原本就是為了紀(jì)念十七世紀(jì)法國著名哲學(xué)家和數(shù)學(xué)家BlaisePascalPascal是最早出現(xiàn)的結(jié)構(gòu)化編程語言6230*2.2.1Pascal語言的特點(diǎn)嚴(yán)格的結(jié)構(gòu)化形式豐富完備的數(shù)據(jù)類型運(yùn)行效率高查錯(cuò)能力強(qiáng)適于描述數(shù)值和非數(shù)值的問題62312.2.2Pascal代碼示例Program

ex1;

Uses graph;

Var Gm,Gd,R:integer;

Begin

Gd:=0;

Write('Please

enter

the

radius:‘); readln(R);

Initgraph(Gm,Gd,'

‘);

Setcolor(Green);

Circle(320,240,R);

Readln;

Closegraph;

End.

*6232*2.3Delphi開發(fā)工具Delphi的前身是DOS時(shí)代Borland公司的“TurboPascal”,最早的版本由美國Borland公司的AndersHejlsberg(Delphi之父)于1995年開發(fā)Delphi是一個(gè)集成開發(fā)環(huán)境(IDE),使用的核心是由傳統(tǒng)Pascal語言發(fā)展而來的ObjectPascal,以圖形用戶界面為開發(fā)環(huán)境,構(gòu)成一個(gè)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用程序開發(fā)工具62332.3.1Delphi7軟件界面*6234*2.4C++與C++Builder1983年,貝爾實(shí)驗(yàn)室的BjarneStroustrup在C語言基礎(chǔ)上推出了C++

C++進(jìn)一步擴(kuò)充和完善了C語言,是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言1998年通過C++標(biāo)準(zhǔn)2011年C++推出C++11標(biāo)準(zhǔn)6235*2.4.1C++BuilderC++Builder是由Borland公司推出的一款可視化集成開發(fā)工具C++Builder內(nèi)置了100多個(gè)完全封裝了Windows公用特性且具有完全可擴(kuò)展性的可重用控件;C++Builder具有一個(gè)專業(yè)C++開發(fā)環(huán)境,所能提供的全部功能:快速、高效、靈活的編譯器優(yōu)化,逐步連接,CPU透視,命令行工具等6236*2.4.2C++Builder界面C++Builder與VC類似62372.5JavaJava是1995年由SUN公司的JamesGosling開發(fā)的一種基于網(wǎng)絡(luò)的開發(fā)語言Java以C++為基礎(chǔ),是一種簡單的,跨平臺的,面向?qū)ο蟮模植际降?,解釋的,健壯的安全的,結(jié)構(gòu)中立的,可移植的,性能很優(yōu)異的多線程的,動(dòng)態(tài)的語言*62382.5.1Java開發(fā)工具EclipseEclipse是最流行的Java開發(fā)工具*62392.6基于.Net的C#C#是微軟公司2000年發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NETFramework之上的高級程序設(shè)計(jì)語言C#與Java非常相似,包括:單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程C#與Java的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM直接集成*62402.7ASP

ASP(Active

Server

Pages動(dòng)態(tài)網(wǎng)頁)是微軟公司推出的一種用以取代CGI(Common

Gateway

Interface通用網(wǎng)關(guān)接口)的技術(shù)ASP是一個(gè)位于服務(wù)器端的腳本運(yùn)行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運(yùn)行動(dòng)態(tài)的交互式Web服務(wù)器應(yīng)用程序,如交互式動(dòng)態(tài)網(wǎng)頁,包括使用HTML表單收集和處理信息,上傳與下載等等*6241*2.8JSPJSP(JavaServer

Pages)是由Sun

Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Script)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行62422.8.1JSP的工作原理*62432.8.2JSP代碼示例<HTML>

<HEAD><TITLE>JSP頁面</TITLE></HEAD>

<BODY>

<%@pagelanguage="java"%>

<%!Stringstr="0";%>

<%for(inti=1;i<10;i++){

str=str+i;

}%>

JSP輸出之前。

<P>

<%=str%>

<P>

JSP輸出之后。

</BODY>

</HTML>*62442.9世界流行軟件開發(fā)語言變遷TIOBE編程語言社區(qū)排行榜是編程語言流行趨勢的一個(gè)指標(biāo),每月更新,這份排行榜排名基于互聯(lián)網(wǎng)上有經(jīng)驗(yàn)的程序員、課程和三方廠商的數(shù)量這個(gè)排行榜只是反映某個(gè)編程語言的熱門程度,并不能說明一門編程語言好不好,或者一門語言所編寫的代碼數(shù)量多少/view/2887496.htm*62452.9.12011年編程語言排行榜*2011年3月62462.9.22011年編程語言排行榜*62472.9.32015編程語言排行榜*2015年1月62482.9.42016編程語言排行榜*2016年1月62492.9.5近13年年度語言2003年:C++2004年:PHP2005年:Java2006年:Ruby2007年:Python2008年:C2009年:Go*2010年:Python2011年:Objective-C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論