2010-08-10 26 views
0

任何人都可以用我正在努力做的vb代碼來幫助我。在編程方面,我只是一個新手。模式設計的vbscript代碼

練習說: 獲得從用戶的整數n,打印出根據用戶輸入在屏幕上下面的圖案 模式1 - 當n是3時,有5行總 圖案2 - 時,n爲4,有7排共計

在輸出模式1應該是這樣的

* 
*** 
***** 
*** 
    * 

回答

1

分而治之是解決這些問題的方式,與大多數的計算問題。

因此,將您的任務分解爲子問題。我可以看到三個子問題:

計算行數

創建一個函數,它ň作爲輸入,並返回行的總數。我會留給你決定這個邏輯,也許你可以擴展它,使其適用於更廣泛的數字範圍?也許有一個隱藏的公式或返回值背後的特定邏輯?或者說,你只需要一個選擇案例陳述。

工作了最大的線寬

想想如何在邏輯上解決這個問題,你有什麼需要了解的格局繼續此步驟後?我認爲你需要弄清楚中間行的寬度是多少。那將是一個很好的起點。我們知道調用前一個函數的最大線寬,這就是我們需要計算出最大線寬的所有信息。

打印結果圖像

你現在知道中行基於以前寫的功能,以及中間行的最大尺寸這張照片的數量。您現在應該可以正確地循環打印字符,但是您必須弄清楚如何填充空格以正確對齊字符。

0

輸入設置你的鑽石

' Building up to the peak 
for (i = 1, i <= input, i++) 
{ 

dots = 1 + (2 * (i-1)) 
peakdots = 1 + (2 * (input - 1)) 
spaces = (peakdots - dots)/2 
wscript.echo spaces & dots & spaces 

} 

' On the way back down 
for (i = (input - 1), i > 1, i--) 
{ 
dots = 1 + (2 * (i-1)) 
peakdots = 1 + (2 * (input - 1)) 
spaces = (peakdots - dots)/2 
wscript.echo spaces & dots & spaces 

} 

for循環需要從C風格的微調的中點(峯值),但內容應該工作原樣。