14
1 Bài 1: Tạo form như hình dưới với các chức năng như sau: - Nhập vào số N - Nút [Check] cho biết N có phải là số nguyên tố hay không ? - Nút [List]: Liệt kê các số nguyên tố <= N Bài làm: Function songuyento(n As Integer) As Boolean Dim tem As Integer songuyento = True If n > 2 Then For tem = 2 To Int(Sqr(n)) If n Mod tem = 0 Then songuyento = False Exit For End If Next End If End Function Private Sub cmdcheck_Click()

Chua bai tap VB

Embed Size (px)

Citation preview

Page 1: Chua bai tap VB

1

Bài 1:

Tạo form như hình dưới với các chức năng như sau:

- Nhập vào số N - Nút [Check] cho biết N có phải là số nguyên tố hay không ? - Nút [List]: Liệt kê các số nguyên tố <= N

Bài làm:

Function songuyento(n As Integer) As Boolean

Dim tem As Integer

songuyento = True

If n > 2 Then

For tem = 2 To Int(Sqr(n))

If n Mod tem = 0 Then

songuyento = False

Exit For

End If

Next

End If

End Function

Private Sub cmdcheck_Click()

Page 2: Chua bai tap VB

2

Dim test As Boolean

test = songuyento(txt1.Text)

If test Then

MsgBox "N la so nguyen to", vbOKOnly, "Thong bao"

Else

MsgBox "N khong la so nguyen to", vbOKOnly, "Thong bao"

End If

End Sub

Private Sub cmdExit_Click()

End

End Sub

Private Sub cmdlst_Click()

txt2.Text = " "

Dim n As Integer

Dim k As Integer

Dim kiemtra As Boolean

n = txt1.Text

For k = 1 To n

kiemtra = songuyento(k)

If kiemtra Then txt2.Text = txt2.Text + Str(k)

Next

End Sub

Page 3: Chua bai tap VB

3

Private Sub Form_Load()

txt2.Enabled = False

End Sub

Bài tập 2

Tạo Form có chức năng cắt các khoảng trắng thừa bên trong chuỗi sao cho giữa các từ chỉ còn duy nhất một khoảng trắng.

Ví dụ:

Chuỗi ban ñầu: “Nguyễn Trần Trường Sơn”

Chuỗi kết quả: “Nguyễn Trần Trường Sơn”

Bài làm:

Private Sub cmdCut_Click()

Dim check, s As String

Dim i, n, kt As Integer

s = Text1.Text

n = Len(s)

For i = 1 To n

check = Mid(s, i, 1)

If check = " " Then

kt = kt + 1

Else

kt = 0

Page 4: Chua bai tap VB

4

End If

If kt < 2 Then Text2.Text = Text2.Text + check

Next

End Sub

Private Sub Command1_Click()

End

End Sub

Bài tập 3

Tạo Form thực hiện chức năng sau:

- Nhập vào một số nguyên dương N - Tính:

o Tổng các số chẵn nằm trong khoảng từ 1 ñến N o Tổng các số lẻ nằm trong khoảng từ 1 ñến N

Bài làm:

Dim Chan, Le As Integer

Dim i, n As Integer

Private Sub cmdle_Click()

n = txt1.Text

Le = 0

Page 5: Chua bai tap VB

5

For i = 1 To n Step 2

Le = Le + i

Next

Txt3.Text = Str(Le)

End Sub

Private Sub Form_Load()

txt2.Enabled = False

Txt3.Enabled = False

End Sub

Private Sub cmdchan_Click()

n = txt1.Text

Chan = 0

For i = 0 To n Step 2

Chan = Chan + i

Next

txt2.Text = Str(Chan)

End Sub

Private Sub cmdExit_Click()

End

End Sub

Bài tập 4

Tạo Form thực hiện chức năng sau:

- Nhập vào một số nguyên dương N - Tính:

Page 6: Chua bai tap VB

6

o Tổng các số nằm trong khoảng từ 1 ñến N o Trung bình cộng các số lẻ nằm trong khoảng từ 1 ñến N

Bài làm:

Dim i, n As Integer

Dim dem, Tong As Integer

'Dim Tong As Double

Private Sub Form_Load()

txt2.Enabled = False

Txt3.Enabled = False

End Sub

Private Sub cmdExit_Click()

End

End Sub

Private Sub cmdtong_Click()

n = txt1.Text

Tong = 0

For i = 0 To n

Tong = Tong + i

Next

Page 7: Chua bai tap VB

7

txt2.Text = Str(Tong)

End Sub

Private Sub cmdtbc_Click()

n = txt1.Text

Tong = 0

dem = 0

For i = 1 To n Step 2

If i Mod 2 <> 0 Then

dem = dem + 1

Tong = Tong + i

End If

Next

Txt3.Text = Str(Tong / dem)

End Sub

Bài tập 5

Tạo Form thực hiện chức năng sau:

- Viết chương trình tìm số lớn nhất trong 3 số ( sử dụng hàm IIF). Kết quả ñược hiển thị trên một Msgbox

Page 8: Chua bai tap VB

8

Bài làm:

Dim so1, so2, temp, so3, max As Integer

Private Sub cmdmax_Click()

so1 = txt1.Text

so2 = txt2.Text

so3 = Txt3.Text

temp = IIf(so1 >= so2, so1, so2)

max = IIf(temp >= so3, temp, so3)

MsgBox max, vbOKOnly, "So lon nhat trong 3 so la"

End Sub

Private Sub cmdExit_Click()

End

End Sub

Bài tập 6

Tạo Form thực hiện chức năng sau:

- Nhập vào một số nguyên dương N - Tính:

o 1.3.5.7… N Nếu N là số lẻ o 2.4.6.8…N Nếu N là số chẵn

Bài làm:

Page 9: Chua bai tap VB

9

Private Sub cmdExit_Click()

End

End Sub

Private Sub cmdmul_Click()

Dim Tich, i, n As Double

n = txt1.Text

Tich = 1

If n Mod 2 = 1 Then

For i = 1 To n Step 2

Tich = Tich * i

Next

Else

For i = 2 To n Step 2

Tich = Tich * i

Next

End If

txt2.Text = Tich

End Sub

Bài tập 7

Tạo Form thực hiện chức năng sau:

Nhập 2 số a và b

Giải phương trình bậc 1: ax + b= 0

Bài làm

Page 10: Chua bai tap VB

10

Private Sub cmdExit_Click()

End

End Sub

Private Sub cmdgiai_Click()

If txt1.Text = 0 Then

Lblthongbao.Caption = "Phuong trinh vo nghiem"

Else

Lblthongbao.Caption = "Nghiem cua phuong trinh la"

txt3.Text = -txt2.Text / txt1.Text

End If

End Sub

Private Sub Form_Load()

txt3.Enabled = False

End Sub

Bài tập 8

Tạo Form như hình vẽ:

Page 11: Chua bai tap VB

11

Viết chương trình ñổi từ ñộ F sang ñộ C và từ ñộ C sang ñộ F. Khi chạy chương trình tùy thuộc vào lựa chọn ñể thực hiện chuyển ñổi giá trị nhập vào.

Chú ý: Công thức ñổi từ ñộ F sang ñộ C: C=(F-32)*1.8

Bài làm

Private Sub cmdconv_Click()

If Option1.Value Then Text2.Text = (Val(Text1.Text) - 32) * 1.8

If Option2.Value Then Text2.Text = (Val(Text1.Text) / 1.8 + 32)

End Sub

Private Sub Exit_Click()

End

End Sub

Private Sub Form_Load()

Option1.Value = True

End Sub

Bài tập 9

Tạo Form như hình vẽ:

Page 12: Chua bai tap VB

12

Viết chương trình:

- ðưa ra các ước số chẵn của N trên ô text kết quả nếu nhấn nút “Các ước số chẵn” - ðưa ra các ước số lẻ của N trên ô text kết quả nếu nhấn nút “Các ước số lẻ”

Bài làm:

Dim i, N As Double

Private Sub cmdchan_Click()

N = Txt1.Text

Txt2.Text = " "

For i = 2 To N Step 2

If N Mod i = 0 Then Txt2.Text = Txt2.Text + Str(i)

Next

End Sub

Private Sub cmdle_Click()

N = Txt1.Text

Txt2.Text = " "

For i = 1 To N Step 2

If N Mod i = 0 Then Txt2.Text = Txt2.Text + Str(i)

Next

End Sub

Page 13: Chua bai tap VB

13

Private Sub Form_Load()

Txt2.Enabled = False

End Sub

Bài tập 10

Thiết kế Form vàthực hiện chức năng giải phương trình bậc 2 như sau.

Bài làm

Dim a, b, c, delta, x1, x2 As Double

Private Sub cmdCal_Click()

a = txta.Text

b = txtb.Text

c = txtc.Text

If a = 0 And b = 0 Then lblthongbao.Caption = "Ph-¬ng tr×nh ®a cho vo nghiem"

delta = b * b - 4 * a * c

If delta < 0 Then

lblthongbao.Caption = " Phuong trinh da cho vo nghiem"

Else

x1 = (-b - Sqr(delta)) / (2 * a)

x2 = (-b + Sqr(delta)) / (2 * a)

If delta > 0 Then

Page 14: Chua bai tap VB

14

lblthongbao.Caption = " Phuong trinh da cho co 2 nghiem phan biet"

Else

lblthongbao.Caption = "Phuong trinh co nghiem kep"

End If

txtx1.Text = x1

txtx2.Text = x2

End If

End Sub

Private Sub cmdexit_Click()

End

End Sub

Private Sub Form_Load()

lblthongbao.Caption = " Ch-¬ng tr×nh gi¶i ph-¬ng tr×nh bac 2"

txtx1.Enabled = False

txtx2.Enabled = False

End Sub