Nâng cao · Mức D · Bài 1

Tổng 1 đến n

Mục tiêu: Nhập n, mèo cộng dồn 1 + 2 + … + n bằng vòng lặp, rồi đối chiếu với công thức n × (n + 1) / 2.

Em sẽ học gì

  • Nội dung trong bài: thuật toán cộng dồn bằng vòng lặp.
  • Đối chiếu kết quả với công thức toán học.
  • Và kiểm thử với nhiều giá trị của n.
Kết quả cần đạt
Kết quả cần đạt: bấm cờ xanh để chạy thử.
132

Bài làm như sau. Chọn nhóm Biến số, bấm Tạo một biến, đặt tên là n: cộng tới số nào. Tạo biến i: số đang được cộng. Biến tong: tổng tính tới lúc này. Và biến ct: kết quả tính bằng công thức.

Bước 1

Thuật toán: 1. Nhập n. 2. tong = 0, i = 0. 3. Lặp n lần: i tăng 1, tong tăng thêm i. 4. Xuất tong.

232

Theo sơ đồ: nhập n, rồi khởi tạo tong và i bằng 0. Lặp n lần: i tăng 1, rồi tong tăng thêm i. Lặp xong thì tính ct theo công thức, nói tổng, và so sánh hai kết quả.

Bước 2
332

Các bước thực hiện, chọn nhóm Sự kiện, kéo khối: Khi bấm vào cờ xanh,

Bước 3
432

Bước một. Chọn nhóm Cảm biến, gắn khối hỏi và đợi, gõ: Nhập n,

Bước 4
532

rồi khối đặt biến thành, trong nhóm Biến số, chọn n,

Bước 5
632

thả khối câu trả lời, trong nhóm Cảm biến, vào ô giá trị.

Bước 6
732

Bước hai. Chọn nhóm Biến số, gắn khối đặt biến thành, chọn tong, giữ số 0,

Bước 7
832

thêm một khối đặt biến thành, chọn i, cũng giữ số 0.

Giải thích: Đây là bước khởi tạo. Nếu quên đặt lại tong và i về 0, lần chạy sau sẽ cộng tiếp vào kết quả cũ.

Bước 8
932

Bước ba. Chọn nhóm Điều khiển, gắn khối lặp lại,

Bước 9
1032

số lần lặp không gõ số, mà thả biến n vào: người dùng nhập bao nhiêu thì lặp bấy nhiêu lần.

Bước 10
1132

Bên trong, khối thay đổi biến một lượng, chọn i, giữ số 1: i tăng 1.

Bước 11
1232

Thêm một khối thay đổi biến nữa, chọn tong,

Bước 12
1332

ô lượng thả biến i: tong tăng thêm đúng bằng i.

Giải thích: Đây là phép cộng dồn: tong mới bằng tong cũ cộng i. Lần lặp thứ nhất cộng 1, lần thứ hai cộng 2, lần thứ ba cộng 3, cứ thế tới n.

Bước 13
1432

Để nhìn rõ từng bước, tạm thêm khối đợi, trong nhóm Điều khiển, vào cuối vòng lặp, gõ 0 chấm 5 giây. Ta vừa làm vòng lặp cộng dồn: lặp n lần, mỗi lần i tăng 1, rồi tong tăng thêm i.

Bước 14
1532
Chạy thử

Chạy thử: bấm cờ xanh, nhập 5. Nhìn hai ô i và tong trên sân khấu: i lên 1, 2, 3, 4, 5, còn tong lần lượt là 1, 3, 6, 10, 15.

Bước 15
1632

Đã hiểu cách chạy, ta bỏ khối đợi đi cho nhanh: bấm chuột phải vào khối đợi, chọn Xoá khối. Nhà toán học Gauss có một công thức tính tổng này: n nhân với n cộng 1, rồi chia 2. Ta tính thêm bằng công thức để đối chiếu.

Bước 16
1732

Bên dưới vòng lặp, thêm khối đặt biến thành, chọn ct.

Bước 17
1832

Dựng từ trong ra ngoài. Lấy khối phép cộng, trong nhóm Các phép toán, đặt ra chỗ trống, ô bên phải gõ 1,

Bước 18
1932

ô bên trái thả biến n.

Bước 19
2032

Lấy khối phép nhân, đặt bên dưới, kéo khối n cộng 1 vào ô bên phải,

Bước 20
2132

ô bên trái thả biến n.

Bước 21
2232

Lấy khối phép chia, ô bên phải gõ 2, kéo khối phép nhân vào ô bên trái, rồi kéo cả biểu thức vào khối đặt ct.

Bước 22
2332

Bước bốn, xuất kết quả. Chọn nhóm Hiển thị, gắn khối nói trong 2 giây,

Bước 23
2432

lấy khối kết hợp, trong nhóm Các phép toán, đặt ra chỗ trống, ô thứ nhất gõ: Tổng, hai chấm,

Bước 24
2532

ô thứ hai thả biến tong, rồi kéo khối kết hợp vào ô lời nói.

Bước 25
2632

Cuối cùng, so sánh hai cách tính. Chọn nhóm Điều khiển, gắn khối nếu thì, nếu không thì,

Bước 26
2732

điều kiện là phép so sánh bằng, dựng ở chỗ trống,

Bước 27
2832

bên phải thả biến ct,

Bước 28
2932

bên trái thả biến tong, rồi kéo vào ô điều kiện.

Bước 29
3032

Nhánh trên: khối nói, gõ: Công thức cũng cho kết quả đó.

Bước 30
3132

Nhánh nếu không thì: khối nói, gõ: Hai cách cho kết quả khác nhau! Ta vừa làm: tính ct theo công thức, nói tổng, rồi so sánh tong với ct.

Bước 31
3232
Chạy thử

Kiểm thử: nhập 10. Tổng là 55, và công thức cũng cho 55. Nhập 100: tổng là 5050. Vòng lặp phải làm 100 phép cộng, còn công thức chỉ cần 3 phép tính, dù n lớn đến đâu. Nhập 1: vòng lặp chạy đúng một lần, tổng là 1. Nhập 0: vòng lặp không chạy lần nào, tổng là 0, công thức cũng ra 0. Chương trình không bị lỗi.

Bước 32

Các khối mới trong bài

  • Khối lặp lại với số lần là biến: số lần lặp lấy từ giá trị của biến lúc vòng lặp bắt đầu.

Kỹ thuật lập trình đã học

  • Về kỹ thuật lập trình, bài này ta học: thuật toán: viết ra từng bước trước khi kéo khối.
  • Khởi tạo và cộng dồn: đặt tong bằng 0 trước vòng lặp, trong vòng lặp tong tăng thêm i.
  • Một bài toán có thể có nhiều cách giải: vòng lặp cần n phép cộng, công thức chỉ cần 3 phép tính.
  • Và kiểm thử: thử n nhỏ, n lớn, và n bằng 0.

Bài tập

Bài tập: sửa chương trình để tính tổng các số lẻ nhỏ hơn n. Rồi tính tổng bình phương: 1 nhân 1, cộng 2 nhân 2, cho tới n nhân n.

Máy phiên dịch biết nói Kiểm tra Số chẵn, số lẻ và số nguyên tố
ZaloCộng đồng hỗ trợ lập trình ScratchCộng đồng hỗ trợ