Trong bài viết này chúng ta cùng Tính tổng của dãy số 1 ; 4 ; 9 ; 16 ; … biết số hạng cuối của dãy gần bằng 2018 nhất. Đây là một bài toán tính tổng của dãy số quy luật biết những số đầu của dãy và chốt được số cuối.
Tìm quy luật của dãy số 1 ; 4 ; 9 ; 16 ; …
Để giải quyết bài toán về dãy số thì điều đầu tiên là ta phải tìm ra được quy luật của dãy số, vậy quy luật của dãy số trên như thế nào?
Ta thấy
1 = 1.1
4 = 2.2
9 = 3.3
16 = 4.4
Như vậy ta đã tìm ra được quy luật của dãy số rồi từ đây ta sẽ dễ dàng lập trình tính tổng của dãy số trên.
Lập trình tính tổng của dãy số 1 ; 4 ; 9 ; 16 ; … trong Scratch
Đây là dạng toán cộng dồn vì vậy không thể thiếu biến S để lưu tổng, thêm một biến n để tính các số trong dãy
Ta có thể khởi động n bằng 0 hay bằng 1 đều được cả.
Các bạn có thấy điều kiện trong vòng lặp là Không phải (n*n < 2018) điều này có nghĩa là vòng lặp sẽ chạy khi n*n < 2018 các bạn có thể thay bằng điều kiện n*n >2018 hoặc n*n = 2018 tuy nhiên nó dài hơn.
Các bạn hãy nhớ rằng số hạng cuối của dãy gần bằng 2018 nhất, đọc kĩ đầu bài sẽ giúp xác định điểm dừng vòng lặp chính xác nhất.
Ta thêm một dòng lệnh để chú mèo nói ra đáp số như sau vào cuối khối lệnh trên
và đây là kết quả
Như vậy ta có thể tổng kết lại cách lập trình trong Scratch hay bất cứ ngôn ngữ nào khác để tính tổng dãy số như sau:
Bước 1: Tìm bằng được quy luật của dãy số, từ đó xây dựng số hàng tổng quát của dãy số, chẳng hạn như trong ví dụ này là n*n.
Bước 2: Xác định điều kiện kết thúc vòng lặp cho chính xác, điều kiện này sẽ giúp quá trình cộng dồn các số hạng của tổng kết thúc và số cuối cùng của dãy thỏa mãn yêu cầu của bài ra.
Bạn có thể tham khảo thêm thuật toán Lập trình Scratch tính tổng S = 1 – 2 + 3 – 4 + 5 – 6 + … + (-) N hoặc Lập trình tính tổng của 50 số chẵn liên tiếp biết số chẵn lớn nhất là 2020 trong Scratch hai thuật toán này có cũng có điểm tương đồng, tuy nhiên mỗi cái có cái thú vị riêng.
Các bạn còn bài nào hay hãy comment để cùng giải quyết cho vui nào.
Cho dãy số: 1; 1; 2; 3; 5; 8… Tính tổng 10 số hạng đầu tiên của dãy và cho biết phần tử thứ 50 có giá trị bao nhiêu?
Cho dãy số: 1; 1; 2; 3; 5; 8… Tính tổng 10 số hạng đầu tiên của dãy và cho biết phần tử thứ 50 có giá trị bao nhiêu?