vb編程題
1. vb編程題編程: 編程輸出下列的矩陣
在VB編程中,要實現輸出特定矩陣的功能,可以通過編寫相關代碼來完成。下面的示例展示了如何通過編程輸出一個5行9列的矩陣。
首先,我們定義一個子過程,當命令按鈕Command1被點擊時執行。這個過程包含兩個嵌套的循環,分別對應矩陣的行和列。
外部循環的索引變數i,從1開始,遍歷到5,代表矩陣的行。內部循環的索引變數j,從1開始,遍歷到9,代表矩陣的列。
在內部循環中,我們使用了表達式`int((i+j-2) mod 5)+1`來計算每個矩陣元素的值。具體解釋如下:
- `i+j-2`:首先計算當前行索引與列索引的和,然後減去2。
- `mod 5`:將上一步的結果取模5,確保結果在0到4之間。
- `int`:將取模後的結果轉換為整數。
- `+1`:最後將結果加1,以匹配矩陣元素的起始值。
在內部循環結束後,我們使用`Tab(2)`來在輸出中添加一個空格或製表符,以保持矩陣的格式。外部循環完成後,整個矩陣就以編程方式輸出。
此外,我們還定義了一個窗體載入過程`Form_Load`。這個過程通常用於在窗體載入時執行的初始化代碼,但在這個例子中,它僅作為示例的一部分,可以被省略或根據實際需求進行修改。
通過以上代碼,我們不僅能夠實現矩陣的輸出,還能靈活地調整矩陣的行數和列數,以適應不同的編程需求。
2. 解答VB編程試題
在VB編程中,處理數組和循環是常見的任務。下面的示例展示了如何實現一些基本的數組操作。首先,我們來看一個簡單的數組位移程序。該程序定義了兩個整數數組a和b,分別存儲從0到9的數值。然後,用戶可以通過輸入框指定一個位移值n,程序會將數組a中的元素按照位移值向右移動,結果存儲在數組b中。具體實現如下:
Dim a(10) As Integer, b(10) As Integer
For i = 1 To 10
a(i) = i - 1
Print a(i);
Next i
n = InputBox("輸入位移的位數")
Print
For i = 1 To 10
j = i + n
If i + n > 10 Then j = j - 10
b(j) = a(i)
Next i
For i = 1 To 10
Print b(i);
Next i
接下來,我們看一個矩陣操作的示例。程序定義了一個3x3的矩陣a,另一個3x3的矩陣b,以及一個臨時矩陣c。矩陣a的主對角線元素設置為2,其餘元素隨機生成。矩陣b的第一行元素等於a的第一行元素,其餘行元素等於上一行與當前行對應位置的元素之和。矩陣c則是a與b的對應位置元素之和。具體實現如下:
Dim a(3, 3) As Integer, b(3, 3) As Integer, c(3, 3) As Integer
For i = 1 To 3
For j = 1 To 3
a(i, j) = 0
If i = j Then a(i, j) = 2
Print a(i, j);
If i < 3 Then b(i, j) = Int(Rnd() * 10)
Else
b(i, j) = b(1, j) + b(2, j)
End If
Next j
Print
Next i
For i = 1 To 3
For j = 1 To 3
Print b(i, j);
c(i, j) = a(i, j) + b(i, j)
Next j
Print
Next i
For i = 1 To 3
For j = 1 To 3
Print c(i, j);
Next j
Print
Next i
另一個示例涉及三角形數組的生成。用戶需要輸入三角形的行數,程序會構建一個按楊輝三角形規則填充的數組。具體實現如下:
Dim a() As Long
n = InputBox("輸入三角形的行數")
ReDim a(n, n)
For i = 1 To n
For j = 1 To n
If j = 1 Or i = j Then
a(i, j) = 1
ElseIf i > 1 Then
a(i, j) = a(i - 1, j - 1) + a(i - 1, j)
End If
Print a(i, j);
Next j
Print
Next i
最後,我們來看一個簡單的命令按鈕操作示例。當點擊命令按鈕時,程序會根據按鈕索引執行相應的數學運算。具體實現如下:
Private Sub Cmdoper_Click(Index As Integer)
Select Case Index
Case 0
Text3.Text = Val(Text1.Text) + Val(Text2.Text)
Case 1
Text3.Text = Val(Text1.Text) - Val(Text2.Text)
Case 2
Text3.Text = Val(Text1.Text) * Val(Text2.Text)
Case 3
Text3.Text = Val(Text1.Text) / Val(Text2.Text)
End Select
End Sub
3. 一道VB編程題
創建3個文本框,第一個輸入年,第二個輸入月,第三個輸入日。
用year(now),month(now),day(now)分別返回當前年月日。
用year(now)-學生生日即可得到年齡,如果想要准確的周歲生日,再比較月,日就行了。
用inputbox也可以
a=inputbox("輸入學生生日-年")
b=inputbox("輸入學生生日-月")
c=inputbox("輸入學生生日-日")
x=year(now)-a 'x即為學生年齡,如果想算仔細一些的話,就要進行月,
日的比較
if b<month(now) then
print "該學生已經過了";x;"歲生日了"
elseif b=month(now) and c<day(now) then
print "該學生已經過了";x;"周歲生日了"
elseif b=month(now) and c=day(now) then
print "今天是xx同學";x;"周歲的生日"
else
print "該學生還不滿";x;"周歲"
end if