2019年1月5日 星期六

Z2B實作

Fo2實作試題說明:
專案名稱:Z2B56-For2                                    電腦崗位:
一、表單佈建:
1表單大小:600,500       
2表單標題:「資256陳俊華-迴圈2實作」
3三個文字方塊:位置為(80,60),(180,60),(280,60),字型皆(新細明體,12)
               寬度皆設為60,文字顯示分別  2, 15 , 3
4五個按鈕:位置為(25,350),(125,350) ,(225,350) ,(325,350) ,(425,350),字型皆(標楷體,13)
               大小皆設為(85,45),文字顯示分別 「產生1」「產生2」「產生3」「消除」「填數」
               背景色為 Gold 字顏色皆 Blue
二、程式規定:每個功能6%
 0、表單一載入:將按鈕4、5設為不啟動
 1、按按1:(1)輸入文字方塊1~3分別為A,B,C
              (2)For迴圈產生k= A To B Step C N 標籤控制項陣列,但N最多12
              (3)標籤的大小皆(30,40),位置為(35,150),(70,150),(105,150)...
              (4)標籤皆有框線,背景色顏色為 RGB 亂數產生
              (5)字型皆為("微軟正黑", 10)、文字顯示 k
              (6)然後將按鈕1~3設為不啟動,將按鈕4、5設為啟動
 2、按按2:(1)輸入文字方塊1~3分別為A,B,C
              (2)For迴圈產生k= A To B Step C N 標籤控制項陣列,但N最多10
              (3)標籤的大小皆(30,25),位置為(385,30),(385,60),(385,90)...
              (4)標籤皆有框線,背景色顏色為 RGB 亂數產生
              (5)字型皆為("微軟正黑", 10)、文字顯示 k
              (6)然後將按鈕1~3設為不啟動,將按鈕4、5設為啟動
 3、按按3:(1)以雙重For迴圈產生2列各6個標籤控制項
              (2)標籤的大小皆(30,40),第1列位置為(35,130),(70,130),(105,130)...
                                  ,第2列位置為(35,180),(70,180),(105,180)...
              (3)標籤皆有框線,背景色顏色為 RGB 亂數產生
              (4)字型皆為("微軟正黑", 10)、文字顯示 k
              (5)然後將按鈕1~3設為不啟動,將按鈕4、5設為啟動
 4、按紐4:將產生的控制項陣列取消
 5、按鈕5:(1)輸入文字方塊1~3分別為A,B,C
              (2)將標籤的前 A 個的顯示文字修改如下,但A最多N
                  k=1 To A,若k為偶數則顯示文字改為 k*B mod 100
                      k為奇數則顯示文字改為 k+C

 
For2 參考程式碼:
Public Class Form1
    Dim N As Integer = 12 '控制項個數,最多12
    Dim N2 As Integer = 10 '控制項個數,最多10
    Const wd As Integer = 30 '
    Const ht As Integer = 40 '
    Const ht2 As Integer = 25 '
    Const gt As Integer = 5 '間距
    Const VPOS As Integer = 150 ' y 軸位置
    Const HPOS As Integer = 385 ' x 軸位置
    Dim LB(N) As Label
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button4.Enabled = False
        Button5.Enabled = False
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim A As Integer = TextBox1.Text
        Dim B As Integer = TextBox2.Text
        Dim C As Integer = TextBox3.Text
        Dim k As Integer = 0 '個數
        Dim sum As Integer = 0 '
        For i = A To B Step C
            Dim cr As Integer = Int(Rnd() * 256) '紅色的度數 0~255隨機
            Dim cg As Integer = Int(Rnd() * 256) '綠色的度數 0~255隨機
            Dim cb As Integer = Int(Rnd() * 256) '藍色的度數 0~255隨機
            If k >= N Then Exit For
            k += 1 '個數加1
            LB(k) = New Label
            Me.Controls.Add(LB(k))
            With LB(k)
                .Location = New Point(k * (wd + gt), VPOS) '標籤的位置
                .Width = wd '標籤的寬度
                .Height = ht '標籤的高度

                .BorderStyle = BorderStyle.FixedSingle '標籤加框線
                .Font = New Font("微軟正黑", 10)
                .Text = i '標籤顯示的文字
                .BackColor = Color.FromArgb(cr, cg, cb) '背景色:隨機的 紅、綠、藍
            End With
        Next
        N = k
        Button1.Enabled = False
        Button2.Enabled = False
        Button3.Enabled = False
        Button4.Enabled = True
        Button5.Enabled = True
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim A As Integer = TextBox1.Text
        Dim B As Integer = TextBox2.Text
        Dim C As Integer = TextBox3.Text
        Dim k As Integer = 0 '個數
        Dim sum As Integer = 0 '
        For i = A To B Step C
            Dim cr As Integer = Int(Rnd() * 256) '紅色的度數 0~255隨機
            Dim cg As Integer = Int(Rnd() * 256) '綠色的度數 0~255隨機
            Dim cb As Integer = Int(Rnd() * 256) '藍色的度數 0~255隨機
            If k >= 10 Then Exit For
            k += 1 '個數加1

            LB(k) = New Label
            Me.Controls.Add(LB(k))
            With LB(k)

                .Location = New Point(HPOS, k * (ht2 + gt)) '標籤的位置
                .Width = wd '標籤的寬度
                .Height = ht2 '標籤的高度

                .BorderStyle = BorderStyle.FixedSingle '標籤加框線
                .Font = New Font("微軟正黑", 10)
                .Text = i '標籤顯示的文字
                .BackColor = Color.FromArgb(cr, cg, cb) '背景色:隨機的 紅、綠、藍
            End With
        Next
        N = k
        Button1.Enabled = False
        Button2.Enabled = False
        Button3.Enabled = False
        Button4.Enabled = True
        Button5.Enabled = True
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim A As Integer = TextBox1.Text
        Dim B As Integer = TextBox2.Text
        Dim C As Integer = TextBox3.Text
        Dim k As Integer = 0 '個數
        Dim sum As Integer = 0 '
        For i = 1 To 2
            For j = 1 To 6
                Dim cr As Integer = Int(Rnd() * 256) '紅色的度數 0~255隨機
                Dim cg As Integer = Int(Rnd() * 256) '綠色的度數 0~255隨機
                Dim cb As Integer = Int(Rnd() * 256) '藍色的度數 0~255隨機
                If k >= 12 Then Exit For
                k += 1 '個數加1

                LB(k) = New Label
                Me.Controls.Add(LB(k))
                With LB(k)
                    .Location = New Point(j * (wd + gt), 80 + i * 50) '標籤的位置
                    .Width = wd '標籤的寬度
                    .Height = ht '標籤的高度

                    .BorderStyle = BorderStyle.FixedSingle '標籤加框線
                    .Font = New Font("微軟正黑", 10)
                    .Text = k  'i & "," & j '標籤顯示的文字
                    .BackColor = Color.FromArgb(cr, cg, cb) '背景色:隨機的 紅、綠、藍
                End With
            Next
        Next
        N = k
        Button1.Enabled = False
        Button2.Enabled = False
        Button3.Enabled = False
        Button4.Enabled = True
        Button5.Enabled = True
    End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim cnt = Me.Controls.Count - 1
        For i = cnt To cnt - N + 1 Step -1
            Me.Controls.RemoveAt(i)
        Next
        Button1.Enabled = True
        Button2.Enabled = True
        Button3.Enabled = True
        Button4.Enabled = False
        Button5.Enabled = False
        N = 12
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim A As Integer = TextBox1.Text
        Dim B As Integer = TextBox2.Text
        Dim C As Integer = TextBox3.Text
        If A > N Then A = N
        For k = 1 To A
            If k Mod 2 = 0 Then
                LB(k).Text = k * B Mod 100
            Else
                LB(k).Text = k + C
            End If
        Next
    End Sub


End Class

終極密碼X試題說明

二信高中 107 2孝程式 模考 x           電腦崗位:


○、專案名稱:(5%) Z2B56-模考X-終極密碼

一、表單佈建:(55%)除了標題,每項未達成 扣3分{班號、崗位沒寫也扣}
 1.表單大小:550 x 450    表單背景圖: A.jpg」、   不定比例 隨框縮放
 2.表單標題:「資2孝56號陳俊華-模考X-終極密碼」  5%
 3.二個標籤:Label1標題:「電腦或人工設定密碼(11~90):」微軟正黑、14點大小、背景色LimeGreen
        Label2標題:「結果:」400x60字水平置中,微軟正黑、14點大小、字白色、背景色Blue
 4.文字方塊:TextBox1,清空,設為密碼型式*號,字紅色、字大小15
 5.按鈕2個:Button1標題:「猜一猜」標楷16點大小、粗斜體、字顏色Gold、背景色Purple
Button2標題:「重設密碼」標楷16點大小、粗斜體、字顏色Gold、背景色Purple

二、程式規定:(40%)每一項未完成扣 5~ 10
1.表單一載入:產生一隨機亂數 11~90之間,存入公用變數 {pass}
2.按鈕1被按一下:
(1)若文字方塊有輸入會以Msgbox詢問「電腦Y 或人工N」,回答N則以TextBox1中的輸入為密碼
訊息窗的圖示為問號,按鈕只有「是」「否」
{ 但若輸入的密碼不是 11~90則仍以電腦產生的密碼 }
(2)接著以輸入窗顯示「猜11~90」等待輸入,並每次會將變數的 {次數} 1
若輸入正確則在Label2上顯示「答對了!正確數字為 {pass} 。你共猜了 {次數} 次。
{pass}
是正確的密碼,{次數}是猜了幾次才猜到。
(3)若輸入的{數字} -56 則以訊息窗顯示「密碼是:{pass}俊華再見!」,然後結束程式。
         
↑自己座號                     {pass}是正確密碼,俊華是自己姓名
  
若輸入 0 可停止猜測 Exit Sub 退出副程式
  
若輸入的{數字}大於{pass}則輸入窗的訊息會顯示「{數字}  太大了,再猜:{上次左界} {數字}
  
若輸入的{數字}小於{pass}則輸入窗的訊息會顯示「{數字}  太小了,再猜:{數字}{上次左界}
3.按鈕2被按一下:將猜測的次數歸零,猜測的範圍改回11~99,{pass}值重新產生

終極密碼x 參考程式碼:
Public Class Form1

    Dim Lt As Integer = 11  '左界
    Dim Rt As Integer = 90 '右界
    Dim pass As Integer  ' 密碼
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call setpass()
    End Sub
   
 Sub setpass()
       Lt = 11 '*更正* 應先設定 LT及RT 再 執行 int(rnd ... )
       Rt = 90
       Randomize()
        pass = Int(Rnd() * (Rt - Lt + 1)) + Lt '自動產生密碼
        TextBox1.Text = ""  '將輸入密碼區清空
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' 判斷是否 人工設密碼 或 電腦產生
        If TextBox1.Text <> "" Then
            Dim r = MsgBox("電腦Y 或人工N", vbQuestion + MsgBoxStyle.YesNo)
            If r = vbNo Then
                If Val(TextBox1.Text) >= 10 And Val(TextBox1.Text) <= 99 Then
                    pass = Val(TextBox1.Text)
                End If
            Else
                Call setpass()
            End If
        End If
        ' 開始猜
        Dim gs As Integer = InputBox("猜11~90") '您所 猜的數
        Dim n As Integer = 1 '猜的次數
        Do While gs <> pass
            ' 若輸入 -56(自己座號) 放棄,顯示密碼並結束程式
            If gs = -56 Then
                MsgBox("密碼是:" & pass & "再見!")
                End
            End If
            If gs = 0 Then
                Exit Sub
            End If
            ' 若輸入 太大,則 右界數字改為 輸入的數字
            If gs > pass Then
                Rt = gs
                gs = InputBox(gs & " 太大了,再猜:" & Lt & "~" & Rt)
            Else   ' 若輸入 太小,則 左界數字改為 輸入的數字
                Lt = gs
                gs = InputBox(gs & " 太小了,再猜:" & Lt & "~" & Rt)
            End If
            n += 1
        Loop
        Label2.Text = "答對了!正確數字為 " & pass & " 。你共猜了 " & n & " 次。"
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Call setpass()
    End Sub

End Class








0 意見:

張貼留言