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

正文內容

計算機教程_編程基礎-資料下載頁

2024-10-18 20:15本頁面
  

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