Mình vừa mới làm quen với Visual Basic và cũng mạo muội post lên đây vài bài toán nhỏ mà mình gặp phải vừa để chia sẻ cũng vừa để ôn luyện cũng như nhận được sự giúp đỡ của mọi người để việc học được tốt hơn.
Mình cũng xin nói thêm là ở đây mình chỉ xin chia sẻ phần thuật toán và những dòng lệnh còn phần thiết kế giao diện thì mình nghĩ chắc các bạn cũng dễ dàng thực hiện. Mình cũng sẽ chia sẻ mã nguồn luôn nên các bạn có thể dễ dàng tham khảo. Thật sự mà nói là mình không có mắt thẩm mỹ nên phần giao diện có thể hơi thô mong các bạn bỏ qua cho. Mình cũng rất mong nhận được sự giúp đỡ và góp ý để hoàn thiện thêm.
Đầu tiên mình xin cùng các bạn giải bài toán như sau: Viết chương trình tính s= 1! + 2! + …+ n!, với n là một số nguyên dương được nhập vào.
Phân tích sơ bộ như sau: Như vậy mình sẽ tạo ra 1 biến để tính giai thừa và sau đó sẽ tính tổng
Mình sẽ thao tác như sau:
- Tạo 1 ô nhập số và 1 nút lệnh để thực hiện thao tác tính.
- Tạo ra 4 biến kiểu integer lần lượt như sau: n là giá trị sẽ gán thay cho số nhập vào, t để tính giai thừa (gán cho giá trị ban đầu bằng 1), s để tính kết quả cuối (gán cho giá trị ban đầu bằng 0) và i để chạy trong vòng lặp.
- Cho chạy vòng lặp từ i = 0 đến i = 1.
- Thực hiện thao tác trong vòng lặp như sau: tính giai thừa bằng cách cho t = t * i, tính tổng các giai thừa bằng cách cho s = s + t
- Cuối cùng là xuất kết quả cuối cùng là s tại phần cần hiển thị
Dưới đây là đoạn cho nút lệnh chính:
1 2 3 4 5 6 7 8 | n = Val(txtso.Text) //textso là khung text để nhập số t = 1 s = 0 For i = 1 To n t = t * i s = s + t Next lbkq.Caption = s |
Chú ý là bạn cần phải khai báo để tạo các biến chung trước với lệnh:
1 | Dim s, t, i, n As Integer |
Các bạn có thể tải mã nguồn cũng như tập tin chương trình sản phẩm tại đây: https://www.box.com/s/lhvdmytl0mjheoqbbam0
Chúc các bạn thành công.
Huỳnh Mai Anh Kiệt