1. Trang chủ
  2. » Công Nghệ Thông Tin

Tự học thiết kế chương trình cho học sinh làm toán bằng Visual Basic 6.0 tập 1 part 4 ppsx

66 366 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 19,09 MB

Nội dung

Trang 1

+ Bạn thấy đây là một cấp số cộng có công sai là - 4, kiểm tra lại bạn thấy đúng phải không

+ Khi Click vào nút kiểm tra xem có phải là một cấp số nhân hay không, chắc chắn các bạn thấy đây không phải là một cấp số nhân, bạn thử kiểm tra xem sao

+ Bây giờ nếu bạn nhập vào a = 1 Ấ b = 1, c=1, Click vào nút để xem kết quả có phải là cấp số cộng hay không, bạn sẽ có hình như sau :

HEO THỦ TƯ CƠ PHAI LA MỌT CAP SƠ CÔNG, Nhận vào 3 số a, h, c a=fi b=f1 c=Ỉ Ba số nhân biệt 1, 1, 1 theo thứ tự như vậy khổng phải là một cấp số cộng

Xem có phải là cấn : SỐ ( ng | Xem có phải là cấp số nhân

Thoát khỏi chương trình |

gRsi| | 2s DW || ey reeat of BM | pzeasirane If RENTS /REE SP Hình 12e + Bạn thấy ba số này thỏa định lý là 2.b = a + c M.2.1=1+1 + Nhưng không thỏa điều kiện về công sai, vì công sai ở đây bằng 0(b-a=1-1=0)

+ Nếu bạn vào cửa sổ viết Code và xoá bớt đi điều kiện b - a < >

0, thì chương trình sẽ báo đúng, đây là một cấp số cộng, bạn thử xem sao, sau đó bạn lại sửa lại cho đúng như cũ

+ Bây giờ bạn thử nhập vào số thực xem chương trình xử lý có đúng hay không nhé

+ Giả sử bạn nhập a = 0.5, b=1 và c = 1.5 Bạn lưu ý phải nhập là dấu chấm, không dược nhập dấu phẩy

+ Click vào nút xem kết quả về cấp số cộng, Bạn sẽ có hình như sau :

Trang 2

CS [-IzI>] Nhập vào 3 số a, h, c a= |0.5 b= |1 c= |1.5 Ba số nhân hiệt 0,5, 1, 1,5

theo thứ tự như vậy là một cấp số cộng

Đây là một cấp số cộng tiến, với công sai là 0,5

em có nhải là cấp số cộng | Xem có phải là cấp số nhân |

Thoát khỏi chương trình |

sted ||| B Ss |) AyProectt-o.| wy Microsc w #ie3e-Pam |[S KeMI ie 944PM Hình 12ắ

+ Bạn thấy thông báo là cấp số cộng, và công sai của chúng là 0,5 (Khi báo ra TextBox máy sẽ báo là dấu phẩy)

+ Bây giờ chúng ta qua thử về cấp số nhân Giả sử các bạn nhập vàoa=2,b=6,c=18 + Click vào nút xem kết quả về cấp số nhân, bạn sẽ có hình như sau : SS eT NG - CẤP SŨ NHAN Er Nhận vào 3 số a, h, c a= |2 b= |6 c= |18 Ba số nhân biệt 2, 6, 18

theo thứ tự như vậy là một cấp số nhân

Đây là một cấn số nhân tiến, với công hội là 3 Xem có nhải là cấp số cộng [Xem có phải là cấn số nhân

Thoát khổi chương trình

#fsien| | @ 8: 22 32 | ty Proeat-m.] wyoowew.| prew-ran |[S KEMT.Ở (ý 349m

Hình 12g

Trang 3

+ Bạn thấy báo kết quả là một cấp số nhân với công bội là 3 + Kiểm tra lại, bạn thấy chắnh xác phải không + Bây giờ bạn thử nhập a = 0.5, b = 0.25, c = 0.125 + Click vào nút xem kết quả về cấp số nhân, bạn sẽ có hình như sau : CURE a CE Nh4p vao 3 s6 a,b,c a= (0.5 b= [0.25 c= [0.125 Ba số phân biệt 0,5, 0,25, 0,125

theo thứ tự như vậy là một cấp số nhân

Đây là một cấp số nhân thoái, với cổng hội là 0,5

Xem có phải là cấp số cộng ||Xem có phải là cấp số nhân]

Thoát khồi chương trình

gRsun| ( ử8 6: 3 S) (Í &PuealcM.| BVMaotv.|l6193 ải [fe KENT IRE SEPM

Hình 12h

+ Bạn thấy kết quả báo ra là một cấp số nhân có công bội là 0,5 + Bạn thử Click nút để kiểm tra cấp số cộng, bạn sẽ thấy báo không phải là cấp số cộng như hình sau :

Trang 4

PT

Nhập vào 3 số a, h, Ủ

a= |0.5 b= |0.25 c= (0.125

Ba sé phan biét 0,5, 0,25, 0,125

theo thứ tự như vậy không phải là một cấp số cộng

ÍXem có phải là cấp số cộng | Xem có phải là cấp số nhân |

Thoát khỏi chương trình |

wasret| | B 85D OD || ty Propatm.| gyMGosetv | lđỉ8m-Psn [fs Kew Tig s5áPM

Hinh 12i

+ Bây giờ bạn nhập a = 7 ,b= - 7Ấc =7 Click vào nút xem kết quả cấp số nhân, bạn sẽ có hình như sau :

& KIEM TA BA SƠ THÉO THỨ TU CƠ PHÁI LA MŨT CAP SỬ CÔNG -CAP SŨ NHAN

Nhập vào 3 số a, h, 6

a= /|7 b= [7 c= {7

Ba số nhân hiệt 7, -7, 7

theo thứ tự như vậy là một cấp số nhân

Đây là một cấp số nhân với những số hạng lần lượt thay đổi dấu, với công bội là -1

Xem có nhải là cấn số cộng | ÍXem có phải là cấp số nhân

Thoát khỏi chương trình `

Stat] |B 8: GÀ 39 (| ý ngeel.M.| RVMoestw.| #9ã.Pm+ |[S KEMT lẲ: 3% Hình 12j

Trang 5

11 | Label Name Lbl9 | BackColor Mau vang Caption 9 Font Name MS Sans Serif Font Size 18

Font Style Bold

12 | Label Name Lbli0

BackColor Mau vang

Caption 10

Font Name MS Sans Serif

Font Size 18

Font Style Bold

13 | Label Name LBI11

BackColor Mau vang Caption T1 Font Name MS Sans Serif Font Size 18 Font Style Bold 14 | TextBox Name Txt?

BackColor Mau tring Font Name MS Sans Serif Font Size 15 Font Style Boid Text (Để trống) 15 | TextBox Name Txt2 BackColor Màu trắng Font Name MS Sans Serif Font Size 15 Font Style Bold Text (Để trống) 16 | TextBox Name Txt3

BackColor Mau tring Font Name MS Sans Serif

Trang 6

Font Size 15 Font Style Bold ; Text (Để trống) 17 | TextBox Name Txt4 BackColor Mẫu trắng Font Name MS Sans Serif Font Size 15 Font Style Bold Text (Để trống) 18 | TextBox Name Txt5 BackColor Mẫu trắng Font Name MS Sans Serif Font Size 15 Font Style Bold Text (Để trống) 19 | TextBox Name Txt6

BackColor Mau trang

Font Name MS Sans Serif

Font Size t5

Font Style Bold

Text (Để trống)

20 | TextBox Name Txt?

BackColor Mau trang

Font Name MS Sans Serif

Font Size 15

Font Style Bold

Text (Để trống)

21 | TextBox Name Txt8

BackColor Mau trang

Trang 7

22 | TextBox Name Txt9

BackColor Mau trang Font Name MS Sans Serif

Font Size 15

Font Style Bold

Text (Để trống)

23 | TextBox Name Txt10

BackColor Mau trang Font Name MS Sans Serif Font Size 15 Font Style Bold Text (Để trống) 24 | TextBox Name TxU1 BackColor Mầu trắng Font Name MS Sans Serif Font Size 15 Font Style Bold Text (Để trống) 25 | TextBox Name TxtKetqua BackColor Mau héng Font Name VNI - Helve Condense Font Size 16 Font Style Bold MultiLine True Text (Để trống)

26 | Command Name CmdThoat

Button Caption Thoát khỏi chương trình, Font Name VNI Ở Helve Condense

Font Size 14

|_ Font Style Bold

27 | Command Name CmdKetqua

Button Caption Kiểm tra có phải là cấp số cộng Font Name VNI - Helve Condense

Font Size 14

Font Style Bold _|

Trang 8

Buse 1

THIET KE FORM CUA CHUONG TRINH

Bạn lần lượt lấy từng điều kiểm ở hộp công cụ để thiết kế được như trong hình, sau đó bạn xác lập các thuộc tắnh cho các điều kiểm như đã hướng dân trong bảng các thuộc tắnh ở trên Giá sử bạn đã thiết kế xong

Bạn thiết kế các TextBox từ trái qua phải, để việc nhập dây số được dễ dàng Bước 2 VIẾT CODE CHO CHƯƠNG TRÌNH Option Explicit

1) Viết Code cho điều kiểm CmdCapsocong

Trang 9

Mang(4) = Val(Txt5} Mang(5) = Val{Txt6) Mang(6) = Val(Txt7) Mang(7) = Val(Txt8) Mang(8) = Val(Txt9) Mang(9) = Val(Txt10) Mang(10} = Val(Txt? 1) Congsai = Mang(1) ~ Mang(0) lÍ Congsai = 0 Then

Trang 10

n=n+l End It Next lin = 10 Then lắ Congsai > 0 Then

Chl =" Cap s6 cộng này là cấp số cộng tiến, với công sai la" & Congsai

End If

If Congsai < 0 Then

Ch1 = " Cấp số cộng này là cấp số cộng thối, với cơng sai là " & Congsal

End if

TxtKetqua = " Day số theo thứ tự mà bạn đã nhập vào là :"

& Xh &"" & Left(Ch, Len(Ch) - 2) & Xh & " Đây là một cấp 6 cong" & Xh & Ch! & Xh & " Tổng số Sn của 11 sé hang dau la * & 41 * (Mang(0) + Mang(10)) / 2

Else

TxtKetqua =" Day sé theo thi ty ma ban đã nhập vào là:

& Xh &"ồ" & Left(Ch, Len(Ch) - 2) & Xh & " Không phải là cấp số công"

End li

End Sub

Trang 11

+ Khai báo biến ¡ có kiểu nguyên, dùng để làm biến chảy trong vòng lặp For lấy các phần tử của mảng để kiểm tra,

+ Biến j có kiểu nguyên, dùng làm biến chạy để lấy phan tử đứng Sau so sánh với phần tử trước, biến j phải lớn hơn ¡ là 1, tại thời điểm bất kỳ Bạn sẽ thấy khi chúng tôi giải thắch đến vòng fap For

+ Biến Ch có kiểu String dùng để lấy kết quả của chuỗi các phần tử của dây số

+ Biến ChẨ có kiểu String dùng để chứa các chuỗi thông báo dây là cấp số công tiến; hay cấp số cộng thối và cơng sai của nó

+ Biến a có kiểu Single dùng để chứa phần tử trước của mảng + Biến b có kiểu Single dùng để chứa phần tử liễn sau của mắng sọ với vị trắ phần tử của biến a ở trên,

> Vắ dụ : Nếu a = Mang (0) thì b = Mang (1)

+ Biến Congsai có kiểu Single dùng để chứa giá trị của Mang(1} Ở Mang(0) Điều này có nghĩa l3 nếu đãy số trên là một cấp Số cộng, thì Mang(1) - Mang (0) sẽ là Công sai, nếu dãy số trên không phải là cấp số cộng thì cũng không ảnh hưởng gì

+ Biến n có kiểu nguyên, biến này là biến đếm, nếu như điều kiện số hạng sau và số hạng trước thỏa định nghĩa của cấp số cộng, thì biến n tăng lên 1 Nếu cuối cùng biến này bằng số lần so sánh tất cả các trường hợp của các số hạng, thì dãy số trên sẽ là cấp Số cộng

+ Biến Xh có kiểu String dùng để chứa mã xuống hàng

+ Khai báo mảng cố định một chiều có kiểu là Single và độ lớn là 10 (chứa 11 phần tử vì chạy từ 0 đến 10)

+ Gán'các giá trị trong các TextBox, từ TextBox có tên la Txt] dén Fxt11 tắnh từ trái sang phải), các gid trị sẽ được gán tương ứng, tức là gan cho Mang(0) gid tri Txt1, mang(1) gid rj Txt2 va Mang(10) gia

trị của Txt11

+ Gan cho bién Congsai giá trị của Mang(1) Ở Mang (0)

Trang 12

+ Phát biểu lắ kiểm tra nếu biến Congsai = 0, bao ra TextBox khong phải là cấp số cộng với lý do Congsai bằng 0, thốt khỏi thủ tục

(khơng thực hiện các câu lệnh phắa sau)

+ Nếu Congsai khác 0, nó sẽ bỏ qua phát biểu Ii ind if nay, để vào vòng lặp For chạy từ 0 dén 10

+ Vòng lặp For này sẽ duyệt qua hết 11 phần tử của mảng có tên Mang + Gán giá trị đầu tiên của mảng là Mang(0) cho biến a, để lấy được phần tử đi sau Mang(0), tức là Mang(1), chúng tôi cho biến

j=j+l =0+T=T

+ Nếu biến j nhỏ hơn 11, gần giá trị MangU) cho biến b (trong trường hợp này là Mang)

+ Khi đã có a = Mang (0) và b= Mang(1) Ta bắt dầu vào phát biểu lắ để kiểm tra, nếu b= a + congsai (thỏa điều kiện của cấp số công)

thì tăng biến n lên một đơn vị

+ Qua trình lặp lại, bây giờ ¡ là 1, j = j +1= 2 vậy a = Mang() = Mang q), va b = Mang (j) = Mang (2), tiép tục tim diéu kién b = a + congsai ,

nếu thỏa hay không thỏa cũng quay lại tắnh tiếp, và công việc cứ tiếp

tục như vậy cho đến khi biến ¡ =11, nó sẽ thoát khỏi vòng lặp For (nếu muốn tiết kiệm thời gian, bạn có thể cho mot phat biéu If End if để kiểm tra ngay, nếu b <> a + Congsai thì thoát ra khỏi thủ tục ngay, không cần phải chạy hết vòng lập For Vi bây giờ máy chạy quá nhanh, nên các bạn không thấy điều đó, tuy nhiên nếu vòng For chạy đến một số rất lớn, bạn phải sử dụng phát biểu lắ như chúng tôi dé cập ở trên)

+ Lúc này chúng ta chỉ việc kiểm tra biến n, ở trên bạn thấy có tất

cả 10 lần kiểm tra, nếu biến n = 10 Tức là cả mười lần ta đều có b= a + Congsai, vay day số trên chắc chắn là một cấp số cong Khi da chắc chắn là một cấp số cộng, bạn kiểm tra xem day là cấp số ông tiến, hay cấp số cộng thối, bạn biết nếu Cơng sai lớn hơn 0 thì dây là

cấp số công tiến, nếu Congsai nhỏ hơn 0 thì nó sẽ là một cấp số cộng

thoái; bạn dùng hai phat biéu If End if để kiểm tra Trong trường

Trang 13

hợp này các bạn có thể dùng phát biểu cấu trúc sau thay cho hai phát biểu lắ End iắ Đó là :

It Congsai > 0 Then

+ Bạn biết tại sao dùng được, vì nếu Congsaf = 0 thì sao ? Nhưng trong trường hợp này được, vì ở trên ta đã kiểm tra biến Congsai = 0

rỗi, nếu nó bằng 0 thì đâu có thể thực hiện được các câu lệnh này,

Chắnh vì sợ các bạn có thể áp dụng nhằm khi lập các chương trình khác tương tự (nếu chưa kiểm tra biến bằng 0) thì sẽ cho kết quả sai, tức là khi Congsai = 0, nó vẫn thực hiện các câu lệnh theo sau Else (mà ở đây nếu Congsai = O thì không phải là cấp số công) Bây giờ thì các bạn có thể yên tâm để thay đổi lai phát biểu trên theo cấu trúc If Else End if Gần giá trị cho biến Ch1, biến này sẽ tham gia với kết quả thông báo cuối cùng

Thông báo kết quả cuối cùng ra hập TextBox có tên là TxtKetqua, với nội dung là những gì gần ở sau nó, các bạn chắc đã quá rành rồi phải không, Bạn lưu ý chương trình có báo tổng Sn của cấp số cộng qua công thức mà đầu bài da cho ở trên

+ Ngược lại, nếu biến n khác 10 (nhỏ hơn 10), nó sẽ thực hiện câu lệnh sau Else, tức là thông báo Ộ Dậy số trên không phải là một cấp số cộng Ộ 2) Viết Code cho điều kiểm CmdThoat

Private Sub CmdThoat_Click() End

Trang 14

Bước 3

CHẠY THỬ CHƯƠNG 1 4ÌNH

+ Bạn nhấn phắm F5 để chạy thử chương trình

+ Bây giờ bạn thử nhập vào 11 ô với 11 số lẻ đầu tiên, sau đó các bạn Click nút Command Button dé xem két qua Bạn sẽ có hình như sau :

& KEM TRÀ DẤY SỐ NHẠP VAO CŨ PHAI LA a Day sé theo thứ tự mà bạn đã nhập vào là : 1,3, 5,7, 9, 11, 13, 15, 17, 19, 21 Đây là một cấp số cộng Ộ| cấp số cộng này là cấp số cộng tiến, với công sai là 2 _ | Tổng số $n của 11 số hạng đầu là 121 Hình 13b

+ Bạn kiểm tra lại xem có đúng không, bạn thấy chắc chắn dãy số trên là một cấp số cộng, đây là một cấp số cộng tiến, với công sai là

2, bạn cộng 11 số lễ trên, bạn sẽ thấy tổng của chúng sẽ bằng 121 + Bay gid ban thif nhap 11 số chẵn đầu tiên, Click vào nút để xem kết quả, bạn sẽ có kết quả như sau :

Trang 15

Bạn nhập vào 11 số, kiểm tra xem có phải là cấp số cộng hay không

Pe 1 2 3 fe fro lẽ fia fre fs foo a 4 5 6 7 8 9 10 11 Dấy số theo thứ tự mà bạn đã nhập vào là : 2,4, 6, 8, 10, 12, 14, 18, 18, 20, 22 Đây lâ một cấp số cộng Cấp số cộng này lả cấp số cộng tiến, với công sai là 2 Tổng số $n cựa 11 số hạng đầu là 132

Kiểm tra có phải lả cấp số cộng Thoát khỏi chương trình

sent ử 9: 22 || ty Acct me] gyMessav | 7800 -Pace_|fE KEM TAT i

Hình 13c

+ Bạn kiểm tra lại xem có đúng không, bạn thấy chắc chắn dãy số trên là một cấp số cộng, đây là một cấp số cộng tiến, với công sai là 2, bạn cộng 11 số chắn trên, bạn sẽ thấy tổng của chúng sẽ bằng 132 + Bây giờ bạn thử nhập 11 số đều bằng nhau, giả sử cả 11 số đều bằng 5, chắc chắn chương trình sẽ báo đây không phải là một cấp số cộng, vì công sai bằng 0, bạn sẽ có thông báo như ở hình sau : Bạn nhập vào 11 số, kiểm tra xem có phải là cấp số cộng hay không b BE 6 E E E RE EEE 1772 3 4 5 6 wt 8 9-10 11 Dấy số bạn nhập không phải lả cấp số cộng Ộ| vì ông sai bằng 0

Thốt khơi chương trhh sun SG || forme le |svseeesv.|igiae-ne: JiSmenTEỞ Lý

Hình 13d

[tira oo orate oth 26 coma]

Trang 16

+ Bạn thấy chắnh xác phải không

+ Bây giờ bạn thử nhập một dãy số như trong hình sau và Click nút

xem kết quả, bạn thấy :

ề KIEM TRA DẠY S0 NHAP VAO CŨ PHAI LA CAP S0 CÔNG HAY KHONG Er

Trang 17

CẤP SỐ NHÂN

_ YÊU CẦU CỦA ĐẦU BÀI

rong chương trình trước, các bạn đã kiểm tra ba số xếp theo một thứ tự nào đó có phải là cấp số nhân hay không

Bài trước, chúng tôi muốn giới thiệu cho các bạn về định lý của

cấp số nhân áp dụng với ba số phân biệt,

Chương trình này, chúng tôi giới thiệu đến các bạn dãy số dài hơn, chúng tôi dùng Ẩ1 số

Yêu cầu của chúng tôi trong bài này là người sử dụng sẽ nhập vào 11 số, trong Ẩ1 TextBox từ trái qua phải Sau khi nhập xong, người sử dựng cần xem dãy số theo thứ tự trên có phải là một cấp số nhân hay không, đồng thời cũng cho biết tắch SẤ của cấp số nhân trên (tắch SẤ

được tắnh trên công thức) Trong bài trước, các bạn dùng công thức

trong các định lý, bài này các bạn phải dùng thuật toán, thì mới ra kết quả được

Bạn xem lại phần lý thuyết của bài trước về cấp số nhân, ở day chúng tôi cho bạn biết thêm công thức tắnh Sn :

Sa= U¡ *(1~ q))/(1- q)

Theo yêu cầu của đầu bài như trên, chúng tôi thiết kế Form của chương trình như sau :

Trang 18

&- KIEM TRÁ DẠY S0 NHAP VAO CŨ PHAI LA CÁP SƠ NHAN-HAY KHONG

- Bạn nhập vào 11 số, kiểm tra xem có phải là oấp số nhân hay không LJ | j1 1Đ 1.1 | I 4 7 1 2 3 5 #6 8 9 10 11 weet gehen wf e fe "

Ấ Kiểm tra có phải lả pấp số nhân Thoát khỏi phương trình sia! | BA || ty Pedeat-M.| Br Wicoek wf ntied-Pa_|fts EW TR aa

Hinh 14a

Nhìn vao Form trên, bạn thấy có các điều kiểm như sau : * 12 Label ding dé ghi tiéu dé

= 12TextBox, trong dé 11 TextBox để nhập 11 s6, 1 TextBox dùng dé thông báo kết quả

= 2 Command Button, trong đó 1 Command Button dùng để Thoát

khỏi chương trình, 1 Command button dùng để xem kết quả

= Form cé tiéu dé Ộ KIEM TRA DAY SO NHAP VAO CO PHAI LA MOT CAP SO NHAN HAY KHONG Ộ

Trang 19

BANG CAC THUOC TINH CUA GAC DIEU KIEM

TT | Đối tượng | Các thuộc tinh Giá trị

1 Form Name FrmCapsoNhan

BackColor Mau cam

Caption KIEM TRA DAY SO NHAP VAO CO PHA! LA MOT CAP

SO NHAN HAY KHONG

WindowState 2-Maximized

2 { Label Name LbITieude

BackColor Mau xanh

Caption Bạn nhập vào 11 số, kiểm tra xem có phải là cấp số nhân hay không

Font Name VNI - Helve Condense Font Size 14 Font Style Bold 3 | Label Name tbl1 BackColor Mau vàng Caption 1 Font Name MS Sans Serif Font Size 18 Font Style Bold 4 | Label Name tbl2 BackColor Mau vang Caption 2 Font Name MS Sans Serif Font Size ` 18 Font Style Bold

5 | Label Name Lbi3

Trang 21

11 | Label Name Lbl9 BackColor Màu vàng Caption 9 Font Name MS Sans Serif Font Size 18

Font Style Bold

12 | Label Name Lbi10

BackColor Mau vang

Caption 10

Font Name MS Sans Serif

Font Size 18

Font Style Bold

13 | Label Name Lblit

BackColor Mau vang Caption 11 Font Name MS Sans Serif Font Size 18 Font Style Bold 14 | TextBox Name Txt1 BackColor Màu trắng Font Name MS Sans Serif Font Size 15 Font Style Bold Text (Để trống) 15 | TextBox Name Txt2

Trang 22

Font Size 15 Font Style Bold Text (Để trống) 17 | TextBox Name Txt4

BackColor Mau trang

Font Name MS Sans Serif Font Size 15 Font Style 8old - Text (Để trống) 18 | TextBox Name Txt5 BackColor Màu trắng Font Name MS Sans Serif Font Size 15 Font Style Bold Text (Để trống) 19 | TextBox Name Txt6 BackColor Màu trắng Font Name MS Sans Serif Font Size 15 Font Style Bold Text (Để trống) 20 | TextBox Name Txt7 BackColor Màu trắng Font Name MS Sans Serif Font Size 15 Font Style Bold Text {Để trống) 21 | TextBox Name Txt8

Trang 23

22 | TextBox Name Txt9

BackColor Mau trang Font Name MS Sans Serif

Font Size 15

Font Style Boid

Text (Để trống) |

23 | TextBox Name Txt 0

BackColor Mau tring Font Name MS Sans Serif

Font Size 15

Font Style Bold

Text (Để trống)

24 | TextBox Name Txt]

BackColor Mau trang

Font Name MS Sans Serif Font Size 15 Font Style Bold Text (Để trống) 25 | TextBox Name TxtKetqua BackColor Mau héng Font Name VNI ~ Helve Condense Font Size 16 Font Style Bold MultiLine True Text (Để trống)

26 | Command Name CmdThoat

Button Caption Thoát khỏi chương trình, Font Name VNI = Helve Condense

Font Size 14

Font Style Bold

27 | Command Name CmdKetqua

Trang 24

Buse 1

THIET KE FORM CUA CHUONG TRINH

Bạn lần lượt lấy từng điều kiểm ở hộp công cụ để thiết kế được như trong hình, sau đó bạn xác lập các thuộc tắnh cho các điễu kiểm như da hướng dẫn trong bảng các thuộc tắnh ở trên Giả sử bạn đã thiết kế xong

Bạn thiết kế các TextBox từ trái qua phải, để việc nhập dãy số được dễ dàng Bước 2 VIẾT CODE CHO CHƯƠNG TRÌNH Option Explicit

Trang 25

Dim Mang(10)} As Single Mang(0) = Val(Txt1) ( Mang(1) = Val(Txt2) Mang(2) = Val(Txt3) Mang(3) = Val(Txt4) Mang(4) = Val(Txt5) Mang(5) = Val(Txt6) Mang(6) = Val(Txt7) Mang(7) = Val(Txt8) Mang(8) = Val(Txt9) Mang(9) = Val(Txt10) Mang(10) = Val(Txt11) Congboi = Mang(1) / Mang(0)

If Congboi = 0 Or Congboi = 1 Or Mang(0) = 0 Or Mang(1) =0

Or Mang(2) = 0 Or Mang(3) = 0 Or Mang(4} = 0 Or Mang(5) = 0

Trang 26

232 b = Maángfj) End tt If a * Congboi = b Then nent] End li Next lÍn = 1ử Then

lắ Congboi > 1 And Mang(0) > 0 Then

Ch1 = " Cấp số nhân này là cấp số nhân tiến, với công bội là " & Congboi

End If

If Congboi > 0 And Congboi < 1 And Mang(0) > 0 Then

Ch1 = " Cấp số nhân này là cấp số nhân thối, với cơng bội là " & Congboi End li lf Congboi < 0 Then Cht =" Nhiing sé hang cla cap 50 nhan nay fan lượt đổi dấu " End tắ

TxtKetqua = " Dãy số theo thứ tự mà bạn đã nhập vào là :

Trang 27

Else

TxtKetqua = " Day số theo thứ tự mà bạn đã nhập vào

là: " & Xh & " " & Left(Ch, Len(Ch) - 2) & Xh & " Không

phải là cấp số nhân"

End lắ End Sub

+ Khai báo biến ¡ có kiểu nguyên, dùng để làm biến chạy trong vòng lặp For lấy các phan tử của mảng để kiểm tra

+ Biến j có kiểu nguyên, dùng làm biến chạy để lấy phần tử đứng sau so sánh với phần tử trước, biến j phải lớn hơn ¡ là 1, tại thời điểm bất kỳ, Bạn sẽ thấy khi chúng tôi giải thắch đến vòng lặp For

+ Biến Ch có kiểu String dùng để lấy kết quả của chuỗi các phần tử của đãy số

+ Biến Ch1 có kiểu String dùng để chứa các chuỗi thông báo đây là cấp số nhân tiến, hay cấp số nhân thoái hoặc cấp số nhân có các số hạng lần lượt thay đổi dấu, và công bội của nó

+ Biến a có kiểu Single dùng để chứa ph tử trước của mảng + Biến b có kiểu Single dùng để chứa phần tử liền sau của mắng so với vị trắ phần tử của biến a ở trên

Ừ Vi dy: Néu a = Mang (0) thì b = Mang (1)

+ Biến Congboi có kiểu Single dùng để chứa giá trị của Mang(1) / Mang(0) Diéu nay cé nghia Ia néu day s6 trén la một cấp số nhân, thì Mang(t) / Mang (0) sẽ là công bội, nếu dãy số trên không phải là cấp số nhân thì cũng không ảnh hưởng gì

+ Biến n có kiểu nguyên, biến này là biến đếm, nếu như điều kiện số hạng sau và số hạng trước thỏa định nghĩa của cấp số nhân, thì biến n tăng lên 1 Nếu cuối cùng biến này bằng số lần so sánh tất cả các trường hợp của các số hạng, thì dãy số trên sẽ là cấp số nhân

Trang 28

+ Biến Xh có kiểu Strinp dùng để chứa mà xuống hàng

+ Khai báo mảng cố định một chiều có kiểu là Single và độ lớn là

10 (chứa 11 phần tử vì chạy từ 0 đến 10)

+ Gan cdc gid tri trong cdc TextBox, từ TextBox có tên là TxtT dén

Tx111 trắnh từ trái sang phải), các giá trị sẽ được gán tương ứng, tức là gan cho Mang(0) giá trị Tx11, Mang(1) giá trị Txt2 va Mang(10) gid tri ca Txt11

+ Gan cho bién Congboi giá trị của Mang(1) / Mang (0)

+ Phát biểu lắ kiểm tra nếu biến Congboi = 0 hoặc công bội = 1, hoặc có một số hạng của dãy số mà bằng 0 thì sẽ báo ra TextBox không phải là cấp số nhân, thoát khỏi thủ tục (không thực hiện các câu lệnh phắa sau)

+ Nếu các điều kiện ở trên thỏa, nó sẽ bỏ qua phát biéu If End i này, để vào vòng lặp For chạy từ 0 đến 10

+ Vòng lặp For này sẽ duyệt qua hết 11 phần tử của mảng có tên Mang + Gán giá trị đầu tiên của mảng là Mang(0) cho biến a, để lấy được phần tử đi sau Mang(0), tức là Mang(1), chúng tôi cho biết j=]+I=0+1=T

+ Nếu biến j nhỏ hơn 11, gán giá trị Mang) cho biến b (tron; trường hợp này là Mang(1)

+ Khi đã có a = Mang (0) và b = Mang(1} Ta bắt đầu vào phát biểt lắ để kiểm tra, nếu b = a * congboi (thỏa điều kiện của cấp số nhân thì tăng biến n lên một đơn vi

+ Quá trình lặp lại, bây giờ ¡ là 1, j = j +1 = 2; vay a = Mang(i) = Mang (1), và b = Mang (J) = Mang (2), tiếp tục tìm điều kiện b = a congboi , nếu thỏa hay không thỏa cũng quay lại tắnh tiếp, và côn;

việc cứ tiếp tục như vậy cho đến khi biến i =11, nó sẽ thoát khỏi von;

lặp For (nếu muốn tiết kiệm thời gian, bạn có thể'cho một phat biéi If End if để kiểm tra ngay, nếu b <> a * Congboi thì thoát ra khổ thủ tục ngay, không cần phải chạy hết vòng lặp For Vì bây giờ má chạy quá nhanh, nên các bạn không thấy điều đó, tuy nhiên nếu vòn

Trang 29

For chạy đến một số tất lớn, bạn phải sử dụng phát biểu If như chúng tôi để cập ở trên)

+ Lúc này chúng ta chỉ việc kiểm tra biến n, ở trên bạn thấy có tất

cả 10 lần kiểm tra, nếu biến n = 10 Tức là cả mười lần ta đều có

b=a* Congboi, vậy dãy số trên chắc chắn là một cấp số nhân Khi

đã chắc chắn là một cấp số nhân, bạn kiểm tra xem đây là cấp số nhân tiến, hay cấp số nhân thoái; bạn biết nếu Công bội lớn hơn 1 và U1 > 0 thi đây là cấp số nhân tiến; nếu 0< Công bội < 1 và U1 >0

thì nó sẽ là một cấp số nhân thoái, nếu Công bội < 0, thì đây là một

cấp số nhân có các số hạng lần lượt thay đổi dấu Vậy chúng tôi dùng ba phat biéu If End if dé kiểm tra Sau đó gan gid trị cho biến Ch1, Điến này sẽ tham gia với kết quả thông báo cuối cùng

Thông báo kết quả cuối cùng ra hộp TextBox có tên là TxtKetqua, với nội dung là những gì gán ở sau nó, các bạn chắc đã quá rành rồi phải không Bạn lưu ý chương trình có báo tổng 5n của cấp số nhân qua công thức mà đầu bài đã cho ở trên

+ Ngược lại, nếu biến n khác 10 (nhỏ hơn 10), nó sẽ thực hiện câu lệnh sau Else, tức là thông báo Ộ Dãy số trên không phải fA mot cấp số nhân Ộ 2) Viết Code cho điều kiểm CmdThoat

Trang 30

+ Sau đó Click chuột vào nút để kiểm tra kết quả có phải là cấp số

nhân, bạn sẽ có hình như sau :

& KIEM TRA DẠY SŨ NHAP VAO CƠ PHAI LÁ CAP S0 NHAN HAY KHONG Geis

Ban nh4p vao 11 86, kiém tra xem nó phải là cấp số nhân hay không

fi f Đ | [te fs2 es [i2e |2ss E12 froze 1 2 Weg Sh BG a7 8 Br 9 107711 Dãy số theo thứ tự mà bạn đã nhập vào là : 1,2, 4, 8, 16, 32, B4, 128, 256, 512, 1024 Đây là một cấp số nhân Gấp số nhân này là cấp số nhân tiến, với công bội là 2 Tổng số Sn của 11 số hạng đầu là 2047

i Kiểm tra c6 phải là cấp số nhân Thoát khỏi ptương trình

Aster! |B Ss A OD || ta Pope | Bý Meeso | (86a |]ty KieM |e oer

Hình 14b

+ Bạn thấy thông báo đây là một cấp số nhân tiến, với công bội là 2, và tổng Sn của 11 số hạng là 2047 Bạn kiểm tra lại sẽ thấy chắc

chắn kết quả là như vậy

+ Bây giờ bạn thử nhập tất cả các số đều bằng 10, bạn thấy chương trình báo không phải là một cấp số nhân, chắc chắn là như vậy, vì công bội sẽ bằng 1, không thỏa với điều kiện là công bội phải

khác 1, bạn thử nhìn trên Form kết quả nhé:

Trang 31

SỐ NHẬP VAO CŨ PHÁI LA CAP SỐ NHÂN HAY KHÔNG Bạn nhập vảo 11 số, kiểm tra xem có phải lả ấp số nhân hay không [to [to fio fio fio fro fio fio fro fio fio 1 2 3 4 s 6 Lá 8 910511 Dãy số hạn nhập không phải là cấp số nhân

| Kiểm Ira có phải là cấp số nhân Ẽ

Thoát khỏi phương trình

Wsiot| | B 8: 23 9 Địnoea | RVMeoe | lố785-P |[t KEM Coca Hình 14c

+ Bây giờ bạn thử nhập dãy số có một phần tử bằng 0, giả sử bạn nhập vào các phân tử, trong đó phần tử thứ 5 bạn nhập là 0, Click vào

nút xem kết quả, bạn sẽ có thông tin như hình sau :

'& KIÊM TRÁ DẠY SƠ NHÁP VAO CŨ PHAI LA CAP SỐ NHAN HAY KHONG GES Bạn nhập vào 11 số, kiểm tra xem có phải là cấp số nhân hay không fos fi PP [4 lồ fre faz fea [i22 fess E12 1 2 3 4 5 6 7 8 9 10:11 Dãy số hạn nhập không phải là cấp số nhân

Kiểm tra có phải là pấp số nhân Thoát khỏi chương trình

stat] | B45 DY | &ịnoea | RVMeose | 1266c:P |]S Kiếm ie

Hinh 14d

Trang 32

+ Bạn thấy dãy số trên không phải là một cấp số nhân, bây giờ nếu bạn sửa lại phần tử thứ 5 là số 8 thay vì 0, bạn thấy đây là một cấp số nhân với công bội là 2, và có phần tử đầu tiên U1 = 0.5 > 0, nên đây sẽ là một cấp số nhân tiến Và tổng của nó sẽ là 1023,5 Bạn thử đối chiếu với hình sau xem có đúng như vậy không Bạn Click vào nút để xem kết quả

&, KIEM TRA DẠY SƠ NHAP VAO CŨ PHAI LA CAP SƠ NHAN HAY KHONG is Bạn nhập vào 11 số, kiểm tra xem có phải là cap số nhân hay không os ft f f fe fie [se [ea [ize fase [E12 1 2 3 4 5 6 7 8 9 10.11 Dấy số theo thứ tự mà bạn đã nhập vào là : 0,5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Đây là một cấp số nhân Cấp số nhân này lả cấp số nhân tiến, với công bội là 2 Tổng số $n của 11 số hạng đầu là 1023,5

Kiểm tra có phải là cấp số nhân Thoát khỏi chương trình

Rsun| ( B Ey OD | Ay Proect | By Micioso.| \gyasd-P [ts Kiem s4: tam

Hình 14e

+ Kết quả chắnh xác phải không các bạn

Trang 33

EM LAM TOAN

_ YÊU CẦU CỦA ĐẦU BÀI

Bạn hãy thiết kế một chương trình làm toán với 4 mục như sau : 1)Tắnh S =12+2Ợ+3?+ +nẺ 2) Tắnh S =1Ợ+2?+3Ợ+ +nẺ 3) Tắnh S =1/12+1/2?+1/32+ +1/nẺ 4) Tắnh n1! (n giai thừa) Biết 0!=1 n!=T1x2x3x xắn-1)xn

Bạn nhập giá trị của một số nguyên lớn hơn hoặc bằng 0 vào trong một TextBox, khi Click vào một nút Command Button để tắnh một

phép toán nào đó, kết quả sẽ hiện ra ở hộp TextBox thông báo

Dựa vào yêu cầu trên, chúng tôi thiết kế Form của chương trình như sau :

= 1 bình phương + 2 bình phương + + n bình phường S = 1 lập phương + 2 lập phương + + n lập phương,

S =1 + 1/@ bình phương) + + 1/(n bình phương)

stor] |B 25D | ty Promct | wyMicoro.| 164: | Bmee Sem ý apm

Hình 15a Form của chương trình

Trang 34

Nhìn vào Form trên, bạn thấy có các điều kiểm như sau :

2 TextBox một dùng để nhập số cần tắnh, một để thông báo kết quả

2 Label dùng để làm tiêu đề

5 Command Button, trang dé 1 Command Button dung để Thoát

khỏi chương trình, 4 Command button dùng để xem kết quả theo như tiêu để được ghi trên nó

Form có tiêu để Ộ EM LAM TOAN Ợ

BẰNG CÁC THUỘC TÍNH CỦA CÁC ĐIỀU KIỂM

Tr | Đối tượng | Các thuộc tắnh Giá trị

1 | Form Name FrmEmlamtoan

BackColor Màu xanh đậm

Caption EM LAM TOAN

WindowState 2ỞMaximized

2 | TextBox Name TxtNhap

BackColor Mau vang

Font Name MS ~ Sans - Serif

Font Size 30

Font Style Bold

Text (Xóa chữ Text)

3| TextBox Name TxtThongbao

BackColor Mau xanh bién dam

Font Name MS - Sans ~ Serif

Font Size 30

Font Style Bold

Text (Xóa chữ TexU

4 | Command Name CmdTongbinhphuong

Trang 35

5 | Command Name CmdTongiapphuong

Button Caption 3=1+ 2 lập phương + + n lập phương

Font Name VNI~ Aptima

Font Size 12

Font Style Bold

6 | Command Name CmdMottren

Button Caption 5< 1+ 1/2 bình phương)+

Font Name ể + 1/1n bình phương) VNi Ở Aptima Font Size 12

Font Style Bold _|

7 | Command Name CmdGiaithua

Bulton Caption S=n!ắn giai thừa)

font Name VNI - Aptima

Font Size 12

Font Style Bolditalic

8 | Command Name CmdThoat

Button Caption Thoát khỏi Forrn

Font Name VNI - Aptima

Font Size 12

Font Style Bolditalic

9 | Label Name LbINhap

Caption Mời bạn nhập số nguyên

dương Font Name VNI = Brush

Font Size 24

Font Style Boldltalic

Trang 36

Đước 1

THIET KE FORM CUA CHUONG TRINH

+ Ban lan lượt lấy các điểu kiểm từ hộp công cụ để đưa vào Form

của chương trình, sau đó xác lập các thuộc tắnh cho tất cả các điều kiểm theo như bảng đã cho ở trên

+ Trong Label có tiêu để Ộ Mời bạn nhập số nguyên dương Ộ, bạn phải canh trong khi xác lập thuộc tinh Caption của Label nay, bằng cách di chuyển để những khoảng trắng xuất hiện trong chuỗi ở những, vắ trắ thắch hợp sao cho dòng chữ nằm trong Label như trong hình trên Bước 2 VIẾT CODE CHO CHƯƠNG TRÌNH Option Explicit

Trang 37

End If

TxiThongbao = n

End Sub

+ Trong thủ tục này, nếu người sử dụng nhập vào ử thì TextBox sẽ thông báo bằng 1, ngược lại nó sẽ lắnh giai thừa cửa số vừa nhập vào qua vòng lập For chạy từ 1 đến TxtNhap, gid tr tink gop sẽ được chứa trong biến n Bạn phải cho biến n = 1 trước vòng lập For Néu khong cho biến n bằng ] thì xem như n = 0 (giá trị mặc nhiên của biến sốt, như vậy kết quả sẽ luôn luôn bằng 0 dù cho bạn nhập vào gid tri nao (vi O nhan cho cae gid tri cua ic hay te dén TxtNhap 1a bang 0) 2) Viết Code cho điều kiểm CmdThoat

Private Sub CmdThoat_Click() End

End Sub

Trang 38

+ Trong thủ tục này, dùng biến n để công dồn các giá tị bình phương của một số chạy từ 1 cho đến TxtNhap va thong bdo ra hop TextBox thang bdo

4) Viết Code cho điều kiếm CmdTonglapphuong Private Sub CmdTonglapphuong_Ạ lick0 Dim i As Integer Dim n As Long For i = 1 To Txtnhap n=n+i*i*t Next TxtThongbao = n tnd Sub

+ Thủ tục này chỉ khác thủ tục trên là nhân thêm một lẫn ¡, vì tắnh

lap phuong @*i* i thay vì LÝ ỉ tắnh bình phương) 5) Viết Code cho điều kiểm CmdTongmottren

Trang 39

+ Thủ tục này chỉ khác thủ tục CmdTongbinhphuong ở chỗ là có 1 trên ¡ *¡, thay vì ¡ * ¡ và có hàm Round (So, 2) để làm tròn đến 2 số thập phân sau mỗi lần tắnh với từng giá trị của ¡ chạy từ 1 đến TxtNhap

+ Nếu bạn không thắch làm tròn trên mỗi giá trị của ¡, mà chỉ làm

tròn một lần ở kết quả, thì bạn bỏ hàm Round Ú ở trên mà dùng nó ở

phần cuối cùng là TxtThongbao = Round (n, 2) + Bạn lưu chương trình với một tên nào đó

Bude 3

CHAY THU CHUONG TRINH

+ Giả sử bạn chạy chương trình bằng cách nhấn phắm F5 hoặc đầu mũi tên trên thanh công cụ

+ Nhập vào số 0 Sau đó lần lượt nhấn các nút để xem kết quả, trong 3 nút trên sẽ báo giá trị là 0, riêng ở nút Command Button có

tiêu để là Ộ S = nI (n giai thừa) Ộ thì sẽ có kết quả là 1, bạn sẽ có hình như sau :

IRsian || ử 6i 22 ử || $ Pưệct - | RE Mcoeo, #116a-P | BFsse [ewe { zỦpM

Trang 40

+ Bây giờ bạn thử nhập vào số 5 chẳng hạn, sau đó bạn Click vào nút có tiêu để : +S=1+ 2 bình phương + + n bình phương, + Bạn sẽ có kết quả như hình 15c S=1 + 1/G bình phương) + 1/(n bình phương) Rsux| | ặ 6: 22 9 ÌÍ ty Proec | wy Micro | gy r8-F- BỀrrene |[tm EM ứ mem Hình 15c

+ Bạn thử tắnh xem kết quả có bằng 55 như trong hình trên hay không ? + Bạn thấy khi nhập vào số 5 ở ô nhập, ta sẽ có kết quả với phép

tắnh như sau :

142743744457

+ Dãy số trên sẽ bằng : 1 + 4+ 9 + 16 + 25 = 55 + Vậy là bạn đã viết Code đúng

+ Cũng với giá trị trên, bạn Click vào nút Ế = 1 + 2 lập phương + + n lập phương Bạn sẽ có kết quả như hình 15d sau :

Ngày đăng: 10/08/2014, 15:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN