1 / 62

程式語言 II

程式語言 II. 第8章 函數與程序. 本章大綱. 字串函數 數學函數 時間函數 比較函數 陣列函數 程序 遞迴. 8-1 字串函數. 電腦資料型態可分為數值(如 Integer、Long), 日期( date)、 字串( String)、 不定型( Variant) 等。 專門處理字串資料的函數,稱為字串函數。 字串資料常見的應用,如文字旋轉、走馬燈效果、字串搜尋、取部份子字串( Mid、Right、Left) 等。. 8-1-1 ASC 函數. 語法: ASC(“ 字串”) 說明: 傳回一個整數數值,為字串中第一個字母的字元碼。 實例:

Download Presentation

程式語言 II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 程式語言II 第8章 函數與程序

  2. 本章大綱 • 字串函數 • 數學函數 • 時間函數 • 比較函數 • 陣列函數 • 程序 • 遞迴

  3. 8-1 字串函數 • 電腦資料型態可分為數值(如Integer、Long),日期(date)、字串(String)、不定型(Variant)等。 • 專門處理字串資料的函數,稱為字串函數。 • 字串資料常見的應用,如文字旋轉、走馬燈效果、字串搜尋、取部份子字串(Mid、Right、Left)等。

  4. 8-1-1 ASC 函數 • 語法: ASC(“字串”) • 說明:傳回一個整數數值,為字串中第一個字母的字元碼。 • 實例: Print ASC(“A”)  65 Print ASC(“ABC”)  65 Print ASC(“a”)  97 Print ASC(“0”)  48

  5. 8-1-2 Chr 函數 • 語法: Chr(數值) • 說明:傳回指定ASCII碼所代表的字元。例如大寫英文字母A的ASCII碼為65,所以 Chr(65)傳回A。 • 實例: Print Chr(65)  A Print Chr(97)  a Print Chr(48)  0

  6. 8-1-3 String 字串函數 • 語法 String(n,”字元“ 或ASCII碼) • 說明: 1.n是代表一數值,重複輸出“字元”n次。 2.若“字元”為一字串,則只重覆字串的第一個字元。 3.若“字元”為一數字,則代表ASCII字元。 實例: Print String(6,”A“)  AAAAAA Print String(6,65) AAAAAA

  7. 8-1-4 Len 字串長度函數 • 語法 : Len(”字串“) • 說明: 1.傳回“字串”的長度。 2.中文字雖然是佔2個byte,但其長度還是1。 實例: Print Len(“AAAA“)  4 Print Len(“中華民國”) 4

  8. 8-1-5 Left 左字串函數 • 語法: Left(“字串“,n) • 說明: 傳回“字串”最左邊的n個字元。 實例: Print Left(“ABCDEF”,2)  AB Print Left(“中華民國”,2)  中華

  9. 8-1-6 Right 右字串函數 • 語法: Right(“字串“,n) • 說明: 傳回“字串”最右邊的n個字元。 實例: Print Right(“ABCDEF”,2)  EF Print Right(“中華民國”,2)  民國

  10. 8-1-7 Mid 取子字串函數 • 語法: Mid(“字串“,m,n) • 說明: 從“字串”第m個字元開始,取n個字元。 • 若n省略,則從第m個字元取到“字串”結尾。 實例: Print Mid(“ABCDEF”,2,2)  BC Print Mid(“中華民國”,2,2)  華民

  11. 8-1-8 Space 空格函數 • 語法: Space(數值) • 說明: 傳回指定數值的空格。 實例: Print “ABC”;Space(2);”abc”  ABC abc Print Space(3)+“中華” 中華

  12. 8-1-9 Lcase 強制小寫函數 • 語法: Lcase(“字串“) • 說明: 不論字串內的字元為大寫或小寫,強制轉為小寫輸出。 • 實例: Print Lcase(“ABCabc”)  abcabc

  13. 8-1-10 Ucase 強制大寫函數 • 語法: Ucase(“字串“) • 說明: 不論字串內的字元為大寫或小寫,強制轉為大寫輸出。 • 實例: Print Lcase(“ABCabc”)  ABCABC

  14. 8-1-11 Ltrim 去左空白函數 • 語法: Ltrim(“字串“) • 說明: 字串左邊所有空白去掉。 • 實例: Print “AB”+Ltrim(“ CDEF”)  ABCDEF

  15. 8-1-12 Rtrim 去右空白函數 • 語法: Rtrim(“字串“) • 說明: 字串右邊所有空白去掉。 • 實例: Print Rtrim(“AB ”)+”CDEF”  ABCDEF Print Rtrim(“中華 ”)+”民國”  中華民國

  16. 8-1-13Trim 去掉前後空白函數 • 語法: Trim(“字串“) • 說明: 字串前後所有空白去掉。 • 實例: Print Trim(“ AB ”)+Trim(” CD ”)  ABCD Print Trim(“ 中華 ”)+”民國”  中華民國

  17. 8-1-14 Str 數值轉字串函數 • 語法: Str(數值) • 說明: 將“數值”轉換為字串,一般方便與字串作為連結顯示。 • 實例: Print Str(123)  “123” Print “學生成績:”+Str(90) 學生成績: 90

  18. 8-1-15 Val 數值函數 • 語法: Val(“字串”) • 說明: 1.將“字串”轉換為數值。 2.如字串非數字開頭,則傳回0。 • 實例: Print val(“123”) 123 Print val(“中華”) 0

  19. 8-1-16 Format 格式函數 • 語法: Format("運算式", "輸出格式") • 說明: 1.將運算式的結果,依輸出格式傳回。 2.格式有數值、日期、時間、字串,以及使用者自定日期/時間格式、字串格式。 • 實例: • Print Format("1230","currency")  NT$1,230.00

  20. 8-1-16 Format 格式函數(續) • 數值範例: Formatl(1000, "standard") 1,000.00 Formatl(1234.661, "fixed") 1234.66 • 符號定義數值格式範例: Format(1234.5678,"####.##") 1234.57 Format(1234.5678,"####.##%")123456.78% • 日期及時間格式範例: Format(now, "m/d/yy")  2/6/03 Format(now, "yyyy年m月d日" )2003年2月6日 • 符號定義字串格式範例: Format("Happy", "<@@@@@@@" ) happy 強迫小寫 Format("Happy", ">@@@@@@@" ) HAPPY 強迫大寫

  21. 8-1-17 Tab 定格函數 • 語法: Tab(n) • 說明: 1.n為數值,在游標所在資料行的第n個位置(格)顯示。 2.n最小值為1,若n大於表單的顯示寬度時。則不顯示。 3.Tab函數通常會配合Print使用,用以指定資料行顯示的位置。 • 實例: Print Tab(10); "test" 空格10 test

  22. 8-2 數學函數 Abs 取絕對值函數 Fix 取最大整數值函數 Int 取整數函數 Sqr 開平方函數 Rnd 亂數函數 Sgn 正負號函數 Hex 16進位函數 Oct 8進位函數 Log 自然對數函數 Exp 指數函數

  23. 8-2-1 Abs 取絕對值函數 • 語法: Abs(數值) • 說明: 將數值取絕對值,如Abs(-5),則為+5。 • 實例: Print Abs(-2)  2 Print Abs(-2.2)  2.2 Print Abs(4.4)  4.4

  24. 8-2-2 Fix 取最大整數函數 • 語法: Fix(數值) • 說明: 取數值的最大整數值,小數點無條件捨去。 • 實例: Print Fix(-2.2)  -2 Print Fix(2.2)  2 Print Fix(4)  4

  25. 8-2-3 Int 取整數函數 • 語法: Int(數值) • 說明: 1.傳回小於或等於數值的最大整數。 2.數值為正值,則Int及Fix函數傳回整數部份相同;當數值為負數時,Int函數傳回小於或等於該數之最大整數。 • 實例: Print Fix(-2.2)  -2 Print int(-2.2)  -3 Print int(2.2)  2

  26. 8-2-4 Sqr 開平方函數 • 語法: Sqr(數值) • 說明: 1.傳回數值的平方根。 2.數值必須為正值,若為負數會產生語法錯語。 • 實例: Print Sqr(4)  2 Print Sqr(-4)  錯誤

  27. 8-2-5 Rnd 亂數函數 • 語法: Rnd() • 說明: 1.傳回0到1之間的亂數,0<=Rnd()<1。 2.如要產生x到y之間的亂數,公式為Int((y-x+1)*Rnd)+x。 3.使用Randomize,可產生不同亂數表。 • 實例: Print Rnd()  0.612 0<= 數值 <1 Print Int(Rnd*5+1)  1<= 數值 <=5

  28. 8-2-6 Sgn 正負號函數 • 語法: Sgn(n) • 說明: 1.n為數值。 2.若n>0,則傳回1。 3.若n=0,則傳回0 。 4.若n<0,則傳回-1 。 • 實例: Print Sgn(0)  0 Print Sgn(2)  1 Print Sgn(-2)  -1

  29. 8-2-7 Hex 16進位函數 • 語法: Hex(x) • 說明: 1.x為數值,傳回x所代表的16進位。 2.Hex(x)傳回Variant型態 • 實例: Print Hex(10)  A Print Hex(17)  11

  30. 8-2-8 Oct 8進位函數 • 語法: Oct(x) • 說明: 1.x為數值,傳回x所代表的8進位。 2.Oct(x)傳回Variant型態 • 實例: Print Oct(12)  14 Print Oct(8)  10

  31. 8-2-9 Log 自然對數函數 • 語法: Log(x) • 說明: 1 Log(x) 是以e為底的對數函數值,一般稱為自然對數函數,e約等於2.718282。 2.x必須大於0。 • 實例: Print Log(1)  0 Print Log(2.718282)  1.00000006310639

  32. 8-2-10 Exp指數函數 • 語法:Exp(x) • 說明 : Exp(x)是以e為底的指數函數,用以計算ex之值。 • 實例: Print exp(1) -> 2.71828182845905 Print exp(2) -> 7.38905609893065

  33. 8-2-11 Sin 函數 • 語法:Sin(x) • 說明 : 1.Sin(x) x是為徑度量。 2.傳回x的正弦函數值,其值的範圍在-1到1之間 3.一個圓=360度=2pi徑度, 所以1徑度=360/2pi • 實例: pi=3.1415926 print sin(30/180*pi) -> 0.49999999226498

  34. 8-2-12 Cos 函數 • 語法:Cos(x) • 說明 : 1.Cos(x) x是為徑度量。 2.傳回x的餘弦函數,其值的範圍在-1到1之間 • 實例: pi=3.1415926 print cos(30/180*pi) -> 0.866025408250255

  35. 8-2-13 Tan 函數 • 語法:Tan(x) • 說明 : 1.Tan(x) x是為徑度量。 2.傳回x的正切函數。 • 實例: pi=3.1415926 print tan(30/180*pi) ->0.577350257280783

  36. 8-3 時間函數 本節要介紹VB 時間函數如下: • Now • Date • Time • Year • Month • Day • Hour • Minute • Second

  37. 8-3-1 Now 函數 • 語法:Now • 說明 : 傳回系統現在的日期和時間。 • 實例: Print now 2003/01/31 7:12:04

  38. 8-3-2 Date 函數 • 語法:Date • 說明 : 傳回系統現在的日期。 • 實例: Print Date 2003/01/31

  39. 8-3-3 Time 函數 • 語法:Date • 說明 : 傳回系統現在的時間。 • 實例: Print Date 7:15:09

  40. 8-3-4 Year 函數 • 語法:Year ("日期") • 說明 : 傳回系統日期的年份。 • 實例: Print now 2003/01/31 7:17:06 Print year(now) 2003

  41. 8-3-5 Month 函數 • 語法:Month ("日期") • 說明 : 傳回系統日期的月份。 • 實例: Print now 2003/01/31 7:17:06 Print Month(now) 1 Print Month("1/29/2003") 1

  42. 8-3-6 Day 函數 • 語法:Day("日期") • 說明 : 傳回系統日期的日數。 • 實例: Print now 2003/01/31 7:17:06 Print Day(now) 31 Print Day("1/29/2003") 31

  43. 8-3-7 WeekDay 函數 • 語法:WeekDay("日期") • 說明 : 1.傳回系統現在日期的星期幾。 2.星期天,傳回1,星期一,傳回2,依此類推,星期六,傳回7。 • 實例: Print now 2003/01/31 7:17:06 Print Weekday(now) 6 <=星期五

  44. 8-3-8 Hour 函數 • 語法:Hour("時間") • 說明 : 傳回系統現在時間,24小時制,值從0到23,表示一天之中的某個時段。 • 實例: Print now 2003/01/31 7:17:06 Print Hour(now) 7

  45. 8-3-9 Minute 函數 • 語法:Minute("時間") • 說明 : 傳回系統現在時間之分鐘,值從0到59,表示一小時中的某個分鐘。 • 實例: Print now 2003/01/31 7:17:06 Print Minute(now) 6

  46. 8-3-10 Second 函數 • 語法:Second("時間") • 說明 : 傳回系統現在時間之秒數,值從0到59,表示一分鐘中的某個秒數。 • 實例: Print now 2003/01/31 7:17:06 Print Second(now) 56

  47. 8-4 比較函數 本節要介紹VB 比較函數如下: • IIF 判斷函數 • Choose 選擇函數 • InStr 字串比對

  48. 8-4-1 IIF 函數 • 語法:IIf(運算式或判斷式,真區,偽區) • 說明 : 1.若運算式為真,則執行真區,否則執行偽,並傳回結果。 2.真區及偽區可為運算式、字串或數值。 3.判斷式為真,電腦顯示True,反之為False • 實例: a=10 : b=20 Print a>b => False Print iif(a>b,”真“,”假“) => 假

  49. 8-4-2 Choose 函數 • 語法:Choose(n,運算式1[,運算式2]…) • 說明 : 1.若運算式個數,從1至最多13個。 2.若n<1或n大於運算式個數,則傳回nul(空)。 • 實例: Print choose(3,”一“,”二“,”三“,”四“) 三

  50. 8-4-3 InStr 函數 • 語法:InStr(n,字串1,字串2[,比較模式]) • 說明 : 1.於字串1中從第n個字元開始與字串2逐一比對,如果字串2包含於字串1,則傳回字串2於字串1的起始位置。 2.比較模式可為0或1,若為1則大小寫字母視為相同,若為0則大小寫不同,若省略則VB預設為0l。 • 實例: Print Instr(1,”abcdefg”,”cde“) => 3 Print Instr(1,”abcdefg”,”Ade“) => 0 Print Instr(1,”海青工商”,”工“) => 3

More Related