Function ktnguyenton% as BooleanDim i% Ktnguyento=truei=2 do while in then ktnguyento = falseend function II.
Trang 1Bà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
Trang 2Private Sub Command1_Click()
Dim n%, s1&, s2&, s!, i%
Private Sub Command1_Click()
Dim a%, b%, c%, max%
Trang 4Print "chao tap biet"
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%
Trang 5Print s1 & " " & s2
If (s1 = s2) Then Print "cong thuc dung"
Private Sub Command1_Click()
Dim chuc%, dv%, i%, s&, kq1$, kq2$, kq3$ kq1 = "": kq2 = "": kq3 = ""
Trang 6For 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 & " "
c = InputBox("nhap sai so")
Loop Until (c > 0) And (c < 1)
k = 1
i = 1
e = 1
Do While (k > c)
Trang 7Private Sub Command1_Click()
Dim a#, i&, s#
Trang 8Dim a&, x$, n%, dem%
Trang 10Private Sub Command1_Click()
Dim x!, n%, e!, s!, i%
e = InputBox("nhap sai so")
Loop Until (e > 0) And (e < 1)
Private Sub Command1_Click()
Dim x!, i%, cos!, k!
x = InputBox("nhap goc")
k = 1: i = 1
cos = 0
Trang 11Private Sub command1_click()
Dim pi!, i#, k#
Trang 12Private Sub command1_click()
Private Sub command1_click()
Dim i1%, i2%, s!, i%
i1 = InputBox("nhap so thu nhat")
i2 = InputBox("nhap so thu hai")
Loop Until (i1 > 0) And (i1 < i2)
Trang 15Private Sub Command1_Click()
Dim xau1$, xau2$, n%, i%, m%, j%, kq$
xau1 = InputBox("nhap xau 1")
xau2 = InputBox("nhap xau 2")
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), " ")
Trang 17Function demam(x() As Single, n%) As Long
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
If (x(i) Mod 2 = 0) Then
sochan = sochan & CStr(x(i)) & " "
Next i
Trang 18If (x(i) Mod 2 <> 0) Then
sole = sole & CStr(x(i)) & " "
Function fibonaci(n%) As String
Dim i%, x() As Integer
ReDim x(n)
x(1) = 1
Trang 21Sub daoday(x() As Single, n%)
Dim i%, tam!
Sub sapxepday(x() As Single, n%)
Dim i%, tam!, m%
Private Sub command1_click()
Dim x() As Single, n%, i%, kq$
n = InputBox("nhap so phan tu mang") Loop Until (n > 0) And (n < 200)
ReDim x(n)
Trang 23n = 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")
Trang 24Private Sub Command1_Click()
Dim x() As Integer, i%, n%, kq$
n = InputBox("nhap so phan tu mang")
Loop Until (n > 0) And (n <= 500)
ReDim x(n)
For i = 1 To n
Trang 25Do
x(i) = InputBox("x[" & i & "] = ")
Loop While (x(i) < 0)
Trang 27Private Sub Command1_Click()
Dim x() As Integer, i%, n%, kq$
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 & "] = ")
Loop While (x(i) < 0)
Các thu t toán thông d ng ậ ụ
I TÌM S NGUYÊN T : Ố Ố s nguyên t là s ch chia h t cho 1 và chính nóố ố ố ỉ ế
Cho m t s n b t kỳ thu t toán đ tìm ra n có ph i s nguyên t hay không th c hi n nh ộ ố ấ ậ ể ả ố ố ự ệ ưsau:
Trang 28Function ktnguyento(n%) as Boolean
Dim i%
Ktnguyento=truei=2
do while (i<n) and (n mod i <>0)
i = i +1loop
if i< >n then ktnguyento = falseend function
II TÌM S HOÀN H O: Ố Ả s hoàn h o là s b ng t ng các ố ả ố ằ ổ ướ ố ủc s c a nó không k chính nóể
cho m t s n b t kỳ ki m ta xem s đó có ph i s hoàn h o không ta th c hi n nh sau:ộ ố ấ ể ố ả ố ả ự ệ ưfunction ktsohoanhao(n%) as Boolean
dim i%,s&
s = 0ktsohoanhao = truefor i=1 to n - 1
if n mod i = 0 then
s = s +iend if
next i
if s< > n then ktsohoanhao = falseend function
III TÌM S CHÍNH PH Ố ƯƠ NG: s chính phố ương là s b ng bình phố ằ ương c a m t s nguyênủ ộ ố
Cho m t s n b t kỳ ki m tra xem n có ph i s chính phộ ố ấ ể ả ố ương không ta th c hi n nh sau:ự ệ ưFunction ktchinhphuong(n%) as Boolean
Dim i%
Ktchinhphuong = trueFor i=1 to n
If i^2 = n then exit forNext i
If i>n then ktchinhphuong = falseEnd function
IV KI M TRA XEM DÃY S CÓ Đ I X NG HAY KHÔNG Ể Ố Ố Ứ
Đ ki m tra xem m t dãy s có đ i x ng hay không ta làm nh sau:ể ể ộ ố ố ứ ư
Function ktdoixung(x() as interger,n%) as Boolean
Dim i%
Ktdoixung = trueFor i=1 to n\2
If x(i) < > x(n-i+1) then
Ktdoixung = falseExit for
End ifNext i
Trang 29V Đ O NG Ả ƯỢ C DÃY S : Ố
Đ đ o ngể ả ược m t dãy s ta làm nh sau:ộ ố ư
Sub daonguocday(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) = tamnext i
Mu n chuy n m t ph n t xu ng cu i chu i ta cũng t o ra m t bi n tam và th c hi n nh ố ể ộ ầ ử ố ố ỗ ạ ộ ế ự ệ ưsau:
loop
IX Đ M S T CÓ TRONG CHU I: Ế Ố Ừ Ỗ
Đ đ m s t có trong chu i ta làm nh sau:ể ế ố ừ ỗ ư
Function demtu(x1$, x$) as integer
Dim i%,n%
n=len(x)demtu=0for i=1 to n
if x1=mid(x,i,1) then demtu=demtu+1next i
Trang 30end function
X L Y TÊN RA T H TÊN V A NH P VÀO: Ấ Ừ Ọ Ừ Ậ
Đ l y tên ra t h tên v a nh p vào ta làm nh sau:ể ấ ừ ọ ừ ậ ư
Gi s ta có m t h tên đả ử ộ ọ ượ ưc l u trong chu i x ỗFunction ten(x$) as string
Dim n%,i%,t%,vt%
n=len(trim(x))i=1
ten = mid(x,t+1,n-t)end function
Bài 1: nh p vào m t chu i in ra t dài nh t ậ ộ ỗ ừ ấ
Bài làm:
Private Sub Command1_Click()
Dim x$, n%, i%, x1$, x2$, max%
x = InputBox("nhap xau ky tu")
Trang 31Private Sub Command1_Click()
Dim x() As String, n%, i%, m%, tam$, fn%
n = InputBox("nhap so sinh vien")
Loop Until (n >= 0) And (n <= 500)
Trang 321 Xây d ng chự ương trình cho phép nh p vào 1 s nguyên dậ ố ương n hãy ki m tra xem đó có ph i làể ả
s chính phố ương và chia h t cho 2 không?ế
2 Xây d ng chự ương trình nh p vào m t danh sách cán b g m h tên, ngày sinh, đ n v hãy in ra ậ ộ ộ ồ ọ ơ ịthông tin c a cans b mang h “tr n”.ủ ộ ọ ầ
Bài làm Bài 1
Function ktcp(n%) As Boolean
Trang 33If (ktcp(n) = True) And (n Mod 2 = 0) Then
Print n & " thoa man dieu kien dau bai"
Trang 34ho = Mid(x, 1, vt - 1)
End Function
Private Sub Command1_Click()
Dim cb() As canbo, i%, m%, n%, fn%
n = InputBox("nhap so can bo")
ReDim cb(n)
For i = 1 To n
cb(i).hoten = InputBox("nhap ho ten can bo thu " & i)
cb(i).ngaysinh = InputBox("nhap ngay sinh can bo thu " & i)
cb(i).donvi = InputBox("nhap don vi can bo thu " & i)
Vd: h tên nh p vào là “trAn vAN hUnG” xâu sau khi in sẽ là “Tran Van Hung”.ọ ậ
2 Xây d ng chư ương trình cho phép nh p vào t a đ (x,y) c a 2 đi m, tính và ki m tra xem đi m ậ ọ ộ ủ ể ể ể
đó có đ i x ng nhau qua g c t a đ hay không?ố ứ ố ọ ộ
Bài làm
Trang 35Private Sub Command1_Click()
Dim x1%, x2%, y1%, y2%
x1 = InputBox("nhap hoanh do diem 1")
y1 = InputBox("nhap tung do diem 1")
x2 = InputBox("nhap hoanh do diem 2")
y2 = InputBox("nhap tung do diem 2")
If (x1 = -x2) And (y1 = -y2) Then
Print ("hai diem doi xung nhau qua goc toa do")
Else
Trang 36Print ("hai diem khong doi xung nhau qua goc toa do")
End If
End Sub
Đ 3: ề
1 Xây d ng chự ương trình tìm và in ra t t c các s t nhiên có 4 ch s mà trong m s không có ấ ả ố ự ữ ố ỗ ố
2 ch s nào gi ng nhau Ví d 3742 không có 2 ch s gi ng nhau.ữ ố ố ụ ữ ố ố
2 Xây d ng chự ương trình cho phép nh p vào 2 phân s (bao g m t s và m u s ) hãy tin ra ậ ố ồ ử ố ẫ ố
t ng 2 phân s d ng t i gi n.ổ ố ở ạ ố ả
Bài làm Bài 1.
Private Sub Command1_Click()
Private Sub Command1_Click()
Dim a1%, a2%, b1%, b2%, x1$, x2$, vt1%, vt2%
Trang 37x2 = InputBox("nhap phan so thu 2")
Private Sub Command1_Click()
Dim n%, a!, i%, s!
n = InputBox("nhap so n")
Loop Until n >= 0
Trang 381 Vi t chế ương trình nh p vào m t dãy s nguyên dậ ộ ố ương x1, …, xn (n<100) sau đó tìm các ph n t ầ ử
xi v a là s ch n v a chia h t cho 13, n u nh không có ph n t xừ ố ẵ ừ ế ế ư ẩ ử i nào nh v y thì in ra thông ư ậbáo
2 Vi t chế ương trình nh p vào m t s nguyên dậ ộ ố ương n, sau đó ki m tra tích các ch s c a n có ể ữ ố ủ
ph i là s chia h t cho 3 và có 2 ch s hay không?ả ố ế ữ ố
Bài làm Bài 1.
Private Sub Command1_Click()
Dim x() As Integer, i%, n%, dem%
n = InputBox("nhap so phan tu mang")
Loop Until (n > 0) And (n < 100)
Trang 41If Val(Mid(x, i, 1)) Mod 2 = 0 Then
x = Mid(x, 1, i) & CStr(min(n)) & Mid(x, i + 1)
Trang 421 Xây d ng chự ương trình nh p s li u t t p “dayso.dat” vào 1 dãy s nguyên xậ ố ệ ừ ệ ố 1,x2, ,xn g m n ồ
ph n t hãy in ra v trí ph n t âm đ u tiên trong dãy n u không có ph n t nào thì in ra thôngầ ử ị ẩ ử ầ ế ầ ửbáo
2 Xây d ng chự ương trình cho phép nh p vào 1 s nguyên dậ ố ương n tach n thanh 2 so nguyên
dương a,b (n = a+b), sao cho tích p= a*b2 đ t c c đ i.ạ ự ạ
Bài làm Bài 1.
Private Sub Command1_Click()
Dim n%, i%, fn%, x() As Integer
Private Sub Command1_Click()
Dim n%, a%, b%, max!, a1%, a2%, p!
n = InputBox("nhap n")