freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)教程_編程基礎(chǔ)-資料下載頁(yè)

2025-10-09 20:15本頁(yè)面
  

【正文】 中山大學(xué)計(jì)算機(jī)科學(xué)系 函數(shù)定義與函數(shù)調(diào)用 函數(shù)定義 ?定義格式: function 自定義函數(shù)名 ( ) { 函數(shù)體 } ?例 定義一個(gè)函數(shù) Hello( ),這個(gè)函數(shù)的功能是輸出文字 “ 您好! ” 。實(shí)現(xiàn)程序如下: function Hello( ) {//自定義無(wú)參數(shù)的函數(shù) (您好 !)。 } 第 78頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 函數(shù)定義與函數(shù)調(diào)用 函數(shù)調(diào)用 ?與調(diào)用預(yù)定義函數(shù)一樣,對(duì)自定義函數(shù)的調(diào)用形式也是 “ 函數(shù)名 ( )” ?例 改寫(xiě)例 ,通過(guò)函數(shù)調(diào)用實(shí)現(xiàn)文字 “ 您好! ” 的輸出。 ... Hello()。 ?函數(shù)調(diào)用流程 第 79頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 函數(shù)參數(shù)的使用 給函數(shù)添加參數(shù) ?定義函數(shù)的完整格式: function 自定義函數(shù)名 (形參 1,形參 2,...) { 函數(shù)體 } ?參數(shù)作用:為被調(diào)用的函數(shù)傳遞一個(gè)或多個(gè)值 ?定義函數(shù)時(shí)指定的參數(shù)稱(chēng)為 形式參數(shù) (形參 );調(diào)用函數(shù)時(shí)為形參實(shí)際傳遞的值稱(chēng)為 實(shí)際參數(shù) (實(shí)參 ) ?調(diào)用形式: 函數(shù)名 (實(shí)參 1,實(shí)參 2,...) 第 80頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 函數(shù)參數(shù)的使用 例 定義一個(gè)含有參數(shù)的函數(shù) Show(text),它輸出參數(shù) text中的字符串。實(shí)現(xiàn)程序如下: function Show(text) { (text)。 } Show(JavaScript真棒 !)。 第 81頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 函數(shù)參數(shù)的使用 使用多個(gè)參數(shù) ?當(dāng)使用多個(gè)參數(shù)時(shí),函數(shù)調(diào)用的各個(gè)實(shí)參按照其排列的先后順序依次傳遞給函數(shù)定義中的形參。 ?例 定義一個(gè)多參數(shù)函數(shù) Calculate(x,y,op),用于顯示對(duì)形參 x、 y進(jìn)行形參 op指定的運(yùn)算結(jié)果。 function Calculate(x,y,op) {//對(duì)形參 x,y進(jìn)行形參 op指定的運(yùn)算 (如 +、 、 *、 /等 ),并顯示 var exp,result。 exp = x + op + y。 result = eval(exp)。 (x,op,y,=,result)。 } Calculate(3,2,+)。 Calculate(4,5,)。Calculate(6,7,*)。Calculate(8,9,/)。 第 82頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 使用函數(shù)返回值 給函數(shù)添加返回值 ?方法: return 表達(dá)式 。 ?例 編寫(xiě)函數(shù) Max(x,y): function Max(x,y) {//求 x,y中的最大值 var max。 if (xy) max=x。 else max=y。 return max。 //結(jié)束函數(shù),并把變量 max的值作為函數(shù)的返回值 } var m。 m = Max(100,200)。 (Max(100,200)= ,m)。 第 83頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 使用函數(shù)返回值 區(qū)分函數(shù)和過(guò)程 ?只返回 undefined的函數(shù)稱(chēng)為過(guò)程。 ?過(guò)程和函數(shù)的一個(gè)顯著區(qū)別是:過(guò)程調(diào)用單獨(dú)構(gòu)成一條語(yǔ)句;而函數(shù)調(diào)用出現(xiàn)在表達(dá)式中。 ?例 如果一個(gè)正整數(shù)只能被 1和自身整除,那么這個(gè)數(shù)就是素?cái)?shù)。求出 1~100之間的所有素?cái)?shù)。 ?編程思路:如果 p能夠被 … p1之中的任何數(shù)整除,那么 p就不是一個(gè)素?cái)?shù),否則就是素?cái)?shù) 第 84頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 函數(shù)的嵌套調(diào)用 函數(shù)嵌套調(diào)用的形式 ?在一個(gè)函數(shù)定義的函數(shù)體語(yǔ)句中出現(xiàn)對(duì)另一個(gè)函數(shù)的調(diào)用,這就是函數(shù)嵌套調(diào)用,如圖 。 ?當(dāng)一個(gè)函數(shù)調(diào)用另一個(gè)函數(shù)時(shí),應(yīng)該在定義調(diào)用函數(shù)之前先定義被調(diào)用函數(shù)。 第 85頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 函數(shù)的嵌套調(diào)用 ?例 輸入 1個(gè)數(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),最終將這些累加和加起來(lái)就可求解。 第 86頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 函數(shù)的嵌套調(diào)用 解決嵌套調(diào)用引起的效率問(wèn)題 ?當(dāng)使用多個(gè)函數(shù)時(shí),可能會(huì)引起運(yùn)行效率問(wèn)題 ?例 使用單重循環(huán)求 1+(1+2)+(1+2+3)+… +(1+2+… +n) ?編程思路:引入另一個(gè)累加器變量(如 total),使該變量在每次循環(huán)時(shí)累加變量 sum的值 ?例 ,其主要差異是運(yùn)行速度。如果輸入一個(gè)比較大的數(shù)(如 n=10000),那么例 ;而例 ?初學(xué)編程時(shí),要優(yōu)先考慮程序的可讀性 第 87頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 遞歸函數(shù) ?遞歸函數(shù)是指在一個(gè)函數(shù)定義的函數(shù)體中出現(xiàn)對(duì)自身函數(shù)的直接(或間接)調(diào)用。 ?遞歸函數(shù)的引入來(lái)自于對(duì)問(wèn)題的遞歸解決方法。比如,對(duì)于求階乘 10!,可以采用遞歸算法。 ?先計(jì)算 9!的值,然后通過(guò) 10*9!可得出結(jié)果,而要計(jì)算9!,又可以分解為 9*8!,以此類(lèi)推,直至 2*1!,而 1!等于 1。 ?階乘的遞歸定義:對(duì)于 n!,若 n=1,則 n!=1;否則 n!=n*(n1)! 第 88頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 遞歸函數(shù) ?例 設(shè)計(jì)一個(gè)遞歸函數(shù),求階乘 n!的值。 ?在遞歸函數(shù)中有兩個(gè)必不可少的要素: 1)有一個(gè)測(cè)試是否繼續(xù)遞歸調(diào)用的條件,如上例中的 “ if(n=1)”,如果滿(mǎn)足則執(zhí)行 “ fac=1。”,不再遞歸。 2)有一個(gè)遞歸調(diào)用的語(yǔ)句,如上例中的“ fac=n*factorial(n1)?!?。 第 89頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 遞歸函數(shù) ?例 輸入兩個(gè)正整數(shù),求出最大公約數(shù)。 ?編程思路:如果 m能夠被 n整除,那么 n就是最大公約數(shù);否則先求出 m整除 n后的余數(shù) q,然后求除數(shù) n和余數(shù) q的最大公約數(shù)。 function gcd(m,n) {//求兩個(gè)數(shù) m,n的最大公約數(shù) var q,result。 q = m%n。 //q存放 m整除 n后的余數(shù) if (q==0) //如果 m能夠被 n整除, n就是最大公約數(shù) result = n。 else //否則,增、求除數(shù) n和余數(shù) q的最大公約數(shù) result = gcd(n,q)。 return result。 } 第 90頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 變量作用域 ?變量的作用域是指變量起作用的范圍,在該范圍內(nèi)可引用該變量。 ?變量的作用域取決于這個(gè)變量是哪一種變量。 全局變量和局部變量 ?在 JavaScript中,變量分為全局變量和局部變量。 ?全局變量在所有函數(shù)之外定義,其作用域范圍是同一個(gè)程序文件中的所有腳本 ?局部變量是定義在函數(shù)體之內(nèi)(也包括形參變量),只對(duì)該函數(shù)是可見(jiàn)的,而對(duì)其他函數(shù)則是不可見(jiàn)的。 第 91頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 變量作用域 ?例 閱讀以下程序,理解全局變量的作用域。 function Add_10() { x += 10。 //因該函數(shù)未聲明 x,故 x是對(duì)全局 x的引用 } function Add_100() { x += 100。 //因該函數(shù)未聲明 x,故 x是對(duì)全局 x的引用 } var x=0。 //聲明 x為全局變量,因該語(yǔ)句在任何函數(shù)之外 (x=,x)。 x += 1。 //對(duì)全局變量 x增 1 (執(zhí)行 x += 1后, x=,x)。 Add_10()。 //調(diào)用該函數(shù)時(shí),將更改全局變量 x的值,即增 10 (調(diào)用 Add_10()后, x=,x)。 x+=1。 //對(duì)全局變量 x增 1 (執(zhí)行 x += 1后, x=,x)。 Add_100()。 //調(diào)用該函數(shù)時(shí),將更改全局變量 x的值,即增 100 (調(diào)用 Add_100()后, x=,x)。 x+=1。 //對(duì)全局變量 x增 1 (執(zhí)行 x += 1后, x=,x)。 第 92頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 變量作用域 ?如果一個(gè)全局變量和一個(gè)局部變量同名都為 x,那么在局部范圍內(nèi)的變量 x引用是指局部變量,而局部范圍以外的變量 x引用則是指全局變量。另外,如果事先沒(méi)有定義就使用一個(gè)變量,那么JavaScript將把該變量作為全局變量。 ?例 同名變量理解 function double(y) {//顯示 y的翻倍值,形參 y也是局部變量 var x=2*y。 //將 x聲明為局部變量 ,與全局變量 x不會(huì)沖突 (局部變量 x=,x)。 //x引用的是局部變量 x } for(x=0。x6。++x)//對(duì) x賦值,隱式將 x聲明為全局變量 { double(x)。 } 第 93頁(yè) 2021/11/12 中山大學(xué)計(jì)算機(jī)科學(xué)系 變量作用域 使用局部變量避免沖突 ?盡量使用局部變量,以避免與全局變量沖突。 ?例 顯示 1~100之間的所有素?cái)?shù),并且控制每行顯示 5個(gè)素?cái)?shù)。 function IsPrime(n) { if(n1) return false。 var i。 //i聲明為局部變量,與外部的全局變量 i無(wú)關(guān),沒(méi)有沖突 for(i=2。in。i++) if (n%i==0) return false。 return true。 } var i,n=0。//i,n聲明為全部變量 var primes=1~100之間的所有素?cái)?shù) :\n。 for(i=1。i=100。i++) { if(IsPrime(i)) {//若為素?cái)?shù) n++。 //累計(jì)素?cái)?shù)的個(gè)數(shù) primes += i+\t。 //使用制表符 \t,使輸出上下對(duì)齊 if (n%5==0) primes += \n。 //換行, 5個(gè)素?cái)?shù)一行 } } (primes)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1