2008年12月30日 星期二

Microsoft Expression Blend 與 XML 的整合 | Anistar Blog

 

Expression Blend的Data面板中有個非常有趣的項目,就叫做+XML

Microsoft Expression Blend 與 XML 的整合 | Anistar Blog

Multiple MediaElements

<Canvas>
  <MediaElement x:Name="mediaElem1"
       Source="file:///c:/windows/media/tada.wav"
       LoadedBehavior="Manual" />
  <MediaElement x:Name="mediaElem2"
       Source="file:///c:/windows/media/Windows Logoff Sound.wav"
       LoadedBehavior="Manual" />
</Canvas>

IanG on Tap - entries for Friday 25 January, 2008

2008年12月29日 星期一

Visual Basic How Do I Video Series

 

On this page you will find dozens of videos designed for all Visual Basic developers, from the novice to the professional. New videos are added regularly, so check back often.

Visual Basic How Do I Video Series

2008年12月27日 星期六

以自訂函數方式依多重條件訂立售價

註:

 image

 image

Excel的自動計時器,設定每N秒重算1次

image

'Excel的自動計時器,設定每2秒重算1次

Sub Test1()
myTimer (2)
End Sub
Sub myTimer(secN)
   Dim StartTime As Single
   Do While True
       StartTime = Timer
       Do While Timer < StartTime + secN
           DoEvents
       Loop
       SendKeys "{F9}", True
   Loop
End Sub

2008年12月23日 星期二

「超越Java:探討程式語言的未來」書評

 

寫程式要克服兩種困難:附屬性(accidental)的困難是因為用的編程工具不對才會難,而本質上困難的東西是沒有任何工具或語言能解決的

「超越Java:探討程式語言的未來」書評 - The Joel on Software Translation Project

軟體人員面試教戰守則 - The Joel on Software Translation Project

有頭腦,並且能完成工作 (Smart, and Gets Things Done.)

The Joel on Software Translation Project:軟體人員面試教戰守則 - The Joel on Software Translation Project

給資訊科系學生的建議 - The Joel on Software Translation Project

 

The Joel on Software Translation Project:給資訊科系學生的建議 - The Joel on Software Translation Project

STATISTICA VISUAL BASIC 線上教學

第七章 STATISTICA VISUAL BASIC

符合企業規格標準之STATISTICA Visual Basic 語言(整合至STATISTICA 中),提供使用者另一個界面,使用STATISTICA 全功能,而且並不僅如“補充應用環境程序語言”般,更提供使用者編寫語言,擴充需求。STATISTICA Visual Basic提供STATISTICA 內部物件模式結構的優點,而且可以透過語言的編寫,連結STATISTICA 詳細的功能特質,即使是最複雜的分析與圖表,也可以記錄於Visual Basic巨集中,供往後重覆使用;或者,也可以用於編輯至其他應用程式的部份架構內。STATISTICA Visual Basic新增超過10,000個新的函數,用於標準Microsoft Visual Basic的廣泛語法上,其中包含著發展環境在內。

詳見:http://www.statsoft.com.tw/support/onlinetech/onlinetech_ch7.htm

2008年12月22日 星期一

程式設計的格言

資料來源:http://genlee.pixnet.net/blog/post/24145562

譯自
http://www2.biglobe.ne.jp/~oni_page/other/etc/pr03.html
http://mixi.jp/view_community.pl?id=1772737
(版本2 2008/10/12更新)
譯註
SE是日本軟體公司裡程式設計師的頭子。自己不太寫程式,

主要工作是跟客戶確認規格。
程式設計師多半自己不面對客戶。
跟PM又不一樣。(有什麼比較貼切的職稱翻譯嗎?)
—————
1
每天有24小時。
所謂的「今天之內」,是指到明天早上為止。
2
程式不會照自己所想的跑。只會照所寫的跑。
3
需求規格在程式寫完後才會敲定。
基本規格要客戶看到成品後才會決定。
詳細規格要使用者用過後才會確定。
4
我對軟體設計的方式導出的結論,有兩種方式。
一是把軟體設計得單純到很明顯不會有缺陷,
不然就是把軟體設計得複雜到沒有明顯的缺陷。
- C.A.R.Hoare
5
程式碼不要在開發現場寫! 去客戶那寫!
除錯不要在期限前做! 上線後再做!
6
畫面藍了。
7
先說「沒辦法」的人贏。
8
有意見的話你寫
9
要殺一個程式設計師不需要刀,改三次規格就好
10
首先要先懷疑別人,被懷疑的人或許會把問題解決掉。
(註:通常會「先懷疑自己」)
11
開發沒有終點。只有釋出(release)。
12
無論規格多晚才能確定,結案期限永遠不會變。
這是所謂的「期限守恆定理」。
13
客戶總是覺得水跟追加需求是不用錢的。
14
付錢愈計較的客人愈囉唆。
15
在排定開發行程時,總是視而不見一些連小學生都會的算數。
業務部門總是一堆不知道1+1=2的人。
16
一個人掛了大家都掛了。
17
bug過了一晚可能就變成規格了。
18
好的規格找一個天才不如找三個凡人。
爛的規格找一百個凡人不如找一個天才。
19
客製軟體中30%的價格用在確認規格上。
30%用在修改規格上。
30%用在找bug。
結果初期規格反映在價格上占的比例只有10%。
20
對客戶來說SE是部下,程式設計師是家畜。
對SE來說客人是錢,對程式設計師來說顧客是看不見的病毒。
除了弄完程式以外,沒有其他驅除的辦法。
21
顧客想受SE喜歡,要自己了解到系統開發需要時間與金錢,早點確定規格。
SE想受顧客喜歡,則要讓程式設計師討厭自己。
22
很多SE跟程式設計師都暗自想著有錢有閒的話什麼系統都想自己動手做,
不過都沒這種機會。
23
品質的劣化程度依規格改變的次數與規模而定。
24
業務是認為空想能夠實現的夢想家。
SE則是深信任何障礙都能突破的冒險家。
程式設計師則是被夢想家和冒險家拋到漆黑海裡的漂流者。
25
有才能的程式設計師第一次看到設計細節時,要先理解程式的目的。
接下來要設法讓SE了解到以指定的方法、工時並無法完成這個工作。
26
程式是運氣與直覺堆砌而成的奇蹟。
若不具備這兩者,不可能以這樣的工時實現這樣的規格。
修改規格是對奇蹟吐槽的褻瀆行為。
而追加修改則是相信奇蹟還會重現的無謀行動。
27
程式設計師聽了「把自己當作顧客去著想!」而開始思考。
啊,像夢一樣。
28
對於因為興趣而寫程式的人來說,所謂的技術是程式語言能力。
對於因為工作而寫程式的人來說,所謂的技術是邏輯思考能力與人際溝通能力。
程式語言可以看著手冊溝通,客戶不行。
29
程式系統在交貨之前會不斷縮小。
先用元件定義取悅老闆。
再拿經費概算要部長妥協現實的方案。
在運用會議中,課長會嘗試減少自己責任範圍。
在細節會議中,負責人會把範圍縮到自己記得的部分。
30
SE需要持久力,程式設計師需要爆發力。
31
準時離開公司,工作會變多。
32
完美的程式需要完美的時間與金錢。
聽說揮霍著美國的國家預算的NASA,也覺得時間跟錢不夠。
33
詳細設計要在程式碼的註解裡做完。
註解是唯一的自衛手段,至少要讓自己看懂。
34
還有時間看程式碼的話就執行他。
CPU跑得比腦細胞快。至少這時候可以休息。
35
程式的異常該稱為「bug」還是「規格上的限制」是看期限還剩多久決定的。
36
所謂便服日,好像社會上把他叫做假日
(註) 日本有些公司會有所謂便服日(不用穿西裝的日子),通常是星期五,但…
37
地獄持續一段時間後,充滿殺氣的怒吼會變多。
再持續一段時間,說話會變少但牢騷會變多,壟罩在凝重的氣氛裡。
再持續下去,反而會海闊天空,四周洋溢充滿活力的聲音。
這種狀態稱為「Programmer’s High」,也是倒下來的人開始出現的時候。
38
遠處的火災一定燒到這裡。
39
禱告,然後跑吧。
40
程式不是用腦記的,要用身體記住。
41
明天能放假的話死了也罷。
42
外面有下雨耶,昨天開始下的嗎?
43
若不能心靜不移,身體會掛。
若不讓自己殘忍,自己會被殺。
44
客戶會說謊,業務會作夢,SE會做白日夢。
程式設計師則惦惦。(愈來愈自言自語)
45
(日文文字遊戲)
SE總是不負責的說「別逞強」,
業務總是無理取鬧不准說「沒辦法」。
46
規格書就像航海圖,客戶則是洋流。洋流陰晴不定,航海圖就變垃圾。
程式設計師必須在沒有航海圖的海上憑自己的力量找到大陸。
47
再嘮嘮叨叨下去也是要付錢的。
48
多想個10秒鐘,你可以不說「嗯,這個做得到」。
49
人是無法從別人失敗記取教訓的動物。
砍成本、改規格、加需求、趕上線,從來沒有人從眾多失敗中記取教訓。
50
老手用來提振精神的魔法格言:
「不過比起以前來說算是…」
新人用來提起幹勁的魔法格言:
「把這件工作做完的話…」他們還不知道工作是沒有終點的。
51
所謂交案期限,是指開發現場從公司換到客戶那裡的日子。
52
程式、SE、經理不是職務。是逃不掉的責任。
53
業務是最難搞的客戶。
54
能夠迅速想到解法的程式設計師太多了。
他們能用一分鐘想到方法,用一天去寫程式。
不需要花一小時想到解法,再用一小時去寫程式。
- Jon Bentley
55
漂亮的規格,可以從沒有bug出現看出來。
明明爛的就是設計,為什麼是這樣…
56
上線後的除錯才叫做bug。
57
追加需求確定後交貨期限就無法確定,
交貨期限確定後追加需求就無法確定。
這稱為「追加需求與交貨期限的測不準原理」。
58
除三個錯就會冒出一個錯。
這稱為bug的無窮迴圈。
59
不祥的預感總會實現。
不過程式設計師不會去煩惱不祥的預感,那是SE的工作。
60
要解決地獄的辦法,就是客戶把錢交出來。
61
不懂電腦的操作者是發現bug的天才。而且無法重現。
62
每次開會就更改規格的客戶,
他的操作手冊要等到操作寫好的程式後才能寫出來。
63
搞不懂的時候,Currency(長整數)比Interger(整數)好用。
Variant(字串、數字都能存的萬能變數)又比Currency(長整數)好用。
安全第一。
(VB程式設計師如是說)
64
啊,那是微軟的規格。
65
程式設計師所不滿的規格也一定會讓客戶不滿。
(這是說程式設計師覺得難寫的地方常常是SE溝通有落差)
66
程式設計師需要的技能,
包括交涉、時程管理、業務分析、提案、設計、程式語言、架構、維護、使用。
SE需要的技能則減掉程式語言、架構、維護與使用。
專案經理需要的能力則再減掉業務分析、提案與設計。
業務需要的能力再扣掉時程管理。
67
正因為健康,才能做不健康的事。
68
規、規格、是規格啦。不過有一點跟規格不太一樣啦。
69
那是你說的規格。
70
開發室沒有窗戶,那是因為以前…
71
爛了也是因為規格。
72
SE: 真沒辦法。
PG: 也沒註解。
(碰到不知道是誰寫的程式,大家都束手無策的狀態)
73
為什麼你不能兩三下解決掉他啦。
因為之前兩三下搞定的東西也被你兩三下就否定了。
74
不會動的bug就只是普通的bug。(會動的bug則能視為規格)
75
今天好好清理bug,bug應該死光了吧。
咦?Windows也死了唷。
76
客戶不會去想最壞的情況。要他面對最壞的情況,他會認為是漫天開價。
SE則會顧慮最壞的情況,準備應付最壞的情況。
程式設計師比誰都早預料到最壞的情況,而無視最壞的情況。
77
唯一不產生bug的方法,就是不寫程式。
第二好的方法,就是在時程跟人員確定之後的每次改規格,都重新檢視過整個專案。
78
共同責任是程式設計師的責任。
管理職?那是啥?好吃嗎?我沒吃過耶。
79
如果可以改行的話,想找個準時下班不叫「逃跑」的工作。
80
對職業程式設計師來說,漂亮的程式是單純而自然的邏輯、簡單而基本的指令、豐富的註
解,
也就是新手程式設計師也能馬上動手改的程式。
而要寫出這樣的程式,需要單純、簡單、美麗的規格。
但可惜客人總是喜歡搞很複雜。
81
設計者應該是不該要求製作者製作出超過設計以上內容的吧…
82
無論是做的比規格書裡的多,還是只照規格書裡的寫,SE都會找程式設計師的碴。
所以程式設計師只做規格書裡的寫的內容。
83
SE對程式設計師說的「常識」每三小時變一次。
84
自己看規格書。不能跑的是規格。
85
「沒辦法」是要看把一天當多少小時來算。
一天常常指的是3人日,一個月常常是指4.5人月喔。
86
工時要減掉一半的單體測試與一半的系統測試,
而交貨期則要另外加上上線後的兩個月。
87
能拿到錢的規格變更稱為「受理項目」,
拿不到錢的規格變更則稱為「SE的規格確認失誤」。
程式設計師是這麼看的。
88
累了。我想睡了。可以回家嗎。
(累了吧,我也累了。好累喔怎麼了。反正就是規格啦,管他的)
89
試圖降低成本的話,為了配合預算,品質會下降,不過漫天開價做出來的品質也不見得好
到哪裡去。
90
REDO到底該怎麼唸一直搞不懂。是利斗嗎、李度嗎、R E D O嗎,難道是 red 零 嗎? 拜
託加上注音吧。
(譯註:我比較煩惱 Linux)
91
有人在程式碼註解裡寫日記。像「今天是雨天…」,「想回家…」之類的。甚至還有「修
改日: 2003/10/10 不能同意你更多」這種註解出現。說到這個,好像也看過「吃大便」
這樣的註解。
92
小學生時第一次看到電腦
國中時第一次學會怎麼用
高中與大學學會程式語言
出社會後才發現自己走錯路
93
「不要讓老闆當業務比較好」
94
說來說去,要去研究根本不知道為什麼會動的東西為什麼不會動了,找拿破崙來也沒搞頭

————————
ex 1
就算程式裡沒bug,編譯器會有bug。
就算編譯器沒bug,OS會有bug。
就算一切都沒bug,客戶會決定什麼是bug。
ex 2
規格與規格書是不同的東西。
ex 3
比期限更重要的是靈感與睡眠。
ex 4
比知識與經驗重要的是手冊與時間。
ex 5
能動就好了,能動的話…
ex 6
過了三天就是別人寫的程式碼。
ex 7 (大搜查線系列)
規格變動不是在會議室裡發生的!是在現場發生的!
ex 8 (大搜查線系列)
異常不是在模擬測試時發生的!是上線後才會發生的!
ex 9
漂亮的設計三天或許就膩了
骯髒的設計三天就習慣了
ex 10
bug與規格是一體兩面
ex 11
電腦裡沒有bug,bug常在人心。
ex 12
無論怎麼檢查,不管怎麼確認,上線前一晚就是睡不著。(RFC968)
ex 13
估價需要1%的經驗與99%的直覺
ex 14
沒有什麼事情比直接讓找不到任何bug的程式直接上線還要可怕的了。
ex 15
『程式設計師』=能將SE條理不通的說明翻譯成程式碼的高手
『SE』=與客戶討論改寫規格書、與程式設計師討論後再改寫規格書,程式出貨後還要
繼續改寫規格書的人
『PM』=每天修改自己定下的行程表的人
『業界老鳥』=臉色蒼白缺乏表情的人
『外包』=幫不會寫程式的正職員工寫程式的人
『coding』=複製貼上的工作
『單體測試』=指開始寫程式
『除錯』=把程式碼註解掉的工作
『新同事』=在火燒屁股的專案火上加油的人
『出貨日』=把只完成一半的系統上線的日子
『末班電車』=業界平均的下班時間
『颱風假』=一年一度可以準時下班的業界假日
ex 16
當誰寫的程式碼跑出bug時,那個人大概都不在了(墨菲定理?)
ex 17
最終手段
「重開機」
意外的常常都很有效
ex 18
最強藉口
以前「那是硬體的極限」
現在「那是Windows的規格」
ex 19
「程式碼的可信度,不會比寫的人還可信。」

2008年12月21日 星期日

資料型別摘要 (Visual Basic)

 

Visual Basic 語言參考

資料型別摘要 (Visual Basic)

WPF FrameworkElement 成員 (System.Windows) 的方法、屬性、事件詳細資料

 

提供 WPF 架構層級屬性集、事件和 Windows Presentation Foundation (WPF) 項目的方法。這個類別 (Class) 代表所提供的 WPF 架構層級實作 (Implementation),建置在由 UIElement 所定義的 WPF 核心層級 API 之上。

FrameworkElement 成員 (System.Windows)

2008年12月17日 星期三

雙跳跳球VB6版




Dim dx, dy
Dim dx1, dy1
Private Sub Form_Load()
dx = 1
dy = 1
dx1 = 1
dy1 = 1

Timer1.Interval = 20
r.FillColor = vbYellow
End Sub

Private Sub Timer1_Timer()
If r.Left > 6480 Then dx = -1
If r.Left < 1 Then dx = 1
r.Left = r.Left + 150 * dx

If r.Top > 3960 Then
dy = -1
r.FillColor = vbRed
End If
If r.Top < 1 Then
dy = 1
n = Int(Rnd * 16)
r.FillColor = QBColor(n)
End If
r.Top = r.Top + 150 * dy

'
'
If t.Left > 6480 Then dx1 = -1
If t.Left < 1 Then dx1 = 1
t.Left = t.Left + 150 * dx1

If t.Top > 3960 Then
dy1 = -1
t.FillColor = vbRed
End If
If t.Top < 1 Then
dy1 = 1
n = Int(Rnd * 16)
t.FillColor = QBColor(n)
End If
t.Top = t.Top + 150 * dy1
End Sub

最大值、第二大值,不Sorting

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '最大值、第二大值,不Sorting
        Dim i
        Dim a() = {2, 5, 1, 3, 4}
        Dim aM1, aM2
        If a(0) > a(1) Then
            aM1 = a(0)
            aM2 = a(1)
        Else
            aM1 = a(1)
            aM2 = a(0)
        End If
        For i = 2 To 4
            If a(i) > aM1 Then
                aM2 = aM1
                aM1 = a(i)
            End If
            If a(i) < aM1 And a(i) > aM2 Then
                aM2 = a(i)
            End If
        Next
        MsgBox("最大值:" & aM1 & "第二大值:" & aM2)
    End Sub
End Class

求最大值最小值

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '最大值
        Dim i
        Dim a() = {2, 4, 5, 1, 3}
        Dim aMax = a(0)
        For i = 2 To 4
            If a(i) > aMax Then aMax = a(i)
        Next
        MsgBox("最大值:" & aMax)

        'aMin 最小值
        Dim aMin = a(0)
        For i = 2 To 4
            If a(i) < aMin Then aMin = a(i)
        Next
        MsgBox("最小值:" & aMin)
    End Sub
End Class

2008年12月16日 星期二

文字、數字處理簡例

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '文字
        'Dim str1 = "王先生"
        'str1 = str1 & vbNewLine
        'str1 = str1 & "您好"
        'MsgBox(str1)

        '數字
        'Dim n1 = 100
        'Dim n2 = 200
        'MsgBox(n1 & "+" & n2 & "=" & n1 + n2)

        '文字 + 數字
        Dim str1 = "王小美"
        Dim str2 = "上課睡覺"
        Dim n1 = 3
        MsgBox(str1 & n1 + 2 & "次" & str2)
    End Sub
End Class

StringBuilder Sample

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '使用String
        Dim str1 = "王先生"
        str1 = str1 & vbNewLine
        str1 = str1 & "您好"
        MsgBox(str1)

        '使用StringBuilder
        Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder
        sb.AppendLine("王先生")
        sb.Append("您好")
        MsgBox(sb.ToString)
    End Sub
End Class

Excel -- 表單與儲存格間的資料傳送

image

image

如何自動執行巨集 ?

Private Sub Workbook_Open()
特定的巨集
End Sub

電腦QA網 :: 討論區

2008年12月15日 星期一

Excel VBA -- Array 與Cells的資料傳送

image

image

Windows 7雲端運算 微軟大挑戰

 

雲端運算換個角度思考,把運算工作搬到網路上(又稱雲端)進行,像現在多數的電子郵件、網路相薄、部落格,其實都是在網路伺服器上進行、而非終端電腦

聯合新聞網 | 財經產業 | 科技產業 | Windows 7雲端運算 微軟大挑戰

2008年12月7日 星期日

RSS 2.0 的規格

<?xml version=”1.0″ encoding=”utf-8″?>
<rss version=”2.0″>
    <channel>
        …
        …
        <item>
            …
            …
        </item>
        <item>
            …
            …
        </item>
        <item>
            …
            …
        </item>
    </channel>
</rss>

(转帖)RSS 2.0 的規格 - 日记 - 学习日记

2008年12月6日 星期六

2008/12/19(五)義民高中研習地圖資料

image

wpf程式設計--圖形List2

加上MouseOver透明度更改功能。

image

<Window x:Class="Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="550" Width="419">
     <Window.Resources>
        <Style TargetType="Image">
            <Setter Property="Width" Value="120" />
            <Setter Property="Margin" Value="5" />
            <Setter Property="Opacity" Value="0.2" />
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Trigger.Setters>
                        <Setter Property="Opacity" Value="1" />
                    </Trigger.Setters>
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style TargetType="ListBox">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListBox">
                        <Border BorderThickness="1" BorderBrush="Black">
                            <ScrollViewer>
                                <StackPanel IsItemsHost="True" Orientation="Vertical"/>
                            </ScrollViewer>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <StackPanel Margin="93,32,98,0" Height="441" VerticalAlignment="Top">
            <Label FontSize="30" HorizontalAlignment="Center">Image List</Label>
            <ListBox Width="155" HorizontalAlignment="Center" Height="385">
                <Image Source="Humpback Whale.jpg" />
                <Label FontSize="12" HorizontalAlignment="Center">Humpback Whale</Label>
                <Image Source="Oryx Antelope.jpg"  />
                <Label FontSize="12" HorizontalAlignment="Center">Oryx Antelope</Label>
                <Image Source="Toco Toucan.jpg"  />
                <Label FontSize="12" HorizontalAlignment="Center">Toco Toucan</Label>
                <Image Source="Green Sea Turtle.jpg"  />
                <Label FontSize="12" HorizontalAlignment="Center">Green Sea Turtle</Label>
            </ListBox>
        </StackPanel>
    </Grid>
</Window>

wpf程式設計--圖形版的List

image

<Window x:Class="Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="550" Width="419">
     <Window.Resources>
        <Style TargetType="Image">
            <Setter Property="Width" Value="120" />
            <Setter Property="Margin" Value="5" />
        </Style>
        <Style TargetType="ListBox">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListBox">
                        <Border BorderThickness="1" BorderBrush="Black">
                            <ScrollViewer>
                                <StackPanel IsItemsHost="True" Orientation="Vertical"/>
                            </ScrollViewer>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <StackPanel Margin="93,32,98,0" Height="441" VerticalAlignment="Top">
            <Label FontSize="30" HorizontalAlignment="Center">Image List</Label>
            <ListBox Width="155" HorizontalAlignment="Center" Height="385">
                <Image Source="Humpback Whale.jpg" />
                <Label FontSize="12" HorizontalAlignment="Center">Humpback Whale</Label>
                <Image Source="Oryx Antelope.jpg"  />
                <Label FontSize="12" HorizontalAlignment="Center">Oryx Antelope</Label>
                <Image Source="Toco Toucan.jpg"  />
                <Label FontSize="12" HorizontalAlignment="Center">Toco Toucan</Label>
                <Image Source="Green Sea Turtle.jpg"  />
                <Label FontSize="12" HorizontalAlignment="Center">Green Sea Turtle</Label>
            </ListBox>
        </StackPanel>
    </Grid>
</Window>

2008年12月5日 星期五

VB6升級VB2008教學研習

 

研習課程介紹

項目
內容

研習名稱
VB6升級VB2008教學升級

依據文號
1.依據97年度高中職社區化合作計畫辦理。 2.依據義中教字第0970004988號函辦理。

課程內容大綱
1.vb2008升級教學
2.VB6升級VB2008

上課日期
2008/12/19 至 2008/12/19

報名日期
2008/12/1 起 至 2008/12/17 止

課程時段
週一至週五白天 /

課程時間及地點…等詳細描述
1.研習日期:97年12月19日上午10:00~12:00
2.研習地點:義民高中勤學大樓1樓電腦教室
3.研習講師:吳進北老師
4.校址:新竹縣竹北市中正西路15號。

班別性質
非學分班

課程性質
高中(含完全中學高中部及綜合中學高中部) / 教學 / 資訊教育類科 / 無

研習時數 / 學分數
2 小時 / 學分
(僅非學分班以小時計算,學分班、學位班皆以學分數為單位)

參加對象
高中(含完全中學高中部及綜合中學高中部) / 高職(含綜合高中高職部)  教師

學員繳費方式

繳費金額
0 元 (學分班、學位班繳費金額以每一學分為單位)

開班班數
1 班

各班人數
35 人

承  辦  人
姓 名:謝蘭名
聯絡電話:03-5552020-130
E-Mail:聯絡人1_Mail

學校資訊
新竹縣 私立義民高中
[302]新竹縣竹北市中正西路15號
(03)5552020
www.ymsh.hcc.edu.tw

全國教師在職進修資訊網

2008年12月2日 星期二

ZDNet Taiwan - 新聞 - 網路通訊 - 奇摩公佈2008十大人氣關鍵字

 

十大人氣關鍵字排行榜。今年奪冠的「腳踏車」搜尋量高達1600萬次,其他分別為:裝潢、法拍屋、保全、房貸、風水、減肥、懷孕、租屋、旅行社。

ZDNet Taiwan - 新聞 - 網路通訊 - 奇摩公佈2008十大人氣關鍵字

Learning: 2008/03/19 ~ 2008/12/02 分類整理

技藝競竇相關

技藝競竇95年模擬試題參考答案 Q2 (過橋問題)

技藝競竇97年模擬試題參考答案 Q1

技藝競竇97年模擬試題參考答案 Q2

技藝競竇97年模擬試題參考答案 Q3

技藝競竇97年模擬試題參考答案 Q4

技藝競竇97年模擬試題參考答案 Q5

技藝競竇97年模擬試題參考答案 Q6

技藝競竇97年模擬試題參考答案 Q7

最長子字串例

cc ho老師找到提供的「最長子字串」演算法連結

研討會相關

【高雄】97-2 教師專業發展 從VB6~VB2008教學無痛升級教師研習

VisualBasic 6~VisualBasuc 2008無痛升級與選手訓練教師研習

技術合作處 -- 「從VB6~VB2008無痛升級與選手訓練研習」活動開始報名,歡迎老師踴躍參加

2008/10/25 僑光技術學院 VB2008無痛升級、技藝競賽程式設計比賽研討會 投影片下載

WPF 範例

WPF MouseMove活用之象棋程式

WPF多物件MouseMove例

WPF版的 MouseMove Sample

WPF Video 按鈕控制版

WPF 資料Binding

WPF子母視窗影片例

WPF影片播放簡例

WPF相關

MSDN Expression Blend 2文件

WPF 基本概念範例

WPF 架構

WPF面板概觀

XAML 概觀

XAML 語法術語

WPF配置系統

WPF對齊、邊界和填補概觀

WPF控制項撰寫概觀

WPF使用自動配置概觀

WPF針對自動配置使用格線

WPF使用自動配置建立按鈕

WPF資料繫結概觀

Windows Presentation Foundation (WPF) - Home

Windows Presentation Foundation (WPF) - Release: W...

Download details: .NET Framework 3.5 Service pack ...

WPF的Hyperlink使用方法

Getting Started with "WPF/E" (Code Name)

Windows Presentation Foundation 簡介

WPF Videos - WindowsClient.net

數位媒體: 使用 WPF 在控制項及 3D 表面上加入視訊

DispatcherTimer 類別 (System.Windows.Threading)

VB2008

Visual Basic 6.0 IDE大限已至

VB2008門口的爛泥巴

Visual Basic 命名慣例

Help 及智慧提示使用例

vb2008的即時運算視窗

vb2008即時運算視窗的使用

Visual Basic 2008 提供的新增與改良功能

VB6 升級至 Visual Basic2005 的新功能

Visual Basic 編碼慣例

比較不同語言的資料型別

比較不同語言的運算子

比較不同語言的關鍵字

以不同語言的程式碼範例比較程式發展觀念

比較不同語言和程式庫的控制項與程式物件

VB2008 -- If Loop

巢狀If例

Select 例

迴路入門練習題目

升級vb2008的迴路修改簡例

邏輯函數及IF結構的演練例子

Visual Basic 2008 迴路的六種樣式簡例

氣泡排序詳解

巢狀迴路練習題 6題

VB2008 – 字元、字串處理

字元統計例

字元統計例II

字串的上下左右方向控制

VB2008 -- 副程式、檔案、陣列

傳入三個參數的副程式

VB2008的四種資料位置安排方式

讀入檔案並打散至陣列中

將資料檔擺在方案中的方法

技能競賽的讀寫檔案參考方法

VB2008 – 繪圖

VB2008繪圖指令簡例

如何使Form1_Load中的繪圖指令有作用(一)

如何使Form1_Load中的繪圖指令有作用(二)

以寬螢幕測試網頁於非寬螢幕顯示狀況的小秘訣

VB2008 – 與Office互動

用VB2008讀寫Excel的準備工作

讀取Excel資料至VB2008中

由VB2008輸出資料至Excel中

加入Microsoft Office 11.0 Object Library的方法

只去除空白列

去除Word2003選取字元中所有空白的巨集

從VB2008呼叫Word2003去掉doc檔中的空白

VB2008 -- LINQ

LINQ的ArrayList查詢

LINQ的陣列查詢

VB2008 -- 其他

21世紀有172個13日星期五?

ArrayList 說明例

賽車

英文簡介產生器

二個時間之間的時分秒差

利用Enter鍵切換至下一個文字方塊

以Enter事件改變作用中TextBox的顏色及字體大小

以程式碼動態產生Button

去除特定字元

My 架構簡表

三種程式設計錯誤

MSDN 的WithEvents 和 Handles 解釋

Microsoft.VisualBasic.Left 前綴太長的變通方案

在 C# 中調用 VB.Net 2005 的 My 物件及其他函數

在C#中调用Microsoft.VisualBasic命名空间下的类型验证函数 - 二十四画生的Bl...

在VS2008上開發Silverlight不會出現intellisense的解決辦法

11 Visual Studio 2005 IDE Tips and Tricks to Make ...

97學年度學生技藝競賽

Algorithm

Code Snippet Editor for Visual Basic 2008

Examples of Features Provided by My

Lambda 運算式

Vb寫程式的八個優良習慣 - LineX 討論版

Visaul Basic 教學網

乙級軟體程式設計

人民教育出版社高二數學已經將編程列入

兩種設計軟體的方式

書籍介紹

書籍介紹--學會寫程式Visual Basic 2005

Program

敏捷宣言所揭露出來的價值觀

設計良好的使用介面

軟體系統品質的一個重要環節:軟體架構設計

程式語言學習經過…

微軟對VB6的"It Just Works"支持策略

精彩的VB範例

寫專業的程式才該是一種專業

Vista

vista行列輸入法改回XP的行列輸入法

微軟不懂作業系統?

Excel

保齡球計分範例

SilverLight

Silverlight 2開發工具安裝順序

Silverlight 學習筆記(1)

First Look at Silverlight 2 - ScottGu's Blog

program

CodeProject: Motion Detection Algorithms. Free sou...

Jane's Blog: CSS 命名規則

Java命名慣例

常見註解格式

Blogger & Web

Blogger 的版型概念

CSS範例講解

DIY widgets - How to embed your site on another si...

NKTalk - 技術文件 - 製作 Yahoo! Widget Engine 的 Widget

如何加入Google Search做部落格內部搜尋

安裝與使用Microsoft Live Writer

使用Blogger(1)

使用Blogger(2)

初學部落格的感想

部落格小工具開發參考資料

禁止拷貝網頁內容的入門方法

禁止拷貝網頁內容的入門方法(二)

網頁前端工程(Front-end Engineering)

網頁教學參考

Office

How to Convert PowerPoint to Flash Manually - Web ...

IBM Lotus Symphony 產品試用 - Taiwan

取代的妙用

訊息分享

TIOBE Software: Tiobe Index

iThome online : : 平面設計人員也能開發Ajax網站

Z先生 的 企業Web 2.0觀察講堂

ZDNet Taiwan - 企業應用 - 部落格 - 由電影"海角七號"看台灣自由軟體力量整合大不...

ZDNet Taiwan - 新聞 - Web應用 - 紐約時報發行人:不在乎實體報紙存不存在

ZDNet Taiwan - 新聞 - 網路通訊 - Android與 iPhone:南轅北轍的開發...

ZDNet Taiwan - 新聞 - 數位產品 - 耶魯MBA院長將執掌「蘋果大學」

博客來書籍館>Visual Basic 2008啟蒙範例書(附光碟)

iThome online : : 微軟發表Silverlight 2 中文版開發工具下月支援

CodeProject: Moving Toward WPF Data Binding One St...

ZDNet Taiwan - 企業應用 - 部落格 - [網路部落格]讓電腦發呆的常見操作

ZDNet Taiwan - 新聞 - 企業軟體 - Adobe在RIA市場的下一步:持續整合產品

矇矇的秘密基地 - 不要從程式語言學習「物件導向」!

ZDNet Taiwan - 新聞 - Web應用 - Ballmer暗示會有「Windows Cl...

ZDNet Taiwan - 新聞 - 企業軟體 - 參加PDC可拿到初期版Windows 7

如何進入程式設計的領域 蔡學鏞 - GGDD的专栏 - CSDNBlog

给用户造成伤害7大技术评选出炉 Outlook入选

[Cloud Computing]雲端現況--Google Cloud - IT邦幫忙::IT知識分...

專家建議:五種最值得學習的JAVA開發技術 — IT技術 - 賽迪網

:::工研院學習服務網-專題學習-人機互動的發展近況:::

:::工研院學習服務網-專題學習-【王品集團個案全解析】從149萬到50億的成長之路:::

附加價值

溪流何其寬,但水量卻何其少

沙加緬度州立大學錄得20%增長 修讀電腦學生止跌回升_新聞頁_北美新浪網

一篇好文,以在迷茫时阅读

「方便」有的時候,不見得是好事 … - 康廷數位- 點部落

系統化學習的必要性 - Google時代電腦書存在的意義 - 康廷數位- 點部落

系統化學習的必要性 - Google時代電腦書存在的意義 - 康廷數位- 點部落

Silverlight 2.0 之前 … - 康廷數位- 點部落

Silverlight 2.0 的改良 - 康廷數位- 點部落

Silverlight 2.0 繁體中文版11月推出 - 康廷數位- 點部落

【Silverlight 2.0 - Web 應用程式開發 X RIA 實踐(Using C#)】 ...

發展前景看好 雲計算處於備受關注的青春期 — IT產品 - 賽迪網

網路瀏覽器市場硝煙又起 _中國經濟網——國家經濟門戶

[ 小黑宅 ]: 程式文

[ 小黑宅 ]: 程式文

funP 快看- 如何跟與自己想法不同的人相處

十個軟體設計師應該有的觀念

“史上最黑黑客”将被引渡到美国 面临70年监禁

你知道這些科技新字怎麼念嗎?Linux, Google, Youtube, SQL, Xoops, ...

中文參考用書

ZDNet Taiwan - 新聞 - 企業軟體 - Silverlight 2中文版11月推出

Foreword - zhpy - Google Code - 前言

:::工研院學習服務網-專題學習-【圖解賽局理論】綜觀全局,預知競爭對手的行動:::

:::工研院學習服務網-專題學習-智慧型居家空間的重要推手—無線感測網路:::

「決定未來的10種人」

「業餘的」詹宏志

21 世紀要有的能力

333333法則

Apple 成功的關鍵是「科技」還是「社會」?

Artifical intelligence

Background knowledge

Constant Practice

General Motors 給Microsoft的評價

Google美麗辦公室背後的危機?

Google做的比較成功

iThome online : : 新聞內容

Jack 教學參考網頁

Linux之父10大名言:微软操作系统性能太次 , 操作系统,虚拟化,软件,托

Max's 部落格 - 去聽詹宏志演講

MIS 新理論 -- 摘要

Salut, Leo!: 7/16詹宏志演講"web3.0"的重點整理

Statistics

Sun Tzu on The Art of War (Part 1)

Supervised algorithm

The Secret of Janfusun Fancy World | 數位時代 Beta2.0

USB藍芽接收器,安裝設定步驟 - Yahoo!奇摩知識+

Web X 網路近未來 - Web 2.0 & It’s Economy

What is 43 Things? on 43 Things

Wozniak鼓勵工程師:選擇你真心所愛

ZDNet Taiwan - 新聞 - 企業軟體 - Windows 7細節10月揭曉

ZDNet Taiwan - 新聞 - 企業軟體 - 賽門鐵克:防毒掃瞄 95%是多餘

了解對未來的 TechNet 網站最新的想法和計畫

不要再把「資訊管理」當「知識管理」

用「PAGE」檢驗智慧型機器人的能力

立體圖例

企業的資產,是由領域與軟體專家們的合作所累積而成的

有實踐價值的夢想!

朱學恆阿宅萬事通事務所 - 詹宏志大人的網海餘生六講.....

努力與堅持不懈

其他10%可能得要好幾年才能補齊

垃圾郵件已出現30週年

知識管理的重點在「有用」

金庸在浙江大學招博士生的考卷

科技新字怎麼念

迪士尼的啟示!好故事才是關鍵 | 數位時代 Beta2.0

時間管理的要點

校園博覽會 - 升大學考生 - 校系停看聽 - 校系FAQ》台大電資學院

記憶體清理的聯想

除了證照以外

換cpu的聯想

等待3秒

詹宏志先生的演講影片連結

詹宏志第四講 / 部落格風雲 –佳言美句整理

資料不是愈多愈好

電子商務之降龍十八掌 -- 第一掌:亢龍有悔 -- 摘要(一)

電子商務之降龍十八掌 -- 第一掌:亢龍有悔 -- 摘要(二)

電腦人判斷傳聞的真假

電腦用多少年最划算

電腦其實是個笨東西

電腦相關考試的經驗分享

電腦連不上網路英文怎麼講?

電腦黑白學

電腦讓你喜歡的對象,對你說你想聽的話

對硬碟容量大小的描述

熟練的無能!

線上文件出版的編輯整理用 Blog 好還是 Wiki 好?

隨身碟及硬碟的速率比較

勵志小故事-自信與友善

每日一句

2008/04/11 每日一句

2008/04/12每日一句

2008/04/13每日一句

2008/04/14每日一句

2008/04/15每日一句

2008/04/16每日一句

2008/04/17每日一句

2008/04/18每日一句

2008/04/19每日一句

2008/04/20每日一句

2008/04/21每日一句

2008/04/22每日一句

2008/04/23每日一句

2008/04/24每日一句

2008/04/25每日一句

2008/04/26每日一句

2008/04/27每日一句

2008/04/28每日一句

2008/04/29每日一句

2008/04/30每日一句

2008/05/01每日一句

2008/05/02每日一句

2008/05/03每日一句

2008/05/04每日一句

2008/05/05每日一句

2008/05/06每日一句

2008/05/07每日一句

2008/05/08每日一句

2008/05/09每日一句

2008/05/10每日一句

2008/05/11每日一句

2008/05/12每日一句

2008/05/13每日一句

2008/05/14每日一句

2008/05/15每日一句

2008/05/16每日一句

每日一小品

2008/05/17每日一小品

2008/05/18每日一小品

2008/05/19每日一小品

2008/05/20 每日一小品

2008/05/21 每日一小品

2008/05/23每日一小品

2008/05/26每日一小品

Windows Presentation Foundation (WPF) - Home

 

This project is the portal for accessing the WPF Toolkit and the WPF Futures releases.

Windows Presentation Foundation (WPF) - Home

Windows Presentation Foundation (WPF) - Release: WPF Toolkit - October 2008 Release

 

Downloads & Files

Application WPFToolkit_Binaries

application, 322K, uploaded Oct 28 - 7654 downloads

Source Code WPFToolkit_BinariesAndSource

source code, 751K, uploaded Oct 28 - 6852 downloads

 

Windows Presentation Foundation (WPF) - Release: WPF Toolkit - October 2008 Release

Download details: .NET Framework 3.5 Service pack 1

 

Download details: .NET Framework 3.5 Service pack 1

WPF 基本概念範例

http://msdn.microsoft.com/zh-tw/library/ms771689.aspx

WPF資料繫結概觀

http://msdn.microsoft.com/zh-tw/library/ms752347.aspx

WPF針對自動配置使用格線

http://msdn.microsoft.com/zh-tw/library/ms752074.aspx

WPF使用自動配置建立按鈕

http://msdn.microsoft.com/zh-tw/library/ms750941.aspx

WPF使用自動配置概觀

http://msdn.microsoft.com/zh-tw/library/ms748828.aspx

WPF面板概觀

http://msdn.microsoft.com/zh-tw/library/ms754152.aspx

WPF對齊、邊界和填補概觀

http://msdn.microsoft.com/zh-tw/library/ms751709.aspx

WPF配置系統

http://msdn.microsoft.com/zh-tw/library/ms745058.aspx

WPF 架構

http://msdn.microsoft.com/zh-tw/library/ms750441.aspx

WPF控制項撰寫概觀

http://msdn.microsoft.com/zh-tw/library/ms745025.aspx

XAML 語法術語

http://msdn.microsoft.com/zh-tw/library/ms788723.aspx

2008年11月29日 星期六

【高雄】97-2 教師專業發展 從VB6~VB2008教學無痛升級教師研習

高雄】97-2 教師專業發展 從VB6~VB2008教學無痛升級教師研習

‧活動簡介
一、程式設計課程為職、大專院校必修課程,且為台灣產業界近幾年來大量需求之人才重要專長技能之一,業界與學界皆十分重視。為培養及建立基礎程式教育人才,採用目前最新版本的VisualBasic 2008程式開發軟體辦理研習,希望能協助參與研習教師,藉此研習熟悉新的開發工具,並精進程式設計教學能力。
二、從VisualBasic 6升級至VisualBasic 2008的教學無痛升級。

‧活動類別
研討會

‧區域別
南區

‧主辦單位
高雄市立高雄 / 實習處

‧開始研習日期
2008/12/1

‧結束研習日期
2008/12/1

‧研習地點
百齡大樓五樓1504電腦教室

‧研習地址
高雄市新興區五福二路三號

 

辦理單位:碁峰資訊網址連結

2008年11月28日 星期五

技藝競竇95年模擬試題參考答案 Q2 (過橋問題)


' 二、過橋問題 (15%)
' 有n個人想要在晚上過橋,橋上每次最多只能容許兩個人行走。由於全部只有一支手電筒,
' 所以每次兩個人拿著手電筒過橋後,必須有一人再把手電筒拿回來,這樣後面的人才能繼續過橋。
' 每個人走路的速度不同,過橋所需的時間也因此不同。而每次過橋的那兩個人,其花費的時間以較慢的那個人計算
' (走的快的當然要等走的慢的,因為只有一支手電筒)。你的任務是寫一個程式,安排這n個人過橋,
' 並使得總共花費的時間最少。
' 輸入規範
' 輸入檔案的第一列有一個正整數,代表以下有多少組測試資料。每組測試資料的第一列有1個整數n,
' 代表要過橋的人數(最多不會超過1000人)。接下來的n列,每列有1個整數,代表這n個人過橋所需的時間(秒),
' 這些時間均不會超過100秒。
' 輸入的第一列與第一組測試資料之間,以及各組測試資料之間均有一空白列(請參考輸入範例)。
' 輸出規範
' 每組測試資料輸出的第一列為一個整數,代表這組中n個人過橋所需的最少時間。
' 接下來的列為達到此最少時間的過橋方式。每列有1個或2個整數代表過橋的人
' (每個人以其過橋所需的時間代表。雖然可能有2人過橋時間相同,但那並不會影響結果)。
' 請注意,過橋的順序是去、回交替的,因為需有一人把手電筒帶回。
' 以第一組輸出為例說明:最少需17秒才能讓這4個人過橋。
' 方式為:1秒、2秒的人先過橋,1秒的回來,5秒、10秒的過橋,2秒的回來,最後1秒、2秒的過橋,
' 所以總共的時間為:2+1+10+2+2=17。
' 如果有不止一種方式可以達到最少時間,輸出任何一種均可。輸出資料的組間亦請空一列。
' 輸入範例(test2.txt)
' 2

' 4
' 1
' 2
' 5
' 10

' 4
' 1
' 98
' 99
' 100
' 輸出範例(result2.txt)
' 17
' 1 2
' 1
' 5 10
' 2
' 1 2

' 299
' 1 100
' 1
' 1 99
' 1
' 1 98


' 過橋問題不限定人數版

Public Class Form1
Dim dlist As New ArrayList
Dim slist As New ArrayList
Dim resultStr = ""
Dim resultStr1 = ""
Dim total = 0

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
Dim fileContents As String
fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Test2.txt")
Dim recArray = Split(fileContents, vbNewLine)
Dim ternN = Val(recArray(0))

Dim recIndex = 2
For j As Integer = 1 To ternN
Dim dataN = Val(recArray(recIndex))

For i As Integer = 1 To dataN
slist.Add(Val(recArray(recIndex + i)))
Next
slist.Sort()

total = 0
resultStr = ""

bridge(slist, dlist, slist.Count)

resultStr = total & vbNewLine & resultStr
resultStr1 = resultStr1 & resultStr & vbNewLine

recIndex = recIndex + dataN + 1 + 1
Next
'MsgBox(resultStr1)
My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\result2.txt", resultStr1, False)
End
End Sub

Sub bridge(ByVal slist, ByVal dlist, ByVal n)
If n = 2 Then
slist.sort()
resultStr = resultStr & slist(0) & " " & slist(1) & vbNewLine
total = total + IIf(slist(0) > slist(1), slist(0), slist(1))
dlist.Add(slist(0))
dlist.Add(slist(1))
slist.Remove(slist(1))
slist.Remove(slist(0))
Else
slist.Sort()
If n = 3 And (slist(2) - slist(1)) > (slist(1) - slist(0)) Then
slist.Reverse()
resultStr = resultStr & slist(1) & " " & slist(0) & vbNewLine
Else
resultStr = resultStr & slist(0) & " " & slist(1) & vbNewLine
End If
total = total + IIf(slist(0) > slist(1), slist(0), slist(1))
dlist.Add(slist(0))
dlist.Add(slist(1))
slist.Remove(slist(1))
slist.Remove(slist(0))
dlist.Sort()
resultStr = resultStr & dlist(0) & vbNewLine
total = total + dlist(0)
slist.Add(dlist(0))
dlist.Remove(dlist(0))
bridge(slist, dlist, n - 1)
End If
End Sub
End Class

技藝競竇97年模擬試題參考答案 Q7


' Problem7:奥步戰術(17%)
' 在黑暗算法界中,使用奧步解題似乎已經漸漸成為主流。雖然使用奧步將漸漸使人走向魔路,最後被內心的虛無吞
' 噬,不過這不是今天的問題。考慮在某個考試中,有n 道題目,而總答題時間為T。對於每題都只有三種可能:
' 1. 正解能得到全對的分數(得2 分)
' 2. 奧步能拿到半對(得1 分)
' 3. 放棄的話當然就沒分囉(0 分)
' 而對每題來說,要達到這三種分數所需花的時間皆不同,所有題目拿0 分都不用花費時間;在題目i 使用奧步拿半
' 對所需時間為Hi,要寫正解所需時間為Ci ,其中對於任何題目i,必有滿足0' 試問:在時間T 內,用最佳的答題方式,最多可以拿幾分?
' 輸入說明:
' 輸入檔第一行說明有幾組測試資料,第二行有兩個整數n 和T,分別代表有幾題,以及總作答時間。接下來n 行每
' 行有兩個整數Ci 和Hi,代表第i 題寫正解需要時間Ci,寫奧步需要時間Hi。其中:
'  題目總數n≤100000
'  答題所需時間1≤Hi,Ci≤1000000
'  總作答時間0' 輸出說明:
' 每個測試範例請輸出一個整數,代表最大得分。
' 輸入範例:
' 2
' 5 12
' 4 3
' 6 2
' 5 3
' 4 3
' 5 2
' 4 10
' 5 3
' 6 5
' 3 1
' 4 3
' 輸出範例:
' 6
' 5


Structure recData
Dim c As Integer
Dim h As Integer
Dim cR As Single
Dim hR As Single
Dim isC As Boolean
Dim isUsed As Boolean
End Structure
Public Class Form1
' Dim debugStr = ""
Dim resultStr = ""
Dim score = 0
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
Dim a(100000) As recData
Dim fileContents As String
fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Test7.txt")
Dim recArray() = Split(fileContents, vbNewLine)
Dim recN = Val(recArray(0))

Dim recIndex = 1
For j As Integer = 1 To recN
'read data for one turn
Dim dataArray = Split(recArray(recIndex), " ")
Dim dataN = Val(dataArray(0))
Dim t = Val(dataArray(1))
For i = 1 To dataN
dataArray = Split(recArray(recIndex + i))
a(i).c = Val(dataArray(0))
a(i).h = Val(dataArray(1))
a(i).cR = 2 / a(i).c
a(i).hR = 1 / a(i).h
a(i).isC = True
a(i).isUsed = False
Next
'proc one turn

Dim c = 1
While t > 0 And c <= dataN
'find the max
Dim pMax As Single = 0
Dim maxIndex = 0
For i3 = 1 To dataN
If a(i3).cR > pMax And a(i3).isUsed = False Then
pMax = a(i3).cR
maxIndex = i3
End If
Next
For i3 = 1 To dataN
If a(i3).hR > pMax And a(i3).isUsed = False Then
pMax = a(i3).hR
maxIndex = i3
a(i3).isC = False
End If
Next

'accmulate score and subtract the time
If a(maxIndex).isC = True Then
t = t - a(maxIndex).c
score = score + 2
'debugStr = debugStr & a(maxIndex).c & a(maxIndex).h & "C" & vbNewLine
Else
t = t - a(maxIndex).h
score = score + 1
' debugStr = debugStr & a(maxIndex).c & a(maxIndex).h & "H" & vbNewLine
End If
a(maxIndex).isUsed = True

c = c + 1
End While
' MsgBox(debugStr)
resultStr = resultStr & score & vbNewLine

' clear data for next turn
ReDim a(100000)
score = 0
recIndex = recIndex + dataN + 1
Next

MsgBox(resultStr)
'My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\result7.txt", resultStr, False)
End
End Sub
End Class

技藝競竇97年模擬試題參考答案 Q6


' Problem6:中文大寫數字(13%)
' 我們在金融機構填寫金額時使用的不是阿拉伯數字,而是中文的大寫數字。請寫一個程式將數字轉換為中文大寫數
' 字。
' 標準大寫寫法如下:零、壹、貳、參、肆、伍、陸、柒、捌、玖、拾、佰、仟、萬、億
' 輸入說明:
' 整數數字n (0 ≤ n ≤ 2147483647)。
' 輸出說明:
' 文字字串,遇到10 時,請輸出『壹拾』。
' 輸入範例:
' 12345
' 10200
' 輸出範例:
' 壹萬貳仟參佰肆拾伍
' 壹萬零貳佰
'
' 這一題只考慮測試資料會錯的很離譜
' 這個程式可以處理102345=>壹拾萬貳仟参佰肆拾伍情況

Public Class Form1
Dim resultStr = ""
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
Dim strB = "零壹貳參肆伍陸柒捌玖"
Dim strA = "0123456789"

Dim fileContents As String
fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Test6.txt")
Dim recArray() = Split(fileContents, vbNewLine)

Dim recIndex = 0
While recArray(recIndex) <> ""
Dim strS = recArray(recIndex)
Dim strT = "" '暫存每次一筆記錄轉成之字串
Dim numT = Mid(strB, InStr(strA, Mid(strS, Len(strS), 1)), 1)
strT = numT
Dim level = 1 '單位
For i = Len(strS) - 1 To 1 Step -1
Dim strLevel = Choose(level, "拾", "佰", "仟", "萬", "拾", "佰", "仟", "億", "拾")
numT = Mid(strB, InStr(strA, Mid(strS, i, 1)), 1)
If numT = "零" Then
If strLevel = "萬" Or strLevel = "億" Then
strT = numT & strLevel & strT
Else
strT = numT & strT
End If
Else
strT = numT & strLevel & strT
End If
level = level + 1
Next

'修飾strT
If Len(strT) > 3 Then
If Microsoft.VisualBasic.Left(strT, 3) = "壹拾零" Then
strT = Microsoft.VisualBasic.Left(strT, 2) & Mid(strT, 4, Len(strT) - 3)
End If
Else
strT = "壹拾"
End If

'改連續零為一個零
Dim pre = "零"
Dim strT1 = ""
For j = Len(strT) To 1 Step -1
If Not (Mid(strT, j, 1) = "零" And pre = "零") Then
strT1 = Mid(strT, j, 1) & strT1
End If
pre = Mid(strT, j, 1)
Next
strT = strT1

'處理零萬狀況
If Microsoft.VisualBasic.Right(strT, 2) = "零萬" Then
strT = Microsoft.VisualBasic.Left(strT, Len(strT) - 2)
End If

If InStr(strT, "拾零萬") <> 0 Then
strT = Replace(strT, "拾零萬", "拾萬")
End If

'處理零狀況
If recArray(recIndex) = "0" Then strT = "零"

resultStr = resultStr & strT & vbNewLine
recIndex = recIndex + 1
End While
MsgBox(resultStr)
' My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\result5.txt", resultStr, False)
End
End Sub
End Class

技藝競竇97年模擬試題參考答案 Q5


' Problem5:糊塗情報員(16%)
' 有一位間諜,依他所屬情報單位要求編碼的方式,將他所收集到情報全部編成數字碼。但他認為這樣還是不夠安全,
' 因此他再將這些數字字串,隨意切割成好幾個整數,然後將每個整數用一個數學算式來表示。這些算式只用了加、減、
' 乘三種運算子,而且每個運算元都是正整數。最後,他為了讓他自己更為心安,他將整個密碼分成兩本密碼簿儲存。密
' 碼本A 存放這些數學算式,但他將算式內的所有括號全部拿掉,然後再將這些拿掉的括號資訊記錄在密碼本B 裡面。
' 過了不久,這個間諜發現他把密碼本B 弄丟了,再加上他的記憶力不好,很多情報內容根本記不得,所以現在沒了
' 密碼本B 幾乎束手無策。在不得已的情況下,他的情報單位派了幾位心理與腦神經專家詢問他,希望能喚起他腦海內的
' 記憶。這些專家試了好幾天,用盡各種辦法後,終於承認他的記憶力果真很差,怎麼也問不出情報內容。倒是心理學專
' 家有一發現,即這位情報員在寫密碼算式時,傾向於將括號加在那些會讓算式得最大值的位置。例如5*7+2 這個算式,
' 有兩種括法:((5*7)+2)以及(5*(7+2)),第二種括法所得的值較大。請寫一程式,算出這些算式的可能最大值。
' 輸入說明:
' 每一筆輸入資料為一行算式,運算子只有三種,即一般的加、減、乘三種二元運算子,分別以符號' +' 、' -' 、' *'
' 表示。每一個運算元都是一個正整數( ≤ 100),運算元和運算子之間不會有空白,一行算式不會有超過50 個運算元。
' 輸出說明:
' 相對於每一輸入算式,輸出所有可能運算結果的最大值。該值都會是一個正整數,而且不會超過2147483647。
' 輸入範例:
' 5*7+2
' 6*3-9*3
' 5+2-7*2-3
' 範例輸出:
' 45
' 27
' 14



Public Class Form1
Dim resultStr = ""
Dim str1 As String
Dim ans As Integer
Dim ans1 As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
Dim fileContents As String
fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Test5.txt")
Dim recArray() = Split(fileContents, vbNewLine)
Dim recIndex = 0
While recArray(recIndex) <> ""
Dim str1 = recArray(recIndex)
proc_one_rec(str1)
recIndex = recIndex + 1
End While

MsgBox(resultStr)
'My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\result5.txt", resultStr, False)
End
End Sub
Sub proc_one_rec(ByVal str1)
'由左而右
ans = Val(Mid(str1, 1, 1))
listStr(str1, 2)
'由右而左
ans1 = Val(Mid(str1, Len(str1), 1))
listStr1(str1, Len(str1) - 1)
Dim ansBig = IIf(ans > ans1, ans, ans1)
resultStr = resultStr & ansBig & vbNewLine
'MsgBox(ansBig & " " & ans & " " & ans1)
End Sub

Sub listStr(ByVal str1, ByVal n)
If n = Len(str1) - 1 Then
Dim op = Mid(str1, n, 1)
Dim opN = Mid(str1, n + 1, 1)
ans = Microsoft.VisualBasic.Switch(op = "+", ans + opN, op = "-", ans - opN, op = "*", ans * opN)
Else
Dim op = Mid(str1, n, 1)
Dim opN = Mid(str1, n + 1, 1)
ans = Microsoft.VisualBasic.Switch(op = "+", ans + opN, op = "-", ans - opN, op = "*", ans * opN)
listStr(str1, n + 2)
End If
End Sub

Sub listStr1(ByVal str1, ByVal n)
If n = 2 Then
Dim op = Mid(str1, n, 1)
Dim opN = Mid(str1, n - 1, 1)
ans1 = Microsoft.VisualBasic.Switch(op = "+", opN + ans1, op = "-", opN - ans1, op = "*", opN * ans1)
Else
Dim op = Mid(str1, n, 1)
Dim opN = Mid(str1, n - 1, 1)
ans1 = Microsoft.VisualBasic.Switch(op = "+", opN + ans1, op = "-", opN - ans1, op = "*", opN * ans1)
listStr1(str1, n - 2)
End If
End Sub
End Class

技藝競竇97年模擬試題參考答案 Q4


' Porblem4:百貨公司打折程式(12%)
' 豪慷慨百貨公司週年慶的打折策略,吸引了許多客人上門,因此公司決定再回饋客戶,當客戶消費超過2000 元時
' 打7 折,消費超過5000 元時打6 折,消費超過10000 元時打55 折。請幫該公司寫出一個新的收銀台程式,輸入顧客購
' 買總金額n 後,計算顧客實際需付的錢。
' 輸入說明:
' 購買金額n
' 輸出說明:
' 實付金額
' 輸入範例:
' 3000
' 6000
' 12000
' 輸出範例:
' 2100
' 3600
' 6600


Public Class Form1
Dim resultStr = ""
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
Dim fileContents As String
fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Test4.txt")
Dim recArray() = Split(fileContents, vbNewLine)
Dim recIndex = 0
While recArray(recIndex) <> ""
Dim amount = recArray(recIndex)
Dim finalAmount = amount
If amount > 2000 Then
finalAmount = amount * 0.7
End If
If amount > 5000 Then
finalAmount = amount * 0.6
End If
If amount > 10000 Then
finalAmount = amount * 0.55
End If
resultStr = resultStr & finalAmount & vbNewLine
recIndex = recIndex + 1
End While
MsgBox(resultStr)
'My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\result4.txt", resultStr, False)
End
End Sub
End Class

技藝競竇97年模擬試題參考答案 Q3


' Problem3:基礎排序(13%)
' 給一堆數字, 把他們從小到大排序好。
' 輸入說明:
' 每組測試資料共有兩行,第一行的數字n 為有幾個數字要排序,第二行則有n 個整數(n ≤1000),其餘整數皆於-10000
' 到10000 之間,測試資料中包含多組測試,當排序個數為0 時結束。
' 輸出說明:
' 輸出已排序好的數列,每個數字之間請用一個空白隔開。
' 輸入範例:
' 5
' 5 4 3 2 1
' 5
' -1 -2 -3 -4 -5
' 0
' 輸出範例:
' 1 2 3 4 5
' -5 -4 -3 -2 -1

Public Class Form1
Dim resultStr = ""
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
Dim fileContents As String
fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Test3.txt")
Dim recArray() = Split(fileContents, vbNewLine)

Dim recIndex = 0
While recArray(recIndex) <> "0"
Dim N = Val(recArray(recIndex))
Dim dataArray() = Split(recArray(recIndex + 1))
For i = 0 To N - 1 - 1
For j = i + 1 To N - 1
If Val(dataArray(i)) > Val(dataArray(j)) Then
Dim tem = dataArray(i)
dataArray(i) = dataArray(j)
dataArray(j) = tem
End If
Next
Next
For i = 0 To N - 1
resultStr = resultStr & dataArray(i) & " "
Next
resultStr = resultStr & vbNewLine
recIndex = recIndex + 2
End While

MsgBox(resultStr)
'My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\result3.txt", resultStr, False)
End
End Sub
End Class

技藝競竇97年模擬試題參考答案 Q2


' Problem2:惱人的零錢(15%)
' 東東在買東西付帳,總是習慣直接從錢包中拿鈔票付帳,而懶得掏出硬幣來。久而久之,錢包裡面累積了許多硬幣,
' 簡直重得不得了,所以東東終於受夠了!因此,她決定趁著今天買東西的時候,想辦法盡量減輕負擔。於是東東開始盤
' 算要怎樣湊出足夠的硬幣,才能讓付出去的硬幣個數越多越好。同時,目前這家店的老闆人很好,不論客人給他多少硬
' 幣,他都一定會用最少的硬幣找錢給客人。所以,當東東走到櫃台結帳時,東東想到自己如果多付一些硬幣讓老闆找錢,
' 說不定可以讓自己的錢包更輕!因此,東東開始煩惱到底要怎麼給錢,才能夠盡量「用掉」最多的硬幣呢(所謂的「用
' 掉」的硬幣個數,指的是拿出去的硬幣數,扣掉老闆找回來的硬幣數)?可惜的是,東東的算術一向不太靈光,因此希
' 望你能幫忙他解決這個煩惱。
' 輸入說明:
' 輸入資料的第一行是一個整數n,代表共有n 筆測試資料。接下來每筆測試資料有3 行:第1 行的數字C 表示要
' 買的東西的價格。第2 行有5 個數字p1 p5 p10 p20 p50,分別是東東錢包裡面一元、五元、十元、二十元和五十元硬幣
' 的個數。第3 行有5 個數字q1 q5 q10 q20 q50,是老闆所擁有的一元、五元、十元、二十元和五十元硬幣的個數。每
' 筆測試資料的所有數字都在0 到10000 之間;同一行的數字之間會用一個空白隔開。你可以假設東東身上的錢足夠來
' 購買該商品,而且至少有一種付錢的方法使得老闆可以找得開(如果需要找錢的話)。因為老闆和東東很不幸地很碰巧
' 地一張鈔票都沒有,請不要問說為什麼不能換成大鈔。
' 輸出說明:
' 你的輸出資料應該有n 行,分別對應到n 筆輸入的測試資料。每一行要輸出一個數字表示東東付完帳之後,剩餘
' 的硬幣總數。
' 輸入範例:
' 2
' 25
' 10 3 2 1 3
' 0 0 0 0 0
' 25
' 0 3 2 2 3
' 1 1 1 1 1
' 輸出範例:
' 6
' 4


Public Class Form1
Dim resultStr = ""
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
Dim fileContents As String
fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Test2.txt")
Dim recArray() = Split(fileContents, vbNewLine)
Dim groupN = Val(recArray(0))
Dim recIndex = 1

For j = 1 To groupN
Dim price = recArray(recIndex)
Dim eeArray() = Split(recArray(recIndex + 1))
Dim bossArray() = Split(recArray(recIndex + 2))

Dim p1 = Val(eeArray(0))
Dim p5 = Val(eeArray(1))
Dim p10 = Val(eeArray(2))
Dim p20 = Val(eeArray(3))
Dim p50 = Val(eeArray(4))

Dim q1 = Val(bossArray(0))
Dim q5 = Val(bossArray(1))
Dim q10 = Val(bossArray(2))
Dim q20 = Val(bossArray(3))
Dim q50 = Val(bossArray(4))

Dim pq1 = p1 + q1
Dim pq5 = p5 + q5
Dim pq10 = p10 + q10
Dim pq20 = p20 + q20
Dim pq50 = p50 + q50

Dim amount = p1 * 1 + p5 * 5 + p10 * 10 + p20 * 20 + p50 * 50
Dim remain = amount - price

Dim n50 = 0
While remain >= 50 And pq50 >= 1
n50 = n50 + 1
remain = remain - 50
pq50 = pq50 - 1
End While

Dim n20 = 0
While remain >= 20 And pq20 >= 1
n20 = n20 + 1
remain = remain - 20
pq20 = pq20 - 1
End While

Dim n10 = 0
While remain >= 10 And pq10 >= 1
n10 = n10 + 1
remain = remain - 10
pq10 = pq10 - 1
End While

Dim n5 = 0
While remain >= 5 And pq5 >= 1
n5 = n5 + 1
remain = remain - 5
pq5 = pq5 - 1
End While

Dim n1 = 0
While remain >= 1 And pq1 >= 1
n1 = n1 + 1
remain = remain - 1
pq1 = pq1 - 1
End While

resultStr = resultStr & (n50 + n20 + n10 + n5 + n1) & vbNewLine
recIndex = recIndex + 3
Next j
MsgBox(resultStr)
'My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\result2.txt", resultStr, False)
End
End Sub
End Class