2010年1月29日 星期五

2010/01/29 文數字排序

由"in.txt"讀取一串的文字或數字,將其按數字、大寫英文字母、小寫英文字母排序。

出自  程式設計隊訓練教材  NO.9 文數字排序

輸入範例:
DoYouHave1456879DollarsToBorrow
輸出範例:
1456789BDDHTYaaelloooooorrrsuvw

2010年1月28日 星期四

2010/01/28 平均數、眾數

用亂數產生一個含有50個整數的數列,該數列中之各元素值範圍在170到180之間(包含170與180),請由小到大逐一在螢幕上顯示(以10為一組,分列印出),並列印出此數列之平均數、眾數及此眾數出現之次數。
說明:平均數為所有數之總和除以數列之元素各數
     眾數則是此數列中,出現次數最多的數(若有兩個以上的眾數,則逐一列出)

出自  程式設計隊訓練教材  NO.14 平均數、眾數

2010年1月27日 星期三

2010/01/27 年曆轉換

由"in.txt"讀取一正整數N,印出生肖及天干地支。(一甲子為60年)

輸入範例:

2000

輸出範例:

豬辛亥

出自  程式設計隊訓練教材  NO.19  年曆轉換

2010年1月26日 星期二

2010/01/26 字串內容

請設計一程式,讀取"in.txt"中A、B兩字串(A長度小於B),並判斷字串A中之所有字元是否依序(不要求相鄰)出現在字串B中(大小寫不分)。

輸入範例:

A=dos
B=Doctor of philosophy

輸出範例:

輸出答案為  是

出自  程式設計隊訓練教材  NO.18  字串內容

2010年1月24日 星期日

2010/01/25 門牌號碼

        有一個程式設計師住在一條街上,這條街上的房子都在路的同一邊且門牌號碼是從1-2-3-4-....連續下來。有一天晚上他牽著他的狗出門散步,出門之後往左邊走,因為溜狗有點無聊,所以她順便把經過的房子的門牌號碼都加起來。隔天晚上他又出門溜狗,但這一次她往右走並且也把經過的門牌號碼加起來。讓他很驚訝的是:這兩次的數字竟然一樣。
當然,這個巧合現象跟這條街共有幾間房子(n),以及他住在第幾間房子(k)有關係。請寫出一個程式找出前十個滿足這樣條件的數對(k,n)。在輸出中有前2個這樣的數對。
每一對數字k,n的長度均為10,向右靠齊。請將檔案輸出至"out.txt"。 ※此題無須"in.txt"

輸出範例:
6  8
35  49

出自  程式設計隊訓練教材 NO.34 門牌號碼

2010年1月21日 星期四

新知識-函數

Split
  用Split可以把字串分成陣列,例:
Private Sub Form_Load()
    Label1.Caption = "德 本 立"
    A = Split(Label1.Caption)
End Sub
結果:A(0) = "德",A(1) = "本",A(2) = "立"
Private Sub Form_Load()
    Label1.Caption = "德,本,立"
    A = Split(Label1.Caption, ",")
End Sub
結果:A(0) = "德",A(1) = "本",A(2) = "立"
Private Sub Form_Load()
    Label1.Caption = "德本立"
    A = Split(Label1.Caption, "")
End Sub
結果:A(0) = "德本立"



Replace
Replace:取代字串
Function Replace(Expression As String, Find As String, Replace As String, [Start As Long = 1], [Count As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare]) As String

取代後的字串=Replace(原字串,要被取代的字串,取代成的字串,[開始搜索位置],[取代的次數],[文字比較的模式])

e.g
Dim strtxt As String
strtxt = "hello"
strtxt = Replace(strtxt, "ll", "AA")
Print strtxt 'heAAo

UCase、LCase
  利用Ucase和LCase可以將字串大小寫轉換:
Text1.Text = UCase("abcDEF123") '結果 = "ABCDEF123"
Text1.Text = LCase("abcDEF123") '結果 = "abcdef123"
全形字元則沒有影響

InStr、InStrRev
利用InStr和InStrRev可以搜尋字串位置:
a = InStr("abcdefg", "c") 'a取得傳值,"abcdefg"是搜索範圍,"c"是要被搜尋的字串
Print a '結果a=3,即是"c"在字串中的第三個字完
利用InStrRev,我們還可以倒轉找尋字串
a = InStrRev("acacacacaca", "c") 'a取得傳值,"c"是要被搜尋的字串
Print a '結果a=10,即是"c"在字串中的從後數上第二個字完
如果找不到字串,將會傳回0


Space
  這個是用來格空格的函數:
Print "a" & Space(11) & "b" & Space(6) & "c" '結果 = a           b      c


引用自

VB範例網--VB函數

http://www.vbex.net/

2010/01/22 費氏數

由"in.txt"讀取一數字n求出第n個費氏數,費氏數定義如下:
           0,當n=0時
f(n)=   1,當n=1時
            f(n-1)+f(n-2),當n>=2時
在此列舉一串數列:0、1、1、2、3、5、8、13、21、34、55、89、144、233,這些就是由0<=n<=13所組成的費氏數。
※(0<=n<=1000)

輸入範例:8

輸出範例:21

出自 程式設計試題匯集 p.43 費氏數

2010/01/21 菱形數字方塊

是寫一程式讀取"in.txt"之數字印出菱形數字方塊,其形狀是由一群小於該數的數字包圍而成,輸出至"out.txt"‧例如:輸入5則輸出形狀為
    1
   121
  12321
 1234321
123454321
 1234321
  12321
   121
    1
輸入2則形狀為
 1
121
 1
※取自程式設計隊 訓練教材 NO.64

2010年1月20日 星期三

2010/1/20 九九乘法


請由"in.txt"中讀取一整數N(1<=N<=9),利用迴圈配合條件指令,印出九九乘法表的前N列至"out.txt"。
※請注意垂直對齊

2010年1月14日 星期四

第一次儲備選手選拔試卷第七題

Ugly number的定義為:該數之質因數必須為2,3,5的組合(Ugly number的質因數可分解為2^x * 3^y * 5^z ,其中x,y,z為正整數)。當x,y,z皆=0時,為第一個Ugly number,其值為1。
例:1,2,3,4,5,6,8,9,10,12,15,這些就是前11個Ugly number。
請從指定目錄"in.txt"讀取一數字N,求出第N個Ugly number,輸出至指定目錄"out.txt"。

輸入範例:15

輸出範例:24

第一次儲備選手選拔試卷第六題

從指定目錄"in.txt"讀取一數字N,求N!的結果數值中,從右邊算來第一個不是0的數字,輸出至指定目錄"out.txt"。
( 0 < N < 10000 )

輸入範例:10

輸出範例:8

第一次儲備選手選拔試卷第五題

數字系統轉換:從指定目錄"in.txt"讀取一正整數,將它轉為16進位後輸出至指定目錄"out.txt"。
(不可使用內定含數轉換)

輸入範例:168

輸出範例:A8

第一次儲備選手選拔試卷第四題

電費計算:從指定目錄"in.txt"讀取一數字作為用電度數計算出電費,輸出至指定目錄"out.txt"。
電費算法為:電錶每月租金30元,用電在40度之內,每度2.2元,40度至100度,每度3元,超過100度,每度3.5元。

輸入範例:80

輸出範例:270

第一次儲備選手選拔試卷第三題

計算二數成績的數字個數:從指定目錄"in.txt"讀取二個四位數正整數,相乘的積,計算該數字0到9的數字個數,輸出至指定目錄"out.txt"。
如1255*2100=2635500,結果有0有2個,2有1個,3有1個,5有2個,6有1個。其他個有0個,不用顯示。

輸入範例:1255 2100

輸出範例:02 21 31 52 61

第一次儲備選手選拔試卷第二題

判斷質數:從指定目錄"in.txt"讀取一數字,判斷是否為質數輸出至指定目錄"out.txt"。
("是質數","不是質數")

輸入範例:197

輸出範例:是質數

第一次儲備選手選拔試卷第一題

找出最小數字:從指定目錄中的"in.txt",讀入一數字字串,以逗號分隔,找出字串中最小字數。
輸出到指定目錄的"out.txt"。
(讀取指定目錄的in.txt, 請用 open app.path & "\in.txt" for input as #1 )
※今後皆以指定目錄形式完成VB

輸入範例:
26,56,78,99,15,13

輸出範例:
13

2010年1月7日 星期四

彰商vb隊

新開個溝通的地方囉。
彰商程式隊,加油。