廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 18819 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
a0910980869
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x2 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x2
[Basic][求助] 求教學VB2008 數字金字塔&紅綠燈[已解決]
這兩題我不知該怎麼著手請大大幫幫我!!
題目如下:
一、寫一個程式顯示如下的金字塔圖案:
             
需要的物件有:Label *1
   
二、請用Light01.gif~Light03.gif( 、 、   )
寫一個燈 ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



[ 此文章被a0910980869在2009-12-16 15:40重新編輯 ]


獻花 x0 回到頂端 [樓 主] From:台灣教育部 | Posted:2009-12-08 16:48 |
x09818
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x3 鮮花 x23
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
Re:數字金字塔
題目分析:
我把結果分成3段
題目分析
1.填補空白:因為有15層所以第一行填補15-1=14個.第二行填補15-2=13個...以此類推~
解:程式04-07行以一個迴圈 由1到 (n-i) 來填補空白~
2.產生順向字串:第一行1個.第二行2個....~
解:程式08行~利用行數取個位數~累加形成
3.產生反向字串:第一行0個.第二行1個....~
解:利用順向字串少取1位重複字[Mid(tempstr, 1, Len(Str(tempstr)) - 2)].再作字串反轉[StrReverse]即可.

複製程式
 
01        Dim n As Integer = 15 
02        Dim tempstr As String = "" 
03        Label1.Text = "" 
04        For i As Integer = 1 To n 
05            For j As Integer = 1 To (n - i) 
06                Label1.Text &= "  " 
07            Next 
08            tempstr &= Mid(Str(i), Len(Str(i)), 1) 
09            Label1.Text &= tempstr & StrReverse(Mid(tempstr, 1, Len(Str(tempstr)) - 2)) & vbCrLf 
10        Next 


如果Label1屬性text預設為空白 則第3行可以省略
如果Label1屬性textalign預設為topcenter 則第5~7行可以省略
如果預設只有15層 則第1行可以省略 變數n改為15
反之~要9層..則第1行=15改為=9

ps.大於15層.因為字串長度計算會出問題「字串長度計算因素」~至於為何~請高手詳解吧~
另依照題目分析.程式也可以用陣列下去寫~請各位同學練習吧~
個人解法~請先進指導~


本帖包含附件
zip 1.rar   (2022-06-09 14:13 / 10 KB)  
說明: 執行結果
下載次數:38

此文章被評分,最近評分記錄
財富:50 (by 三仙) | 理由: ^^ 因為您的參與,讓程式設計更容易!!


獻花 x1 回到頂端 [1 樓] From:臺灣中華電信 | Posted:2009-12-11 11:08 |
x09818
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x3 鮮花 x23
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
Re:紅綠燈
依照你的題目解
直接一步一步驅動timer就好~

程式原碼有點長.不過可以設定到小時.分.秒.毫秒.
而且是倒數~
複製程式
    Dim hour, minisec, sec, min As Integer
    Private Sub Form3_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        hour = 0
        min = 0
        sec = 5
        minisec = 0
        Timer1.Enabled = True
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Timer1.Enabled = True
        minisec -= 1
        If minisec < 0 Then
            sec -= 1 : minisec = 60
            If sec < 0 Then
                min -= 1 : sec = 59
                If min < 0 Then
                    hour -= 1 : min = 59
                    If hour < 0 Then hour = 0
                End If
            End If
        End If
        Label1.Text = sec + 1
        PictureBox1.Visible = True
        PictureBox2.Visible = False
        PictureBox3.Visible = False
        If hour = 0 And min = 0 And sec = 0 And minisec = 0 Then
            Timer1.Enabled = False
            sec = 3
            Timer2.Enabled = True
        End If
    End Sub
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        Timer2.Enabled = True
        minisec -= 1
        If minisec < 0 Then
            sec -= 1 : minisec = 60
            If sec < 0 Then
                min -= 1 : sec = 59
                If min < 0 Then
                    hour -= 1 : min = 59
                    If hour < 0 Then hour = 0
                End If
            End If
        End If
        Label1.Text = sec + 1
        PictureBox1.Visible = False
        PictureBox2.Visible = True
        PictureBox3.Visible = False
        If hour = 0 And min = 0 And sec = 0 And minisec = 0 Then
            Timer2.Enabled = False
            sec = 6
            Timer3.Enabled = True
        End If
    End Sub
    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
        Timer3.Enabled = True
        minisec -= 1
        If minisec < 0 Then
            sec -= 1 : minisec = 60
            If sec < 0 Then
                min -= 1 : sec = 59
                If min < 0 Then
                    hour -= 1 : min = 59
                    If hour < 0 Then hour = 0
                End If
            End If
        End If
        Label1.Text = sec + 1
        PictureBox1.Visible = False
        PictureBox2.Visible = False
        PictureBox3.Visible = True
        If hour = 0 And min = 0 And sec = 0 And minisec = 0 Then
            Timer3.Enabled = False
            sec = 5
            Timer1.Enabled = True
        End If
    End Sub
請同學一起練習~

ps. timer屬性interval設為1「如此才能動作到毫秒」
預設PictureBox1-3分別為紅.黃.綠燈圖片.屬性Visible預設為False


本帖包含附件
zip 2.rar   (2022-06-09 14:13 / 12 KB)  
說明: 執行結果
下載次數:64


獻花 x0 回到頂端 [2 樓] From:臺灣中華電信 | Posted:2009-12-11 11:45 |
saisai123321
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x32
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

有冇console ge 寫


獻花 x0 回到頂端 [3 樓] From:未知地址 | Posted:2010-05-04 10:12 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.085083 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言