Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

bai tap vb6

Bài tập tìm xâu con chung dài nhất

Dim xau1(20) As Integer

Dim xau2(20) As Integer

Dim xaucon(20, 1) As Integer

Private Sub Command1_Click()

Dim i, j, k, l, m As Integer

Dim s As String

j = 0

k = -1

l = 0

m = 0

'xaucon(0, 0) = 0

'xaucon(0, 1) = 0

For i = 0 To 20

If xau1(i) = xau2(i) Then

If j = 0 Then

k = k + 1

xaucon(k, 0) = i

End If

j = j + 1

xaucon(k, 1) = j

Else

j = 0

k = k + 1

xaucon(k, 0) = i

xaucon(k, 1) = 0

End If

Next

m = xaucon(0, 0)

l = xaucon(0, 1)

For i = 1 To 20

If xaucon(i, 1) > l Then

m = xaucon(i, 0)

l = xaucon(i, 1)

End If

Next

Command1.Caption = "Bat dau tai vi tri: " & m & " - " & "Chieu dai xau con: " & l

s = ""

For i = m To m - 1 + l

s = s & xau1(i) & " - "

Next

Text3.Text = s

s = ""

Text5.Text = ""

For i = 0 To 20

s = s & xaucon(i, 1) & "-"

Text5.Text = Text5.Text & xaucon(i, 0) & " - "

Next

Text4.Text = s

End Sub

Private Sub Command2_Click()

Dim i As Integer

Dim s As String

For i = 0 To 20

xau1(i) = Int(1 + 3 * Rnd)

s = s & xau1(i) & " - "

Next

Text1.Text = s

s = ""

For i = 0 To 20

xau2(i) = Int(1 + 3 * Rnd)

s = s & xau2(i) & " - "

Next

Text2.Text = s

End Sub

Private Sub Form_Load()

Dim i As Integer

Dim s As String

Randomize

For i = 0 To 20

xau1(i) = Int(1 + 3 * Rnd)

s = s & xau1(i) & " - "

Next

Text1.Text = s

s = ""

For i = 0 To 20

xau2(i) = Int(1 + 3 * Rnd)

s = s & xau2(i) & " - "

Next

Text2.Text = s

End Sub

-------------------------------------------------------------------------

tìm xâu dài nhất

#

# Option Explicit

# Dim s As String

# Dim a() As String

# Dim max As Integer, i As Integer, vitri As Integer

# Private Sub Command1_Click()

# s = Trim$(Text1.Text)

# a = Strings.Split(s, " ")

# 'O day ban co the kiem tra chuoi dau vao co rong khong de tranh loi

# max = 0

# For i = LBound(a) To UBound(a)

# If Len(Trim$(a(i))) > max Then max = Len(Trim$(a(i))): vitri = i

# Next i

# MsgBox "chuoi dai nhat la: '" & a(vitri) & "' voi " & max & " ki tu!"

# End Sub

------------------------------

code de nhap n so phan tu cua mang

1. Dim i, a(1 To 10) As Integer

2. For i = 1 To 10

3. a(i) = InputBox("Nhap Phan Tu Thu " & i)

4. Next i

5. For i = 1 To 10

6. Print a(i);

7. Next i

--------------------------------

thuật toán sắp xếp theo thứ tự tăng dần

#

# Dim iArr(10) As Integer

# Private Sub Command1_Click()

# Dim i, j, k As Integer

# Dim iMin As Integer

#

# Randomize

# For i = 0 To 10

# iArr(i) = Rnd * 10

# Label1.Caption = Label1.Caption & iArr(i) & " - "

# Next

#

# For i = 0 To 10

# iMin = iArr(i)

# k = i

# For j = i + 1 To 10

# If iArr(j) < iMin Then

# iMin = iArr(j)

# k = j

# End If

# Next

# If k <> i Then HoanVi i, k

# Next

# For i = 0 To 10

# Label2.Caption = Label2.Caption & iArr(i) & " - "

# Next

# End Sub

#

# Private Sub HoanVi(ByVal i As Integer, ByVal j As Integer)

# Dim tmp As Integer

#

# tmp = iArr(i)

# iArr(i) = iArr(j)

# iArr(j) = tmp

# End Sub

--------------------

# For i = 0 To n - 1 Step 1

# For j = i + 1 To n Step 1

# If arrList(i) > arrList(j) Then

# k = arrList(i) 'Dùng biến trung gian K để thực hiện việc hoán đổi vị trí

# arrList(i) = arrList(j)

# arrList(j) = k

# End If

# Next j

# Next i

---------------------------------

Tổng ước : vd 6 = 1 + 2 + 3

Function tonguoc(ByVal n As Integer) As Integer

Dim S As Integer = 0

For i As Integer = 1 To n \ 2

If (n Mod i) = 0 Then

S = S + i

End If

Next

tonguoc = S

End Function

-------------------------------

số mũ

Function mu(ByVal a As Integer, ByVal n As Integer) As Integer

Dim T As Integer = 1

For i As Integer = 1 To n

T = T * a

Next

mu = T

End Function

------------------------

số nguyên tố

Function nguyento(ByVal n As Integer) As Boolean

nguyento= true

For i As Integer = 2 To n \ 2

If n Mod i = 0 Then

nguyento=false

Exit For

End If

Next

End Function

------------------------

ước chung lớn nhất

Gọi x là USCLN của a và b. x= { a chia hết x và b chia hết x} và { tồn tại y : a chia hết y và b chia hết y => y <= x }

Function UCLN(ByVal m As Integer, ByVal n As Integer) As Integer

Dim r As Integer

r = m Mod n

While (r <> 0)

m = n

n = r

r = m Mod n

End While

UCLN = n

End Function

--------------------

bội chung nhỏ nhất

Function BCNN(ByVal m As Integer, ByVal n As Integer) As Integer

BCNN = (m * n) \ UCLN(m, n)

End Function

---------------------

7. Phân tích số ra thừa số nguyên tố

Ví dụ : 6 = 2 * 3

Function phantichthuaso_ngto(ByVal n As Integer) As String

Dim i As Integer = 2

Dim S As String = " "

While (i <= n)

If (nguyento(i) And (n Mod i = 0)) Then

n = n \ i

If (n = 1) Then

S = S + i.ToString + " "

Else

S = S + i.ToString + " " + "*" + " "

End If

Else

i = i + 1

End If

End While

phantichthuaso_ngto = S

End Function

-----------------------------

8. Tính giai thừa :

n! = n.(n-1).(n-2)....4.3.2.1

Function giaithua(ByVal n As Integer) As Integer

Dim T As Integer = 1

For i As Integer = 1 To n

T = T * i

Next

giaithua = T

End Function

------------------------------

9. Kiếm tra tính đối xứng

ví dụ : 1221 ---> đối xứng

Function doixung(ByVal chuoi As String) As Boolean

doixung = False

For i As Integer = 1 To Len(chuoi) \ 2

If Mid(chuoi, i, 1) = Mid(chuoi, Len(chuoi) + 1 - i, 1) Then

doixung = True

Exit For

End If

Next

End Function

-------------------------------

11. Hệ phương trình 2 ẩn:

a1x+b2y=c1

a2x+b2y=c2

'a1x+b2y=c1

'a2x+b2y=c2

Sub hephuongtrinh2an(ByVal a1 As Integer, ByVal b1 As Integer, ByVal c1 As Integer, ByVal a2 As Integer, ByVal b2 As Integer, ByVal c2 As Integer)

Dim d As Integer, dx As Integer, dy As Integer

d = a1 * b2 - a2 * b1

dx = c1 * b2 - c2 * b2

dy = a1 * c2 - a2 * c1

If d <> 0 Then

MsgBox("Phuong trinh co nghiem duy nhat")

MsgBox(" x = " & dx / d & vbCrLf & " y = " & dy / d)

ElseIf (d = 0 And dx <> 0) Or (d = 0 And dy <> 0) Then

MsgBox("Phuong trinh vo nghiem ")

ElseIf d = 0 And dx = 0 And dy = 0 Then

MsgBox("Phuong trinh vo so nghiem")

End If

End Sub

-----------------------------------------

1. Đổi Cơ Số

1.1. Đổi thập phân --> cơ số 2,8,16

Function doicoso10(ByVal n As Integer, ByVal he As Integer) As String

Dim r As Integer

Dim S As String = ""

While n <> 0

r = n Mod he

If r = 0 Then

S = r.ToString + S

Else

S = r.ToString + S

End If

n = n \ he

End While

doicoso10 = S

End Function

------------------------

1.2. Đổi cơ số 2,8,16 ---> Cơ số 10

Function doisanghe10(ByVal chuoi As String, ByVal he As Byte) As Integer

Dim S As Integer = 0

For i As Integer = 1 To Len(chuoi)

S = S + Val(Mid(chuoi, i, 1)) * he ^ (Len(chuoi) - i)

Next

doisanghe10 = S

End Function

-----------------------

2. Ma trận :

2.1. Ma trận 1 chiều :

Khởi tạo 1 ma trận :

Dim r As New Random

'--- Khoi tao

For Me.j = 1 To n

a(i) = r.Next(10) ' Lay tri ngau nhien 0-9

Next

--------------------

a. Nhập 1 giá trị X, xem thử X có thuộc Mảng A không ? thuộc mấy lần

Sub kiemtra(ByVal x As String)

Dim S As Integer

For i As Integer = 1 To n

If a(i) = x Then

S = S + 1

End If

Next

If S > 0 Then

MsgBox(x & " thuộc với " & S & " lần ")

Else

MsgBox(x & " không thuộc ")

End If

End Sub

---------------------------------

b. Tính tổng các phần tử có : giá trị chẵn hoặc cột chẵn

Sub tongcacphantuchan()

Dim S As Integer

For i As Integer = 1 To n

If i Mod 2 = 0 Then

S = S + a(i)

End If

Next

MsgBox("Tổng các phần tử chẵn : " & S)

End Sub

'-------------------------------------------------------

Sub tongcotchan()

Dim S As Integer

For i As Integer = 2 To n Step 2

S = S + a(i)

Next

MsgBox("Tổng các phần tử cột chẵn : " & S)

End Sub

----------------------------

2.2. Ma trận 2 chiều :

Đầu tiên phải tạo trước 2 ma trận A,B đã . Khởi tạo ngẫu nhiên cho nhanh thấy

Dim r As New Random

'--- Khoi tao mang A, B

For Me.i = 1 To m

For Me.j = 1 To n

a(i, j) = r.Next(10) ' Lay tri ngau nhien 0-9

b(i, j) = (r.Next(10)) ' Lay tri ngau nhien 0-9

Next

Next

--------------------------

2.2.1. Cộng, trừ, nhân, chia 2 ma trận :

Const max = 100

Dim a(max, max) As Integer, b(max, max) As Integer, c(max, max) As Integer

Dim m As Integer, n As Integer, i As Integer, j As Integer

Sub congmatran()

Dim i As Integer, j As Integer

For i = 0 To m ' duyet theo hang

For j = 0 To n 'duyet theo cot

c(i, j) = a(i, j) + b(i, j)

Next j

Next i

End Sub

Sub nhanmatran()

Dim i As Integer, j As Integer, k As Integer

For i = 0 To m ' duyet theo hang

For j = 0 To n 'duyet theo cot

c(i, j) = 0

For k = 1 To m

c(i, j) += a(i, k) * b(k, j)

Next

Next j

Next i

End Sub

-------------------

Sắp xếp dãy tăng/giảm.

Private Sub cmdKetqua_Click()

Dim dayso() As String

dayso = Split(txtNhap, ",")

Dim i As Integer, j As Integer, k As Integer

'code tuongphu

For i = 0 To UBound(dayso) - 1 Step 1

For j = i + 1 To UBound(dayso) Step 1

If CInt(dayso(i)) > CInt(dayso(j)) Then

k = CInt(dayso(i))

dayso(i) = dayso(j)

dayso(j) = k

End If

Next j

Next i

txtKetqua.Text = ""

txtKetqua1.Text = ""

For i = 0 To UBound(dayso) Step 1

txtKetqua = txtKetqua & dayso(i) & ", "

txtKetqua1 = txtKetqua1 & dayso(UBound(dayso) - i) & ", "

End Sub

-----------------

pt bac 2

Private Sub Command1_Click()

Dim a As Integer, b As Integer, c As Integer, delta As Integer

a = Val(Text1.Text)

b = Val(Text2.Text)

delta = b * b - 4 * a * c

If delta < 0 Then

MsgBox "Vo nghiem"

Else

If delta = 0 Then

MsgBox "Nghiem kep: x1 = x2 = " & -b / (2 * a)

Else

MsgBox "2 nghiem phan biet" & vbCrLf & "x1 = " & (-b - Sqr(delta)) / (2 * a) & vbCrLf & "x2 = " & (-b + Sqr(delta)) / (2 * a)

End If

End If

End Sub

----------------------------------

1)Viết chương trình tính tổng các số lẻ từ 1 đến n,với n nhập từ bàn phím.

Dim S,n,i As Integer

Private Sub Form_Load()

n=InputBox("Nhap vao n:","Thong bao")

For i=1 to n step 2

S=S+i

Next

MsgBox "Tong la: " & S

chẵn : i =0

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: