學(xué)習(xí)-程序設(shè)計基礎(chǔ)_第1頁
學(xué)習(xí)-程序設(shè)計基礎(chǔ)_第2頁
學(xué)習(xí)-程序設(shè)計基礎(chǔ)_第3頁
學(xué)習(xí)-程序設(shè)計基礎(chǔ)_第4頁
學(xué)習(xí)-程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023/2/2中山大學(xué)計算機科學(xué)系第4章程序設(shè)計基礎(chǔ)了解程序設(shè)計的基本概念和方法,掌握J(rèn)avaScript的基礎(chǔ)程序設(shè)計技術(shù)。2023/2/2中山大學(xué)計算機科學(xué)系第四章

程序設(shè)計基礎(chǔ)編程基本概念JavaScript語言及其運行環(huán)境JavaScript編程基礎(chǔ)JavaScript流程控制調(diào)試JavaScript程序JavaScript函數(shù)2023/2/2中山大學(xué)計算機科學(xué)系4.1編程基本概念4.1.1程序設(shè)計語言4.1.2算法與流程圖4.1.3結(jié)構(gòu)化程序設(shè)計2023/2/2中山大學(xué)計算機科學(xué)系4.1.1程序設(shè)計語言程序是用計算機語言描述的解決某一問題的步驟,由符合一定詞法、語法和語義規(guī)則的符號序列組成。程序設(shè)計語言是用于編寫計算機程序的語言,包括一組符號定義和相應(yīng)規(guī)則。分類:機器語言、匯編語言和高級語言2023/2/2中山大學(xué)計算機科學(xué)系4.1.1程序設(shè)計語言(1)機器語言是二進制代碼語言,能被計算機硬件直接識別并執(zhí)行。如計算2+3:

0010001100000010--將2送累加器A;前8位是操作碼--后8位是操作數(shù)

0000001100000011--將3與累加器A相加,結(jié)果放累加器A00000010--將累加器A中的數(shù)(即5)從總線輸出2023/2/2中山大學(xué)計算機科學(xué)系4.1.1語言分類(2)匯編語言是用助記符代替操作碼、用地址符代替操作數(shù)的一種面向機器的低級語言。例如:

MOVA,2H將2送累加器AADDA,3H將3與累加器A相加,結(jié)果放累加器

OUTLBUS,A將累加器A中的數(shù)(即5)從總線輸出匯編概念:匯編語言程序必須使用匯編程序把它翻譯成機器語言后,才能被機器理解、執(zhí)行。2023/2/2中山大學(xué)計算機科學(xué)系4.1.1語言分類(3)高級語言的表達方法接近于人的自然語言和數(shù)學(xué)表達式,不依賴于機器的特定屬性。例如:

Print2+3翻譯方式:編譯方式:使用編譯程序解釋方式:使用解釋程序2023/2/2中山大學(xué)計算機科學(xué)系4.1.2算法與流程圖算法是計算機解決問題的方法和步驟,可以使用自然語言、流程圖、程序設(shè)計語言等描述工具來描述。一、流程圖流程圖是用一些幾何框圖、流程線和文字說明表示各種類型的操作?;緢D形和含義2023/2/2中山大學(xué)計算機科學(xué)系4.1.2算法與流程圖二、使用流程圖描述算法示例例4.1將兩個變量X和Y的值互換。設(shè)X=5,Y=10用自然語言描述:

S1:將Y值存入中間變量Z:Y→ZS2:將X值存入變量Y中:X→YS3:將中間變量Z的值存入X中:Z→X用流程圖描述2023/2/2中山大學(xué)計算機科學(xué)系4.1.2算法與流程圖例4.2求1+2+3+4+…+100用自然語言描述:S1:設(shè)累加和變量S,且0→S;計數(shù)變量i,且0→iS2:計算和S+i→S,并把計數(shù)變量增值i+1→i。S3:判斷:當(dāng)i≤100時,返回第2步S2,再次求和;當(dāng)i>100時,順序執(zhí)行下一步S4。S4:輸出結(jié)果,S為所求之和。用流程圖描述2023/2/2中山大學(xué)計算機科學(xué)系4.1.2算法與流程圖三、算法評價標(biāo)準(zhǔn)⑴正確性:保證運行結(jié)果正確⑵可讀性:良好的可讀性有助于保證算法的正確性??茖W(xué)、規(guī)范的程序設(shè)計方法(如結(jié)構(gòu)化方法和面向?qū)ο蠓椒ǎ┛商岣咚惴ǖ目勺x性。⑶通用性:一個好算法要盡可能通用,可適用于同類問題的求解。⑷高效率:效率包括時間和空間兩個方面,一個好的算法應(yīng)執(zhí)行速度快、占用內(nèi)存少。可讀性要優(yōu)先于效率,高效率處于次要地位。2023/2/2中山大學(xué)計算機科學(xué)系4.1.3結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計方法是指按照模塊化、層次化的方法來設(shè)計程序。其核心思想包括以下三點:(1)程序模塊化:是指把一個大程序分解成若干個小程序(即模塊)。(2)語句結(jié)構(gòu)化:是指每個模塊用順序、選擇和循環(huán)三種流程結(jié)構(gòu)來實現(xiàn),如圖:2023/2/2中山大學(xué)計算機科學(xué)系4.1.3結(jié)構(gòu)化程序設(shè)計(3)自頂向下、逐步求精的設(shè)計過程:一方面是指將一個復(fù)雜問題的求解過程分解和細(xì)化成由若干個模塊組成的層次結(jié)構(gòu);另一方面是指將每個模塊的功能逐步分解、細(xì)化為一系列的處理步驟,直至分解為三種基本控制結(jié)構(gòu)的組合。例4.3某班80名學(xué)生,求該班成績的不及格率。首先將任務(wù)“求不及格率”分解成2個子模塊“輸入成績”和“統(tǒng)計不及格人數(shù)”,如圖:2023/2/2中山大學(xué)計算機科學(xué)系4.1.3結(jié)構(gòu)化程序設(shè)計然后使用流程圖分別描述這些模塊的實現(xiàn)算法,如圖4.7中的子圖B、C、D所示最后使用某種程序設(shè)計語言加以實現(xiàn)2023/2/2中山大學(xué)計算機科學(xué)系4.2JavaScript語言及其環(huán)境4.2.1JavaScript簡介JavaScript是一種解釋型的、基于對象的腳本語言。適用于創(chuàng)建短小的應(yīng)用程序。腳本宿主:執(zhí)行腳本的解釋器依賴于宿主特性,JavaScript腳本的用途有:動態(tài)網(wǎng)頁編程:將JavaScript腳本嵌入網(wǎng)頁中,由Web瀏覽器解釋執(zhí)行。Web服務(wù)器編程:將JavaScript腳本嵌入ASP頁面中,由服務(wù)器端的ASP服務(wù)程序解釋執(zhí)行。自動管理Windows系統(tǒng):將JavaScript腳本保存為獨立的腳本文件,由Windows腳本宿主解釋執(zhí)行,實現(xiàn)對Windows系統(tǒng)的自動管理。2023/2/2中山大學(xué)計算機科學(xué)系4.2.2Windows腳本宿主一、WSH簡介Windows腳本宿主是Windows腳本的運行環(huán)境,內(nèi)嵌在微軟的Windows操作系統(tǒng)中。其中,WindowsXP已內(nèi)置WSH5.6版。腳本引擎是某種腳本語言的解釋程序。安裝WSH時已自動安裝JavaScript和VBScrip這兩種腳本引擎WSH可以執(zhí)行以文本文件格式獨立存在的Windows腳本,如.js、.vbs、.wsf、.wsh2023/2/2中山大學(xué)計算機科學(xué)系4.2.2Windows腳本宿主二、編寫第一個JavaScript腳本程序例4.4使用記事本編寫一個JavaScript腳本程序,顯示文字“HelloWorld!”。操作步驟如下:⑴啟動Windows記事本;⑵輸入以下代碼:

WScript.Echo("HelloWorld!");⑶將這段代碼保存在文件S0404.js中。2023/2/2中山大學(xué)計算機科學(xué)系4.2.2Windows腳本宿主三、腳本的執(zhí)行方式(1)顯式啟動WSH執(zhí)行腳本W(wǎng)SH有兩種形式,即窗口式WSH(WScript)和命令式WSH(CScript),分別對應(yīng)可執(zhí)行文件WScript.exe和CScript.exe。如:

wscriptE:\Scripts\S0404.js或

cscriptE:\Scripts\S0404.jsWScript和CScript對腳本的執(zhí)行效果基本相同,唯一區(qū)別在于輸出形式不同2023/2/2中山大學(xué)計算機科學(xué)系4.2.2Windows腳本宿主三、腳本的執(zhí)行方式(2)隱式啟動WSH執(zhí)行腳本W(wǎng)indows腳本文件也可以像普通可執(zhí)行文件那樣直接執(zhí)行:通過“我的電腦”打開腳本文件所在的文件夾,然后雙擊它。通過Windows“開始”菜單的“運行”命令,鍵入腳本文件的完整路徑名。在命令提示符中鍵入腳本文件的完整路徑名。2023/2/2中山大學(xué)計算機科學(xué)系4.2.3使用

Windows腳本幫助微軟在發(fā)布WSH5.6時,也為腳本開發(fā)者提供了一個名為“MicrosoftWindows腳本技術(shù)”的說明文檔(CHM格式)。它提供了對JScript、VBScript、腳本運行時庫和Windows腳本宿言等技術(shù)的詳細(xì)描述。還可以到微軟的腳本中心站點()獲取大量的腳本應(yīng)用技術(shù)及實例。2023/2/2中山大學(xué)計算機科學(xué)系4.3JavaScript編程基礎(chǔ)本節(jié)介紹最基本的編程概念,即常量、變量、運算符、表達式及其類型。4.3.1數(shù)據(jù)類型與常量(一)數(shù)值型(1)整數(shù)十進制:使用0~9的數(shù)字序列表示。例如:25,+234,-998,085。八進制:使用0~7的數(shù)字序列表示,并且首位必須是0。例如:0235,-065。十六進制:使用0~9、A、B、C、D、E、F(或a、b、c、d、e、f)的數(shù)碼序列表示,并且前兩位必須是0X或0x。例如:0x235,-0XA8,0XEF。2023/2/2中山大學(xué)計算機科學(xué)系4.3.1數(shù)據(jù)類型與常量(2)浮點數(shù)浮點數(shù)是可以有小數(shù)部分的數(shù)值。浮點數(shù)常量只能采用十進制,表示形式有兩種:普通形式。由整數(shù)部分、小數(shù)點和小數(shù)部分組成,如:3.2、12.0、12.、.5、-1.8。指數(shù)形式。如5.34e5(表示5.34×105)、312E-4(表示312×10-4)。其中,e(或E)后面的指數(shù)是-324~308之間的整數(shù)。如23e4321和1.2e2.5等都是不合法的。另外,JavaScript用一個特殊的數(shù)值常量NaN(NotaNumber的縮寫,即“非數(shù)字”)表示無意義的數(shù)學(xué)運算結(jié)果。2023/2/2中山大學(xué)計算機科學(xué)系4.3.1數(shù)據(jù)類型與常量(二)字符串型字符串用于表示文本數(shù)據(jù),由0個或多個字符組成的序列組成。在表示字符串常量時,必須為字符串首尾添加成對的雙引號“"”或單引號“'”,如:"Helloword!"'世界,您好!'"a"或'a''"Hi!"Isaid.'轉(zhuǎn)義字符是指以反斜杠“\”開頭,后跟一個或多個字符。4.3.1數(shù)據(jù)類型與常量(二)字符串型轉(zhuǎn)義字符是指以反斜杠“\”開頭,后跟一個或多個字符。

\b退格符\f換頁符

\n換行符\r回車符

\t制表符\'

單引號

\"

雙引號\\反斜杠例4.5

WScript.Echo("在字符串中,通過換碼字符\\,既可加入單引號\',也可以加入雙引號\"");2023/2/2中山大學(xué)計算機科學(xué)系4.3.1數(shù)據(jù)類型與常量(三)布爾型布爾型(Boolean)就是邏輯型,只有兩個值:邏輯“真”和邏輯“假”,分別對應(yīng)于布爾常量true和false。(四)其他類型的常量null是空值常量,表示空的或不存在的對象引用。undefined是未定義值常量,表示變量還沒有賦值。2023/2/2中山大學(xué)計算機科學(xué)系4.3.2

變量變量是程序中一個已命名的存儲單元。它有兩個基本特征,即變量名(標(biāo)識變量的名稱)和變量值(變量存儲的數(shù)據(jù))。另外,變量的值可以通過賦值發(fā)生變化;不過,在為變量賦予新值之前,變量一直保持它原先所存儲的數(shù)據(jù)。2023/2/2中山大學(xué)計算機科學(xué)系4.3.2

變量(一)變量命名①變量名由以字母或下劃線開頭的字母A~Z或a~z、數(shù)字0~9和下劃線(_)構(gòu)成的字符序列組成。如:page1、_hg、X1_1②不能使用JavaScript保留字,如var。③JavaScript變量名是區(qū)分大小寫的。如n與N④為了提高程序的可讀性,要選擇易于記憶、有意義的變量名。如age⑤也可以使用中文字符命名JavaScript變量2023/2/2中山大學(xué)計算機科學(xué)系4.3.2

變量(二)變量聲明使用關(guān)鍵字var聲明變量,格式如下:varvariablename;也可以同時聲明多個變量,如:varname,age,weight;(三)為變量賦值①方法一:聲明變量的同時也給出初始值。如:varname="張三";②方法二:使用賦值語句為變量賦值。如:age=20;2023/2/2中山大學(xué)計算機科學(xué)系4.3.2

變量(四)讀取變量的值若要取一個變量的值,則可以把該變量名放在一個常量可以出現(xiàn)的位置。例4.6了解變量的基本用法和含義,以及注釋。varname; //聲明變量namename="張三"; //把字符串“張三”存儲到變量name中age=20; //變量age被隱式聲明,并賦值整數(shù)20/*以上語句聲明兩個變量name、age,并賦值;以下語句取出這兩個變量的值、并使用WScript.Echo方法輸出。*/WScript.Echo(name); //取出變量name的值,并輸出WScript.Echo("今年"); //輸出字符串“今年”WScript.Echo(age); //讀取變量age的值,并輸出WScript.Echo("歲"); //輸出字符串“歲”2023/2/2中山大學(xué)計算機科學(xué)系4.3.2

變量(五)變量類型在JavaScript中,變量類型是指變量值所屬的數(shù)據(jù)類型。由于JavaScript是一種弱類型的編程語言,允許把任何類型的數(shù)據(jù)賦值給變量,因此JavaScript變量的類型是動態(tài)的,只有在程序運行時才能動態(tài)確定。例4.7編寫以下JavaScript程序并使用CScript執(zhí)行,以了解變量類型的動態(tài)性。varx=20;WScript.Echo(typeof(x));x="您好";WScript.Echo(typeof(x));x=true;WScript.Echo(typeof(x));2023/2/2中山大學(xué)計算機科學(xué)系4.3.2

變量(六)簡述變量的作用域變量的作用域是指變量起作用的范圍,在該范圍內(nèi)可引用該變量。在引入函數(shù)概念之前,本章大多數(shù)示例使用的都是全局變量,其作用范圍是同一個腳本文件,也就是說,只要定義了一個變量,那么在同一個腳本文件中的后續(xù)腳本就可以使用它。2023/2/2中山大學(xué)計算機科學(xué)系4.3.3運算符與表達式4.3.3.1基本概念運算符是指定計算操作的符號(如+、-、*、\等)。其中,把被計算的值稱為操作數(shù)。依賴操作數(shù)的個數(shù),可將運算符分為單目運算符、雙目運算符和三目運算符。表達式是運算符和操作數(shù)組合而成的式子,如123、x、x+100表達式具有值,這個值是對操作數(shù)實施運算符所確定的計算后產(chǎn)生的結(jié)果值。例如,如果有定義“varx=123;”,那么123、x、x+100的值分別是數(shù)值123、123、223。2023/2/2中山大學(xué)計算機科學(xué)系4.3.3運算符與表達式4.3.3.2運算符的優(yōu)先級在計算復(fù)雜表達式時,先要計算子表達式的值,而計算這些子表達式的順序依賴于運算符的優(yōu)先級(優(yōu)先級越高越先計算)。例盡量使用簡單的表達式2023/2/2中山大學(xué)計算機科學(xué)系4.3.3運算符與表達式4.3.3.3運算符的結(jié)合性當(dāng)表達式中連續(xù)出現(xiàn)的幾個運算符優(yōu)先級相同時,其運算順序由結(jié)合性決定,分為:左結(jié)合:是指左邊的運算符優(yōu)先計算,如

10-2-5右結(jié)合:是指右邊的運算符優(yōu)先計算,如

x=y=1002023/2/2中山大學(xué)計算機科學(xué)系4.3.3運算符與表達式4.3.3.4表達式中的類型轉(zhuǎn)換JavaScript會根據(jù)運算符的特性和操作數(shù)的類型進行隱式類型轉(zhuǎn)換。例4.8求100+300、100+"300"、"100"+300和"100"+"300"。例4.9求100-300、100-"300"、"100"-300和"100"-"300"。例4.10求true+100、true+"100"、true+false、true-false。例4.11求表達式"a"–100的值??刂品椒á艑τ?運算符:①如果有一個操作數(shù)為字符串,則為字符串連接運算;②如果兩個操作數(shù)都不是字符串,則是算術(shù)加運算。⑵對于其他運算符,自動把操作數(shù)轉(zhuǎn)換為相應(yīng)類型⑶使用函數(shù)parseInt()和parseFloat()顯式轉(zhuǎn)換2023/2/2中山大學(xué)計算機科學(xué)系4.3.4JavaScript運算符4.3.4.1算術(shù)運算符JavaScript算術(shù)運算符的操作數(shù)和計算結(jié)果都是數(shù)值型,包括+、-、*、/、%、++x、x++、--x、x--例

10%3//等于1//若有varx=100,y;y=++x;y=x++;y=--x;y=x--;例4.12

買東西付了$105,稅率為0.05,那么標(biāo)價是多少?一共又付了多少稅錢?2023/2/2中山大學(xué)計算機科學(xué)系4.3.4JavaScript運算符4.3.4.2關(guān)系運算符關(guān)系運算符(又稱比較運算符)對操作數(shù)進行比較,返回一個布爾值。包括<、<=、>、>=、==、!=、===、!==比較運算符的操作數(shù)一般為數(shù)值型數(shù)據(jù),但也可以是其他類型的數(shù)據(jù):如果兩個操作數(shù)都是字符串,則進行字符串比較運算(比較字符的Unicode碼值)。例如:"a"=="a"、"ab"=="ab"、"a"<"ab"、"ab"<"a"、"xyz">"XYZ"、"x">"XYZ"如果至少有一個操作數(shù)不是字符串,就先將非數(shù)值型操作數(shù)轉(zhuǎn)換為數(shù)值,然后進行數(shù)值比較運算。例如:2>"10"、1>true、true>false、2=="0X2"、1==true、"true"==true2023/2/2中山大學(xué)計算機科學(xué)系4.3.4JavaScript運算符4.3.4.3邏輯運算符邏輯運算符的操作數(shù)和計算結(jié)果都是布爾值,包括&&、||、!例如,若有變量x,則判斷“x是屬于[10,99]之間的數(shù)值”的表達式寫成:

x>=10&&x<=99判斷“x是大于100或小于10的正數(shù)”的表達式寫成:

x>100||(x<10&&x>0)2023/2/2中山大學(xué)計算機科學(xué)系4.3.4JavaScript運算符4.3.4.4位操作運算符位操作運算符用于對整數(shù)的二進制位進行操作,計算結(jié)果仍為整數(shù),包括&、|、^、<<、>>、>>>例4.13

vara=4,b=7,c=2,result;WScript.Echo("a=4(0100),b=7(0111),c=2");result=a&b;WScript.Echo("a&b="+result);result=a|b;WScript.Echo("a|b="+result);result=a^b;WScript.Echo("a^b="+result);result=a<<c;WScript.Echo("a<<c="+result);result=a>>c;WScript.Echo("a>>c="+result);result=a>>>c;WScript.Echo("a>>>c="+result);result=-1>>2;WScript.Echo("-1>>2="+result);result=-1>>>2;WScript.Echo("-1>>>2="+result);2023/2/2中山大學(xué)計算機科學(xué)系4.3.4JavaScript運算符4.3.4.5賦值運算符最基本的賦值運算符是等于號(=),用于對變量進行賦值。另外,一些運算符也可以和等于號(=)聯(lián)合使用,構(gòu)成組合賦值運算符,如=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>=2023/2/2中山大學(xué)計算機科學(xué)系4.3.4JavaScript運算符4.3.4.6條件運算符條件運算符格式如下:

condition?true_result:false_result如果condition為真,則表達式的值為true_result子表達式的值,否則為false_result子表達式的值。例4.14varage,status;age=20;status=(age>=18)?"已成年":"未成年";WScript.Echo("小李"+status);2023/2/2中山大學(xué)計算機科學(xué)系4.3.4JavaScript運算符4.3.4.7其他運算符JavaScript還包含其他幾個特殊的運算符,如.字段訪問[]數(shù)組下標(biāo)()函數(shù)調(diào)用,順序執(zhí)行兩個表達式Delete對象中刪除一個屬性,數(shù)組中刪除一個元素

New對像創(chuàng)建Typeof對像類型Void對表達式求值,并返回undefined2023/2/2中山大學(xué)計算機科學(xué)系4.4

JavaScript流程控制JavaScript支持結(jié)構(gòu)化程序設(shè)計方法,即支持順序、選擇和循環(huán)這三種流程結(jié)構(gòu)。所謂順序結(jié)構(gòu)就是指構(gòu)成JavaScript程序的多條語句按照它們的書寫順序從頭到尾依次執(zhí)行在JavaScript中,每條語句應(yīng)該以一個分號(;)結(jié)束,不過有時沒有分號也不會出錯。另外,JavaScrip允許把多條語句寫在同一行中,此時,語句之間就一定要加上分號。2023/2/2中山大學(xué)計算機科學(xué)系4.4.1宿主的輸入與輸出功能JavaScript語言沒有直接提供輸入與輸出的語句,只能借助腳本宿主對象所提供的有關(guān)方法進行基本的輸入與輸出。(一)使用WScript對象的Echo方法命令格式:WScript.Echo([Arg1][,Arg2][,Arg3]...);例如:WScript.Echo("HelloWorld!");WScript.Echo("Hello","World!");WScript.Echo("1+2","=",1+2);2023/2/2中山大學(xué)計算機科學(xué)系4.4.1宿主的輸入與輸出功能(二)使用WScript.Shell對象的Popup方法命令格式:iB=object.Popup(strText,[nSecondsToWait],[strTitle],[nType])例4.15varshell=WScript.CreateObject("WScript.Shell");varBtnCode=shell.Popup("您來過中大嗎?",8,"確認(rèn)框示例",1);varvisited=(BtnCode==1);varshow_text=visited?"您也認(rèn)為中大很美吧!":"歡迎您有機會來中大參觀!";WScript.Echo(show_text);2023/2/2中山大學(xué)計算機科學(xué)系4.4.1宿主的輸入與輸出功能(三)使用WScript的標(biāo)準(zhǔn)輸入/輸出流對象StdIn、StdOutWScript的子對象StdIn、StdOut分別對應(yīng)于Windows命令符窗口中的標(biāo)準(zhǔn)輸入、輸出流,因此,這兩個對象只有用CScript執(zhí)行才有效。WScript.StdIn對象的ReadLine方法從標(biāo)準(zhǔn)輸入流中讀取一行文本;而WScript.StdOut對象的WriteLine方法則是向標(biāo)準(zhǔn)輸出流輸出一行文本。例4.16

WScript.StdOut.WriteLine("請輸入您的姓名:");varname=WScript.StdIn.ReadLine();WScript.StdOut.WriteLine("尊敬的"+name+":歡迎您進入腳本世界!");2023/2/2中山大學(xué)計算機科學(xué)系4.4.2選擇結(jié)構(gòu)JavaScript支持if語句和switch語句4.4.2.1if語句一、if…else語句if語句的基本形式是:if(判定條件)

語句1;

else

語句2;這種形式的if語句支持典型的二路選擇結(jié)構(gòu),也就是,根據(jù)某種情況的判斷,要么執(zhí)行語句A,要么執(zhí)行語句B。語句A和語句B不會同時執(zhí)行。2023/2/2中山大學(xué)計算機科學(xué)系4.4.2選擇結(jié)構(gòu)例4.17分別輸入兩個數(shù)給變量x、y,然后求出這兩個變量中的最大值。varx,y,max;WScript.StdOut.WriteLine("x=");x=parseFloat(WScript.StdIn.ReadLine());WScript.StdOut.WriteLine("y=");y=parseFloat(WScript.StdIn.ReadLine());if(x>y)//若x>y,則x是最大值,否則y是最大值max=x;elsemax=y; WScript.StdOut.WriteLine("最大值是:"+max);2023/2/2中山大學(xué)計算機科學(xué)系4.4.2選擇結(jié)構(gòu)二、沒有else部分的if語句if語句的簡單形式:if(判定條件)語句;例4.18改寫例4.17,要求不使用else部分。編程思路:先假定x最大,如果假定不成立,那么y的值就最大。max=x; //先假定x的值最大if(max<y)max=y;WScript.StdOut.WriteLine("最大值是:"+max);好處:便于改為求3個甚至更多變量的最大值。max=x;if(max<y)max=y;if(max<z)max=z;…2023/2/2中山大學(xué)計算機科學(xué)系4.4.2選擇結(jié)構(gòu)三、程序代碼的書寫格式問題建議格式:if(x>y)max=x;elsemax=y;或if(x>y)max=x;else//else與if對齊

max=y;不好格式:if(x>y)或if(x>y)max=x;elsemax=y;max=x;elsemax=y;注重程序可讀性2023/2/2中山大學(xué)計算機科學(xué)系4.4.2選擇結(jié)構(gòu)四、使用語句組語句組:用大括號括起來的一組語句序列。在語法上,語句組相當(dāng)于單條語句。例4.19

求兩個變量的最大值和最小值...if(x>=y){//必須用花括號{}括起以下兩條語句,使之成為語句組;否則將出錯。

max=x;min=y;}else{//同樣必須用花括號{}括起以下兩條語句,使之成為語句組

max=y;min=x;}WScript.StdOut.WriteLine("最大值是:"+max+";最小值是:"+min);2023/2/2中山大學(xué)計算機科學(xué)系4.4.2選擇結(jié)構(gòu)五、論變量的使用變量的基本用途:存儲初始值和計算結(jié)果,以及中間變量例4.20

分別輸入兩個數(shù)給變量x、y,然后對這兩個數(shù)進行由小到大的排序,使x、y分別存儲這兩個數(shù)中的最小值和最大值。if(x>y){//交換變量x,y的值

temp=x;x=y;y=temp;}WScript.StdOut.WriteLine("排序后,x="+x+";y="+y)2023/2/2中山大學(xué)計算機科學(xué)系4.4.2選擇結(jié)構(gòu)六、if語句的嵌套可以把一個if語句當(dāng)成另外一個if語句的語句部分來用,這就是所謂的if語句的嵌套。例4.21

根據(jù)成績給出學(xué)生的考評:如果成績>=85,就考評“優(yōu)”,否則如果成績>=60,就考評“及格”,否則考評為“不及格”。格式調(diào)整2023/2/2中山大學(xué)計算機科學(xué)系4.4.2.2switch語句格式:switch(表達式){case表達式1:

語句1;[break;]case表達式2:

語句2;[break;]…default:

語句n+1;[break;]}2023/2/2中山大學(xué)計算機科學(xué)系4.4.2.2switch語句例4.22常識問答,請選擇“中國的首都是哪個城市?A.沈陽B.廣州C.北京D.上?!眘witch(answer){case"a":case"A":WScript.StdOut.WriteLine("錯!沈陽是中國東北部的大城市");break;case"b":case"B":WScript.StdOut.WriteLine("錯!廣州是中國南部的大城市");break;...default:WScript.StdOut.WriteLine("選擇錯誤!只能選填字母A、B、C或D");break;}2023/2/2中山大學(xué)計算機科學(xué)系4.4.3循環(huán)結(jié)構(gòu)當(dāng)一些語句需要反復(fù)執(zhí)行時,就要用到循環(huán)結(jié)構(gòu)的語句,即循環(huán)語句。JavaScript常用的循環(huán)語句主要是for語句、while語句以及do…while語句。2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.1for語句for語句格式:for(初值表達式;循環(huán)判定式;更新表達式)循環(huán)體語句;for語句執(zhí)行步驟:2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.1for語句例4.23

求1+2+3+…+100的累加和。編程思路:使用變量i作為循環(huán)變量,從1開始,每次加1,直至100;而sum作為累加器變量,累加i所遍歷的值,其效果就是計算1+2+3+…+100vari,sum=0;//sum是累加器變量,初值0for(i=1;i<=100;i++){//在每次循環(huán)時,循環(huán)變量i的值依次是1,2,3,...,100sum+=i;//累加循環(huán)變量i所遍歷的值1,2,3,...,100}WScript.Echo("1+2+3+...+100=",sum);2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.1for語句例4.24

顯示十六進制數(shù)的數(shù)碼0123…ABCDEF編程思路:使用一個循環(huán)變量(如i)遍歷十六進制數(shù)的16個數(shù)碼for(i=0;i<16;i++)//i遍歷每個數(shù)碼{switch(i){//將十進制數(shù)i轉(zhuǎn)換為對應(yīng)的十六進制數(shù)碼

case10:digit="A";break;case11:digit="B";break;...default:digit=i;break;//0…9}digits=digits+digit;}WScript.Echo("十六進制的16個數(shù)碼是:",digits);2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.2while語句while語句格式:while(循環(huán)判定式)循環(huán)體語句;while循環(huán)的執(zhí)行步驟如下:2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.2while語句例4.25使用while語句求1+2+3+…+100編程思路:vari,sum;i=1;sum=0;//i是循環(huán)變量,初值1;而sum是累加器變量,初值0while(i<=100){//在每次循環(huán)時,循環(huán)變量i的值依次是1,2,3,...,100sum+=i;//累加循環(huán)變量i所遍歷的值1,2,3,...,100i++;}WScript.Echo("1+2+3+...+100=",sum);2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.3dowhile語句dowhile語句格式:

do循環(huán)體語句while(循環(huán)判定式);dowhile循環(huán)的執(zhí)行步驟如下:2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.3dowhile語句例4.26使用do…while語句求1+2+3+…+100編程思路:vari,sum;i=1;sum=0;//i是循環(huán)變量;sum是累加器變量do{//在每次循環(huán)時,循環(huán)變量i的值依次是1,2,3,...,100sum+=i;//累加循環(huán)變量i所遍歷的值1,2,3,...,100i++;}while(i<=100);WScript.Echo("1+2+3+...+100=",sum);在形式上dowhile語句把判定式while(i<=100)放在語句后部,并且后面要加上分號“;”2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.3dowhile語句dowhile的特點是至少執(zhí)行一次循環(huán)體語句。例4.27

編寫一個二位整數(shù)相加的測試程序。要求程序隨機生成兩個二位整數(shù),提示用戶回答它們的相加結(jié)果,根據(jù)用戶回答給出“答對”或“答錯”的提示,并且允許用戶決定是否繼續(xù)答題,如果繼續(xù)就再出題,否則就結(jié)束。編程思路:2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.3dowhile語句varx,y,result,answer,prompt,go_on_s,go_on;do{//先出題,再答題

x=Math.floor(Math.random()*90)+10;//隨機生成兩個二位整數(shù)

y=Math.floor(Math.random()*90)+10;result=x+y;//計算標(biāo)準(zhǔn)答案

WScript.StdOut.WriteLine(x+"+"+y+"=");answer=parseInt(WScript.StdIn.ReadLine());//輸入用戶的答案

prompt=(answer==result?"答對":"答錯")+"!繼續(xù)答題嗎?(Y:繼續(xù);其他鍵退出)";WScript.StdOut.WriteLine(prompt);go_on_s=WScript.StdIn.ReadLine();//輸入用戶是否繼續(xù)答題的字符,但仍然要按回車鍵結(jié)束

go_on=(go_on_s=="Y"||go_on_s=="y");}while(go_on);2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.4使用break和continuebreak語句也經(jīng)常用在循環(huán)體中。當(dāng)程序執(zhí)行到循環(huán)體中的break語句時就結(jié)束整個循環(huán)語句。continue語句只能用在循環(huán)體中,其作用是跳過循環(huán)體中未執(zhí)行的語句,結(jié)束本次循環(huán),跳至求循環(huán)判定式,決定是否繼續(xù)循環(huán)。continue語句和break語句的區(qū)別是:continue只是結(jié)束本次循環(huán)體的執(zhí)行,而break則是結(jié)束整個循環(huán)語句的執(zhí)行。通常,continue語句和break語句在循環(huán)體中與if語句配合使用,從而控制循環(huán)。2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.4使用break和continue例4.28使用break語句實現(xiàn)例4.27varx,y,result,answer,prompt,go_on_s;while(true){//先出題,再答題x=Math.floor(Math.random()*90)+10;y=Math.floor(Math.random()*90)+10;result=x+y;//計算標(biāo)準(zhǔn)答案WScript.StdOut.WriteLine(x+"+"+y+"=");answer=parseInt(WScript.StdIn.ReadLine());prompt=(answer==result?"答對":"答錯")+"!繼續(xù)答題嗎?(Y:繼續(xù);其他鍵退出)";WScript.StdOut.WriteLine(prompt);go_on_s=WScript.StdIn.ReadLine();if(go_on_s!="Y"&&go_on_s!="y")break;}2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.4使用break和continue例4.29累加用戶輸入的正數(shù),如果輸入字符“Q”,就不繼續(xù)輸入,并顯示累加結(jié)果。varinput,input_number,sum;for(sum=0;;)//sum作為累加器,初值為0{WScript.StdOut.WriteLine("sum="+sum+",\t請輸入新的累加數(shù)(輸入Q結(jié)束):");input=WScript.StdIn.ReadLine();if(input=="Q"||input=="q")break;//結(jié)束累加input_number=parseFloat(input);if(isNaN(input_number))continue;//不能累加NaNif(input_number<=0)continue;//不累加非正數(shù)sum+=input_number;//累加有效正數(shù)}WScript.StdOut.WriteLine("sum="+sum);2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.5循環(huán)的嵌套在一個循環(huán)語句的循環(huán)體中也可以包含另一個循環(huán)語句,這稱為循環(huán)的嵌套。例4.30

顯示一個“9×9乘法表”。編程思路:第j列顯示j與j~9依次相乘的結(jié)果。9×9乘法表的每一項其實就是“列號*行號”2023/2/2中山大學(xué)計算機科學(xué)系4.4.3.5循環(huán)的嵌套vari,j,output=""for(i=1;i<=9;i++)//外循環(huán):行號i從1~9{for(j=1;j<=i;j++)//內(nèi)循環(huán):列號j從1~i{if(j>1)output+="\t";//使輸出各項上下對齊

output+=j+"*"+i+"="+j*i;//9×9乘法表的每一項其實就是“列號j*行號i”}output+="\n"http://換行}WScript.Echo(output);//一次性輸出“9×9乘法表”2023/2/2中山大學(xué)計算機科學(xué)系4.5 調(diào)試JavaScript程序程序出錯分為兩類:語法錯誤;語義錯誤。所謂調(diào)試程序就是排除程序中的錯誤。2023/2/2中山大學(xué)計算機科學(xué)系4.5.1詞法、語法和語義規(guī)則(1)詞法:組成合法語句的基本單元稱為單詞,構(gòu)成合法單詞的規(guī)則稱為詞法。如語句“x1=2”中的x1、=、2是合法單詞,而1x不是合法變量名。(2)語法:具有特定含義的符號串稱為語句,構(gòu)成合法語句的規(guī)則稱為語法。例如:語句“x=*2”符合詞法,但不符合語法規(guī)則。(3)語義:合法語句的實際含義稱為該語句的語義。對語義的理解是否準(zhǔn)確,直接影響程序的正確性和可靠性。例如:在JavaScript中,“x==2”表示判斷變量x與數(shù)值2是否相等,而“x=2”卻表示將2賦值給x。2023/2/2中山大學(xué)計算機科學(xué)系4.5.2排除語法錯誤語法錯誤是指寫出的程序代碼不符合語法規(guī)則,比如,變量名使用關(guān)鍵字、括號不匹配、if語句中判定條件式?jīng)]有用圓括號括起來,等等。Windows腳本宿主在執(zhí)行含有語法錯誤的腳本程序時,會提示出現(xiàn)了什么錯誤以及出錯位置。例4.31

以下程序有語法錯誤,請排除。...ifx>y//將出錯,if判定條件式必須用圓括號括起來

max=x;elsemax=y; WScript.Echo("最大值是=",max);2023/2/2中山大學(xué)計算機科學(xué)系4.5.3排除語義錯誤語義錯誤是指編寫的程序代碼符合語法規(guī)則,能夠正常執(zhí)行,但是執(zhí)行的結(jié)果不符合要求。導(dǎo)致語義錯誤的常見情況是對流程控制語句使用不當(dāng)或者對變量賦予了一個不恰當(dāng)?shù)闹?。對于這種情況,可以使用專業(yè)的調(diào)試工具,通過跟蹤程序的一步步執(zhí)行并且查看執(zhí)行中變量值的變化情況來排除程序中的語義錯誤。2023/2/2中山大學(xué)計算機科學(xué)系4.5.4使用Microsoft腳本編輯器調(diào)試程序Microsoft腳本編輯器是一種專業(yè)化的腳本編輯和調(diào)試工具,是MicrosoftOffice的可選組件之一。使用示例例4.32第一步:在調(diào)試器中執(zhí)行腳本

CScriptE:\Scripts\S0432.js//X第二步:設(shè)置斷點、執(zhí)行到斷點第三步:逐語句執(zhí)行,觀察變量x、y值的變化第四步:找到問題后,結(jié)束本次調(diào)試2023/2/2中山大學(xué)計算機科學(xué)系4.6

JavaScript函數(shù)4.6.1什么是函數(shù)函數(shù)是編制程序時定義的一個語句序列,其作用是執(zhí)行一項單一任務(wù)或一系列任務(wù)。例如,一個函數(shù)可能是輸出一行文本,也可能是計算一個數(shù)值并把它返回給主程序。使用函數(shù)的一個好處在于它的可重用性。2023/2/2中山大學(xué)計算機科學(xué)系4.6.2使用預(yù)定義函數(shù)所謂預(yù)定義函數(shù)是指不必自己定義、直接就可使用的函數(shù)。一、eval()函數(shù):計算在字符串中的表達式的值例4.33求用戶輸入的任意常量表達式的值。二、isNaN()函數(shù)isNaN()函數(shù)用于確定一個變量是否是NaN。2023/2/2中山大學(xué)計算機科學(xué)系4.6.2使用預(yù)定義函數(shù)三、parseFloat()函數(shù)parseFloat()函數(shù)將字符串轉(zhuǎn)換為浮點數(shù)。如:parseFloat("123.45")\\123.45parseFloat("123.45abc")\\123.45parseFloat("abc123.45")\\NaNparseFloat(true)\\NaN四、parseInt()函數(shù)parseInt()函數(shù)與parseFloat()類似parseInt("123.45")\\123parseInt("123.45abc")\\123parseInt("abc123")\\NaNparseInt(true)\\NaN2023/2/2中山大學(xué)計算機科學(xué)系4.6.3函數(shù)定義與函數(shù)調(diào)用4.6.3.1函數(shù)定義定義格式:function自定義函數(shù)名(){

函數(shù)體}例4.34

定義一個函數(shù)Hello(),這個函數(shù)的功能是輸出文字“您好!”。實現(xiàn)程序如下:functionHello(){//自定義無參數(shù)的函數(shù)

WScript.Echo("您好!");}2023/2/2中山大學(xué)計算機科學(xué)系4.6.3函數(shù)定義與函數(shù)調(diào)用4.6.3.2函數(shù)調(diào)用與調(diào)用預(yù)定義函數(shù)一樣,對自定義函數(shù)的調(diào)用形式也是“函數(shù)名()”例4.35

改寫例4.34,通過函數(shù)調(diào)用實現(xiàn)文字“您好!”的輸出。...Hello();調(diào)用流程2023/2/2中山大學(xué)計算機科學(xué)系4.6.3函數(shù)定義與函數(shù)調(diào)用4.6.3.2函數(shù)調(diào)用例4.35

改寫例4.34,通過函數(shù)調(diào)用實現(xiàn)文字“您好!”的輸出。functionHello(){//自定義函數(shù),只有通過函數(shù)調(diào)用才能使該函數(shù)起作用

WScript.Echo("您好!");}Hello();//對自定義函數(shù)Hello()的調(diào)用,從而輸出文字“您好!”2023/2/2中山大學(xué)計算機科學(xué)系4.6.4函數(shù)參數(shù)的使用4.6.4.1給函數(shù)添加參數(shù)定義函數(shù)的完整格式:function自定義函數(shù)名(形參1,形參2,...){

函數(shù)體}參數(shù)作用:為被調(diào)用的函數(shù)傳遞一個或多個值定義函數(shù)時指定的參數(shù)稱為形式參數(shù)(形參);調(diào)用函數(shù)時為形參實際傳遞的值稱為實際參數(shù)(實參)調(diào)用形式:函數(shù)名(實參1,實參2,...)2023/2/2中山大學(xué)計算機科學(xué)系4.6.4函數(shù)參數(shù)的使用例4.36

定義一個含有參數(shù)的函數(shù)Show(text),它輸出參數(shù)text中的字符串。實現(xiàn)程序如下:functionShow(text){WScript.Echo(text);}Show("JavaScript真棒!");2023/2/2中山大學(xué)計算機科學(xué)系4.6.4函數(shù)參數(shù)的使用4.6.4.2使用多個參數(shù)當(dāng)使用多個參數(shù)時,函數(shù)調(diào)用的各個實參按照其排列的先后順序依次傳遞給函數(shù)定義中的形參。例4.37定義一個多參數(shù)函數(shù)Calculate(x,y,op),用于顯示對形參x、y進行形參op指定的運算結(jié)果。functionCalculate(x,y,op){//對形參x,y進行形參op指定的運算(如+、-、*、/等),并顯示

varexp,result;exp=x+op+y;result=eval(exp);WScript.Echo(x,op,y,"=",result);}Calculate(3,2,"+");Calculate(4,5,"-");Calculate(6,7,"*");Calculate(8,9,"/");2023/2/2中山大學(xué)計算機科學(xué)系4.6.5使用函數(shù)返回值4.6.5.1給函數(shù)添加返回值方法:

return表達式;例4.38

編寫函數(shù)Max(x,y):functionMax(x,y){//求x,y中的最大值

varmax;if(x>y)max=x;elsemax=y;returnmax;//結(jié)束函數(shù),并把變量max的值作為函數(shù)的返回值}varm;m=Max(100,200);WScript.Echo("Max(100,200)=",m);2023/2/2中山大學(xué)計算機科學(xué)系4.6.5使用函數(shù)返回值4.6.5.2區(qū)分函數(shù)和過程只返回undefined的函數(shù)稱為過程。過程和函數(shù)的一個顯著區(qū)別是:過程調(diào)用單獨構(gòu)成一條語句;而函數(shù)調(diào)用出現(xiàn)在表達式中。例4.39

如果一個正整數(shù)只能被1和自身整除,那么這個數(shù)就是素數(shù)。求出1~100之間的所有素數(shù)。編程思路:如果p能夠被2、3、4、…p-1之中的任何數(shù)整除,那么p就不是一個素數(shù),否則就是素數(shù)2023/2/2中山大學(xué)計算機科學(xué)系4.6.5使用函數(shù)返回值例4.39:functionsum1_n(n){//求1+2+...+n的累加和

varsum=0,i;for(i=1;i<=n;i++)sum+=i;returnsum;}functionsum_all(n){//求1+(1+2)+(1+2+3)+...+(1+2+...+n)varsum=0,i;for(i=1;i<=n;i++){//累加sum1_n(1)+sum1_n(2)+...+sum1_n(n)sum+=sum1_n(i);//調(diào)用函數(shù)sum1_n(i)求1~i的累加和

}returnsum;}varn,sum;WScript.StdOut.WriteLine("n=");n=parseInt(WScript.StdIn.ReadLine());sum=sum_all(n);//1至1~n的累加和的累加和WScript.StdOut.WriteLine(sum);2023/2/2中山大學(xué)計算機科學(xué)系4.6.6函數(shù)的嵌套調(diào)用4.6.6.1函數(shù)嵌套調(diào)用的形式在一個函數(shù)定義的函數(shù)體語句中出現(xiàn)對另一個函數(shù)的調(diào)用,這就是函數(shù)嵌套調(diào)用,如圖4.41所示。當(dāng)一個函數(shù)調(diào)用另一個函數(shù)時,應(yīng)該在定義調(diào)用函數(shù)之前先定義被調(diào)用函數(shù)。2023/2/2中山大學(xué)計算機科學(xué)系4.6.6函數(shù)的嵌套調(diào)用例4.40

輸入1個數(shù)n,求1+(1+2)+(1+2+3)+…+(1+2+…+n)的值。編程思路:引入只求1~n的累加和函數(shù)sum1_n(n),那么1到1~n的累加和分別是sum1_n(1)、sum1_n(2)、sum1_n(3)…sum1_n(n),最終將這些累加和加起來就可求解。2023/2/2中山大學(xué)計算機科學(xué)系4.6.6函數(shù)的嵌套調(diào)用例4.40

functionsum1_n(n){//求1+2+...+n的累加和

varsum=0,i;for(i=1;i<=n;i++)sum+=i;returnsum;}functionsum_all(n){//求1+(1+2)+(1+2+3)+...+(1+2+...+n)varsum=0,i;for(i=1;i<=n;i++){//累加sum1_n(1)+sum1_n(2)+...+sum1_n(n)sum+=sum1_n(i);//調(diào)用函數(shù)sum1_n(i)求1~i的累加和

}returnsum;}varn,sum;WScript.StdOut.WriteLine("n=");n=parseInt(WScript.StdIn.ReadLine());sum=sum_all(n);//1至1~n的累加和的累加和WScript.StdOut.WriteLine(sum);2023/2/2中山大學(xué)計算機科學(xué)系4.6.6函數(shù)的嵌套調(diào)用4.6.6.2解決嵌套調(diào)用引起的效率問題當(dāng)使用多個函數(shù)時,可能會引起運行效率問題例4.41使用單重循環(huán)求

1+(1+2)+(1+2+3)+…+(1+2+…+n)編程思路:引入另一個累加器變量(如total),使該變量在每次循環(huán)時累加變量sum的值例4.41和例4.40的實現(xiàn)程序都能正確求解,其主要差異是運行速度。如果輸入一個比較大的數(shù)(如n=10000),那么例4.41將立刻算出結(jié)果;而例4.40則運行時間較長初學(xué)編程時,要優(yōu)先考慮程序的可讀性2023/2/2中山大學(xué)計算機科學(xué)系4.6.6函數(shù)的嵌套調(diào)用例4.41

functionsum_all(n){//求1+(1+2)+(1+2+3)+...+(1+2+...+n)vari,sum,total;sum=total=0;//累加器變量初值0for(i=1;i<=n;i++){sum+=i;//變量sum遍歷每項累加和,即1、(1+2)、(1+2+3)、...、(1+2+...+n)total+=sum;//累加變量sum遍歷的每項累加和

}returntotal;}varn,sum;WScript.StdOut.WriteLine("n=");n=

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論