BÀI TẬP TIN ĐẠI CƯƠNG
Bài tập chỉ mang tính tham khảo và chưa hoàn thiện mong
các bạn hoàn thiện thêm
HUMG
Page 1
BÀI TẬP TIN ĐẠI CƯƠNG
CHƯƠNG V
Bài 5.5
Private Sub Command1_Click()
Dim n%, s&
Do
n = InputBox("nhap so : ")
Loop Until (n >= 0)
s=1
For i = 1 To n
s=s*i
Next i
MsgBox (n & " ! " & " = " & s)
End Sub
Bài 5.6
Private Sub Command1_Click()
Dim n%, s1&, s2&, s!, i%
Do
n = InputBox("nhap so")
Loop Until (n > 0)
s1 = 0: s2 = 0
For i = 1 To n
s1 = s1 + i ^ 2
s2 = s2 + i * (i + 1)
Next i
s = s1 / s2
MsgBox ("Tn = " & s)
End Sub
Bài 5.9
Private Sub Command1_Click()
Dim a%, b%, c%, max%
HUMG’S VISUAL BASIC
trang 2
BÀI TẬP TIN ĐẠI CƯƠNG
Do
a = InputBox("nhap so thu 1 = ")
b = InputBox("nhap so thu 2 = ")
c = InputBox("nhap so thu 3 = ")
Loop Until (a > 0) And (b > 0) And (c > 0)
max = a
If a > b Then
If a < c Then max = c
Else
If b > c Then
max = b
Else
max = c
End If
End If
MsgBox ("so lon nhat = " & max)
End Sub
Bài 5.10
Private Sub Command1_Click()
Dim a$, s$
a = InputBox("nhap 1 ky tu ")
If (Asc(a) >= 48) And (Asc(a) <= 57) Then
Print a
Else
If (Asc(a) >= 65) And (Asc(a) <= 90) Then
Print LCase(a)
Else
If (Asc(a) >= 97) And (Asc(a) <= 122) Then
Print UCase(a)
Else
HUMG’S VISUAL BASIC
trang 3
BÀI TẬP TIN ĐẠI CƯƠNG
Print "chao tap biet"
End If
End If
End If
End Sub
Bài 5.11
Private Sub Command1_Click()
Dim n%, s1&, s2
Do
n = InputBox("nhap so")
Loop Until (n > 0)
s1 = 0
For i = 1 To n
s1 = s1 + i
Next i
s2 = (n * (n + 1)) / 2
Print Str(s1) & " " & Str(s2)
If (s1 = s2) Then Print "cong thuc dung"
End Sub
Bài 5.12
Private Sub Command1_Click()
Dim n%, s1&, s2&, i%
Do
n = InputBox("nhap so = ")
Loop Until (n > 0)
s1 = 0
For i = 1 To n
s1 = s1 + i ^ 2
Next i
s2 = (n * (n + 1) * (2 * n + 1)) / 6
HUMG’S VISUAL BASIC
trang 4
BÀI TẬP TIN ĐẠI CƯƠNG
Print s1 & " " & s2
If (s1 = s2) Then Print "cong thuc dung"
End Sub
Bài 5.13
Function gt(n%) As Long
Dim i%
gt = 1
For i = 1 To n
gt = gt * i
Next i
End Function
Private Sub Command1_Click()
Dim n%, m%, s!, s1&, i%
Do
n = InputBox("nhap n")
m = InputBox("nhap m")
Loop Until (m >= 0) And (n > m)
s1 = 1
For i = 1 To m - 1
s1 = s1 * (n - i)
Next i
s1 = n * s1
s = s1 / gt(m)
Print "to hop chap " & m & " cua " & n & " la = " & s
End Sub
Bài 5.14
Private Sub Command1_Click()
Dim chuc%, dv%, i%, s&, kq1$, kq2$, kq3$
kq1 = "": kq2 = "": kq3 = ""
HUMG’S VISUAL BASIC
trang 5
BÀI TẬP TIN ĐẠI CƯƠNG
For i = 10 To 99
chuc = i \ 10
dv = i Mod 10
s=s+i
If (chuc >= 3) And (chuc <= 8) And (dv >= 2) And (dv <= 9) Then kq1 = kq1 & i & " "
If (i Mod 2 = 0) And ((i \ 10) Mod 2 <> 0) Then kq2 = kq2 & i & " "
Next i
Print kq1
Print s
Print kq2
End Sub
Bài 5.15
Function gt(n%) As Long
Dim i%
gt = 1
For i = 1 To n
gt = gt * i
Next i
End Function
Private Sub Command1_Click()
Dim e#, c#, k#, i%
Do
c = InputBox("nhap sai so")
Loop Until (c > 0) And (c < 1)
k=1
i=1
e=1
Do While (k > c)
HUMG’S VISUAL BASIC
trang 6
BÀI TẬP TIN ĐẠI CƯƠNG
k = 1 / gt(i)
e=e+k
i=i+1
Loop
Print e
End Sub
Bài 5.16
Private Sub Command1_Click()
Dim a#, i&, s#
a = InputBox("nhap so")
i=1
s=0
Do While (s < a)
s=s+1/i
i=i+1
Loop
Print i
End Sub
Bài 5.17
Private Sub Command1_Click()
Dim i%
For i = 1 To 100
s1 = i ^ (1 / 2)
s2 = i ^ (1 / 3)
s3 = i ^ (1 / 4)
Print s1 & "
" & s2 & "
" & s3
Next i
End Sub
Bài 5.18
Private Sub Command1_Click()
HUMG’S VISUAL BASIC
trang 7
BÀI TẬP TIN ĐẠI CƯƠNG
Dim a&, x$, n%, dem%
a = InputBox("nhap so")
x = Cstr(a)
n = Len(x)
dem = 0
For i = 1 To n
If Val(Mid(x, i, 1)) Mod 2 <> 0 Then dem = dem + 1
Next i
Print "so cac so le = " & dem
End Sub
Bài 5.19
Function kthh(n%) As Boolean
Dim i%, s&
kthh = True
s=0
For i = 1 To n - 1
If (n Mod i = 0) Then
s=s+i
End If
Next i
If (s <> n) Then kthh = False
End Function
Private Sub Command1_Click()
Dim n%, i%, j%, kp$
n = InputBox("nhap so")
kq = ""
For i = 1 To n
If kthh(i) = True Then kq = kq & Str(i) & " "
Next i
HUMG’S VISUAL BASIC
trang 8
BÀI TẬP TIN ĐẠI CƯƠNG
Print kq
End Sub
Bài 5.20
Private Sub Command1_Click()
Dim s&, a%
s=0
Do
a = InputBox("nhap so")
s=s+a
Loop While (a <> 0)
Print s
End Sub
Bài 5.21
Private Sub Command1_Click()
Dim a%, n%
Do
a = InputBox("nhap so")
Loop Until a > 0
n = Len(CStr(a))
Print n
End Sub
Bài 5.23
Function gt(n%) As Long
Dim i%
gt = 1
For i = 1 To n
gt = gt * i
Next i
End Function
HUMG’S VISUAL BASIC
trang 9
BÀI TẬP TIN ĐẠI CƯƠNG
Private Sub Command1_Click()
Dim x!, n%, e!, s!, i%
Do
e = InputBox("nhap sai so")
Loop Until (e > 0) And (e < 1)
x = InputBox("nhap x")
k=1
s=0
i=1
Do While (Abs(k) > e)
s=s+k
k = x ^ i / gt(i)
i=i+1
Loop
Print ("gia tri e^" & x & " la = " & s)
End Sub
Bài 5.25
Function gt(n%) As Double
Dim i%, s
gt = 1
For i = 1 To n
gt = gt * i
Next i
End Function
Private Sub Command1_Click()
Dim x!, i%, cos!, k!
x = InputBox("nhap goc")
k = 1: i = 1
cos = 0
HUMG’S VISUAL BASIC
trang 10
BÀI TẬP TIN ĐẠI CƯƠNG
Do While (Abs(k) > 0.001)
cos = cos + k
k = ((-1) ^ i * x ^ (2 * i)) / gt(2 * i)
i=i+1
Loop
Print "gia tri cua cos(" & x & ") = " & cos
End Sub
Bai 5.26
Private Sub command1_click()
Dim pi!, i#, k#
pi = 0: k = 1: i = 1
Do While (Abs(k) > 0.00001)
pi = pi + k
k = (-1) ^ i / (2 * i + 1)
i=i+1
Loop
pi = pi * 4
Print "gia tri pi = " & pi
End Sub
Bai 5.28
Function nt(n%) As Boolean
Dim i%
i=2
nt = True
Do While (i < n) And (n Mod i <> 0)
i=i+1
Loop
If i <> n Then nt = False
End Function
HUMG’S VISUAL BASIC
trang 11
BÀI TẬP TIN ĐẠI CƯƠNG
Private Sub command1_click()
Dim i%, kq$
kq = ""
For i = 1 To 99
If nt(i) = True Then kq = kq & CStr(i) & " "
Next i
Print "cac so nt < 100 la : " & kq
End Sub
Bài 5.29
Function ktl(n%) As Boolean
ktl = True
If n Mod 2 = 0 Then ktl = False
End Function
Private Sub command1_click()
Dim i1%, i2%, s!, i%
Do
i1 = InputBox("nhap so thu nhat")
i2 = InputBox("nhap so thu hai")
Loop Until (i1 > 0) And (i1 < i2)
s=0
For i = i1 To i2
If ktl(i) = True Then s = s + i
Next i
Print "ket qua can tim : " & s
End Sub
Bài 5.36
Private Sub Command1_Click()
Dim x$, n%, i%, j%
HUMG’S VISUAL BASIC
trang 12
BÀI TẬP TIN ĐẠI CƯƠNG
x = InputBox("nhap xau")
n = Len(x)
t=0
For i = 1 To n
dem = 1
For j = i + 1 To n
If (Asc(Mid(x, i, 1)) <> 32) And (Mid(x, i, 1) = Mid(x, j, 1)) Then
dem = dem + 1
End If
Next j
If (Asc(Mid(x, i, 1)) <> 32) Then
MsgBox ("co " & dem & " chu " & Mid(x, i, 1))
t = t + dem
End If
x = Replace(x, Mid(x, i, 1), " ")
Next i
MsgBox ("so ki tu trang : " & n - t)
End Sub
Bài 5.37
Private Sub Command1_Click()
Dim st$, st1$, stg$, k%, i%, j%
Dim x() As Integer
st = InputBox("nhap chuoi st")
st1 = InputBox("nhap chuoi st1")
n = Len(st): k = 0: j = Len(st1)
ReDim x(n)
For i = 1 To n
stg = Mid(st, i, j)
If (stg = st1) Then
k=k+1
HUMG’S VISUAL BASIC
trang 13
BÀI TẬP TIN ĐẠI CƯƠNG
x(k) = i
End If
Next i
st = ""
For i = 1 To k
st = st & x(i) & " "
Next i
Print ("chuoi '" & st1 & "' xuat hien " & k & " lan tai cac vi tri " & st)
End Sub
Bài 5.38
Private Sub Command1_Click()
Dim x() As String
Dim i%, sv$, tam$, n%
Do
n = InputBox("nhap so sinh vien")
Loop Until (n > 0)
ReDim x(n)
For i = 1 To n
x(i) = InputBox("sinh vien thu " & i)
x(i) = UCase(Trim(x(i)))
Next i
j=1
Do While (j <= n)
For i = 1 To n - 1
If x(i) > x(i + 1) Then
tam = x(i)
x(i) = x(i + 1)
x(i + 1) = tam
End If
Next i
HUMG’S VISUAL BASIC
trang 14
BÀI TẬP TIN ĐẠI CƯƠNG
j=j+1
Loop
sv = ""
For i = 1 To n
sv = sv & x(i) & ", "
Next i
MsgBox (sv)
End Sub
Bài 5.39
Private Sub Command1_Click()
Dim xau1$, xau2$, n%, i%, m%, j%, kq$
xau1 = InputBox("nhap xau 1")
xau2 = InputBox("nhap xau 2")
n = Len(Trim(xau1))
m = Len(Trim(xau2))
kq = ""
For i = 1 To n
For j = 1 To m
If (Mid(xau1, i, 1) = Mid(xau2, j, 1)) And (Asc(Mid(xau1, i, 1)) <> 32) Then
kq = kq & Mid(xau1, i, 1) & " "
xau2 = Replace(xau2, Mid(xau2, j, 1), " ")
End If
Next j
Next i
Print "cac ky tu xuat hien trong ca 2 xau : " & kq
End Sub
Bài 5.40
Private Sub Command1_Click()
Dim x$, x1$, n%, i%, kq$, j%, n1%
x = InputBox("nhap chuoi ky tu")
HUMG’S VISUAL BASIC
trang 15
BÀI TẬP TIN ĐẠI CƯƠNG
x = Trim(x)
x=x&""
n = Len(x)
i=1
kq = ""
Do While (i < n)
vt = InStr(i, x, " ")
x1 = Mid(x, i, vt - i)
n1 = Len(Trim(x1))
For j = 1 To n1
If Mid(x1, j, 1) = "h" Then
kq = kq & x1 & " "
Exit For
End If
Next j
i = vt
i=i+1
MsgBox (x1)
Loop
Print kq
End Sub
CHƯƠNG VI
Bài 6.1
Function demduong(x() As Single, n%) As Long
Dim i%
demduong = 0
For i = 1 To n
If (x(i) > 0) Then demduong = demduong + 1
Next i
End Function
HUMG’S VISUAL BASIC
trang 16
BÀI TẬP TIN ĐẠI CƯƠNG
Function demam(x() As Single, n%) As Long
Dim i%
demam = 0
For i = 1 To n
If (x(i) < 0) Then demam = demam + 1
Next i
End Function
Private Sub command1_click()
Dim x() As Single, n%, i%
Do
n = InputBox("nhap so phan tu mang")
Loop Until (n > 0)
ReDim x(n)
For i = 1 To n
x(i) = InputBox("x[" & i & "] = ")
Next i
Print ("so luong so duong la : " & demduong(x(), n))
Print ("so luong so am la : " & demam(x(), n))
Print ("so luong so 0 la : " & n - demduong(x(), n) - demam(x(), n))
End Sub
Bai 6.2
Function sochan(x() As Integer, n%) As String
Dim i%
sochan = ""
For i = 1 To n
If (x(i) Mod 2 = 0) Then
sochan = sochan & CStr(x(i)) & " "
End If
Next i
HUMG’S VISUAL BASIC
trang 17
BÀI TẬP TIN ĐẠI CƯƠNG
End Function
Function sole(x() As Integer, n%) As String
Dim i%
sole = ""
For i = 1 To n
If (x(i) Mod 2 <> 0) Then
sole = sole & CStr(x(i)) & " "
End If
Next i
End Function
Private Sub Command1_Click()
Dim x() As Integer, n%, i%
Do
n = InputBox("nhap so phan tu mang ")
Loop Until (n > 0)
ReDim x(n)
For i = 1 To n
x(i) = InputBox("x[" & i & "] = ")
Next i
Print sochan(x(), n)
Print sole(x(), n)
End Sub
Bài 6.3
Function fibonaci(n%) As String
Dim i%, x() As Integer
ReDim x(n)
x(1) = 1
HUMG’S VISUAL BASIC
trang 18
BÀI TẬP TIN ĐẠI CƯƠNG
x(2) = 1
For i = 3 To n
x(i) = x(i - 1) + x(i - 2)
Next i
fibonaci = ""
For i = 1 To n
fibonaci = fibonaci & CStr(x(i)) & " "
Next i
End Function
Private Sub Command1_Click()
Dim n%
Do
n = InputBox("so phan tu mang")
Loop Until (n >= 0) And (n <= 100)
Print fibonaci(n)
End Sub
Bài 6.4
Function s2(x() As Single, n%) As Single
Dim i%
s2 = 0
For i = 1 To n
s2 = s2 + x(i) ^ 2
Next i
s2 = Sqr(s2)
End Function
Function s3(x() As Single, n%) As Single
Dim i%
HUMG’S VISUAL BASIC
trang 19
BÀI TẬP TIN ĐẠI CƯƠNG
s3 = 0
For i = 1 To n
s3 = s3 + x(i) ^ 3
Next i
s3 = s3 / n
End Function
Function s4(x() As Single, n%) As Single
Dim i%
s4 = 0
For i = 1 To n
s4 = s4 + (x(i) - s2(x(), n)) ^ 2
Next i
s4 = Sqr(s4)
End Function
Private Sub Command1_Click()
Dim x() As Single, n%
Do
n = InputBox("nhap so phan tu mang")
Loop Until (n >= 0) And (n <= 500)
ReDim x(n)
For i = 1 To n
x(i) = InputBox("x[" & i & "] = ")
Next i
Print "s2 = " & s2(x(), n)
Print "s3 = " & s3(x(), n)
Print "s4 = " & s4(x(), n)
End Sub
Bài 6.5
HUMG’S VISUAL BASIC
trang 20
BÀI TẬP TIN ĐẠI CƯƠNG
Sub daoday(x() As Single, n%)
Dim i%, tam!
For i = 1 To n \ 2
tam = x(i)
x(i) = x(n - i + 1)
x(n - i + 1) = tam
Next i
End Sub
Sub sapxepday(x() As Single, n%)
Dim i%, tam!, m%
m=1
Do While (m <= n)
For i = 1 To n - 1
If x(i) < x(i + 1) Then
tam = x(i)
x(i) = x(i + 1)
x(i + 1) = tam
End If
Next i
m=m+1
Loop
End Sub
Private Sub command1_click()
Dim x() As Single, n%, i%, kq$
Do
n = InputBox("nhap so phan tu mang")
Loop Until (n > 0) And (n < 200)
ReDim x(n)
HUMG’S VISUAL BASIC
trang 21
BÀI TẬP TIN ĐẠI CƯƠNG
For i = 1 To n
x(i) = InputBox("x[" & i & "] = ")
Next i
Call daoday(x(), n)
kq = ""
For i = 1 To n
kq = kq & CStr(x(i)) & " "
Next i
Print kq
kq = ""
Call sapxepday(x(), n)
For i = 1 To n
kq = kq & CStr(x(i)) & " "
Next i
Print kq
End Sub
Bài 6.7
Function ktdoixung(x() As Single, n%) As Boolean
Dim i%
ktdoixung = True
For i = 1 To n \ 2
If x(i) <> x(n - i + 1) Then
ktdoixung = False
Exit For
End If
Next i
End Function
Function ktcsc(x() As Single, n%) As Boolean
HUMG’S VISUAL BASIC
trang 22
BÀI TẬP TIN ĐẠI CƯƠNG
Dim i%
ktcsc = True
d = x(2) - x(1)
For i = 2 To n - 1
If (x(i + 1) - x(i) <> d) Then
ktcsc = False
Exit For
End If
Next i
End Function
Private Sub Command1_Click()
Dim x() As Single, n%, i%
Do
n = InputBox("so phan tu mang")
Loop Until (n > 0) And (n < 100)
ReDim x(n)
For i = 1 To n
x(i) = InputBox("x[" & i & "] = ")
Next i
If ktdoixung(x(), n) = True Then
Print ("day doi xung")
Else
Print ("day khong doi xung")
End If
If ktcsc(x(), n) = True Then
Print "day la cap so cong voi cong sai : " & x(2) - x(1)
Else
Print "day khong phai cap so cong"
End If
HUMG’S VISUAL BASIC
trang 23
BÀI TẬP TIN ĐẠI CƯƠNG
End Sub
Bài 6.9
Function ktnt(n%) As Boolean
Dim i%
ktnt = True
i=2
Do While (i < n) And (n Mod i <> 0)
i=i+1
Loop
If i <> n Then ktnt = False
End Function
Function kttm(n%) As Boolean
Dim i%, st%, st1%
kttm = False
For i = 2 To n
st = i: st1 = n - i
If (ktnt(st) = True) And (ktnt(st1) = True) Then
kttm = True
End If
Next i
End Function
Private Sub Command1_Click()
Dim x() As Integer, i%, n%, kq$
Do
n = InputBox("nhap so phan tu mang")
Loop Until (n > 0) And (n <= 500)
ReDim x(n)
For i = 1 To n
HUMG’S VISUAL BASIC
trang 24
BÀI TẬP TIN ĐẠI CƯƠNG
Do
x(i) = InputBox("x[" & i & "] = ")
Loop While (x(i) < 0)
Next i
kq = ""
For i = 1 To n
If kttm(x(i)) = True Then kq = kq & CStr(x(i)) & " "
Next i
Print kq
End Sub
Bài 6.10
Function ktnt(n%) As Boolean
Dim i%
ktnt = True
i=2
Do While (i < n) And (n Mod i <> 0)
i=i+1
Loop
If (i <> n) Then ktnt = False
End Function
Function ktcp(n%) As Boolean
Dim i%
ktcp = True
For i = 1 To n
If (i ^ 2 = n) Then Exit For
Next i
If i > n Then ktcp = False
End Function
HUMG’S VISUAL BASIC
trang 25