You are on page 1of 12

Đề bài tính tổng từ 1 đến n

Cho dãy số 1; 2 ; 3; 4 ; 5 ; 6; 7; 8; 9; 10 ; … n
Em hãy sử dụng phần mềm Scratch để thực hiện các yêu cầu sau:
 Nhập vào n số lượng phần tử của dãy số
 Xuất ra dãy số
 Tính tổng các số lẻ chia hết cho 5 của dãy số rồi xuất kết quả ra màn hình.
 Lưu vào thư mục bài thi của em với tên dayso.sb2
Bây giờ mình sẽ hướng dẫn các bạn cách giải bài toán này trên Scratch nha
Viết chương trình tính tổng các số lẻ từ 1 đến n
Thuật toán tính tổng dãy số từ 1 đến n

Các bước viết chương trình tính tổng các số lẻ từ 1 đến n


Bước 1: Tạo các biến cần thiết
Bạn hãy tạo hai biến:
 Tổng: Để lưu tổng các số lẻ chia hết cho 5 của dãy số
 i: Để can thiệp và đếm số thứ tự các số trong danh sách
Và một danh sách: “Danh sách” để lưu các số từ 1 đến n
Bước 2: Nhập liệu cho dãy số
Bạn hãy kéo thả đoạn lệnh trên. Sau đây mình sẽ giải thích một chút cho các bạn hiểu;
 Lệnh xoá tất cả trong dãy số giúp khi chạy chương trình xoá bỏ toàn bộ các số trong danh sách đã
được tạo ra lần chạy trước.
 Cho ẩn dãy số đi khi người dùng nhập n sẽ hay hơn, sau khi nhập n cho hiện lại dãy số.
 Biến “trả lời” mặc định của chương trình sẽ lưu giá trị n khi người dùng trả lời câu hỏi trong lệnh
hỏi màu xanh.
Bây giờ bạn chạy thử và nhập n = 6 ta có kết quả sau:

Bước 3: Lập trình tính tổng các số lẻ chia hết cho 5 của dãy số
Tiếp theo bạn tạo tiếp các lệnh sau nối vào khối lệnh trên
Ở đây mình dùng kĩ thuật cộng gom, lúc đầu đặt biến tổng là 0 trong vòng lặp duyệt qua tất cả các
phần tử của danh sách. Nếu phần tử nào lẻ và chia hết cho 5 thì cộng gom vào tổng.
Giải thích thêm một chút:
 Lệnh: Phần tử i của dãy số mod 2 = 1 : Kiểm tra xem số có phải là số lẻ không
 Lệnh: Phần tử i của dãy số mod 5 = 0 : Kiểm tra xem số có chia hết cho 5 không
Và kết quả khi chạy với n = 21 như sau:
Rõ ràng là tổng các số lẻ và chia hết cho 5 trong dãy từ 1 đến 21 là: 5 + 15 = 20 đúng không nào.
Thuật toán tính tích dãy số từ 1 đến n

Viết thuật toán tính tổng các số chia hết cho 3 và 5


Chương trình : 
Uses crt;
Var s, i, n: longint;
Begin
     Clrscr;
     Write(‘Nhap n = ‘); readln(n);
     s:=0;
     For i:=1 to n do if (i mod 3 = 0) and (i mod 5 = 0) then inc(s,i);
     Writeln(‘Tong = ‘,s:4:2);
Readln
End.
Vậy là mình đã hướng dẫn xong cho bạn rồi nha. Chúc bạn thành công và hãy xem thêm:

Đề bài:
Cho dãy số 0, 5, 10, 15, 20, … Cho người dùng nhập vào số phần tử muốn
hiển thị của dãy. Sau đó thực hiện:
1. Hiển thị dãy số theo quy luật trên và gồm số phần tử như người dùng yêu
cầu.
2. Tính tổng của các số trong dãy đó.
Ví dụ:
 Người dùng nhập vào là 3 thì dãy cần hiển thị sẽ là 0, 5, 10. Và tổng của chúng là
15.
 Người dùng nhập vào là 10 thì dãy cần hiển thị sẽ là 0, 5, 10, 15, 20, 25, 30, 35,
40, 45. Và tổng của chúng là 225.
(Trích dẫn từ đề thi Hội tin học trẻ Thanh Hóa, năm 2021. Đề thi bảng A1 –
Khối tiểu học)
Gợi ý hướng làm bài:
Ta trải qua 2 bước:
 Bước 1: Xác định đúng và chính xác dãy số.
 Dãy số bắt đầu từ 0.
 Mỗi số trong dãy cách nhau 5 đơn vị. Tức là số đứng sau hơn số đứng trước 5
đơn vị. Như vậy, ta lấy số đứng trước công thêm 5 đơn vị sẽ có được số sau.
 Giả sử người dùng nhập vào số lượng phần tử là N. Vậy ta sử dụng vòng lặp
N lần để tạo ra một danh sách gồm N phần tử.
 Bước 2: Áp dụng thuật toán cộng dồn để tính tổng dãy số tìm được trong bước 1.
 Đầu tiên, ta khởi tạo biến S có giá trị bằng 0 để lưu trữ giá trị tổng của từng
phần tử trong danh sách dãy số.
 Dùng vòng lặp với số lần lặp là N lần để duyệt qua lần lượt tất cả các phần tử
trong danh sách. Trong mỗi lần duyệt thì ta sẽ tính tổng giá trị S với phần tử
đang duyệt. Cứ như vậy cho đến khi nào duyệt hết các phần tử có trong dãy
thì ta thu được tổng của các phần tử trong danh sách.
a) Đề bài:
Bạn hãy tìm ra trung bình cộng của dãy số sau:

0, 1, 4, 9, 16, … , 2025.

b) Tìm quy luật của dãy số:


Ta có:

Số thứ nhất         = 0

Số thứ hai         = 1 = 0 + 1 = Số thứ nhất + 1

Số thứ ba         = 4 = 1 + 3 = Số thứ hai        + 3

Số thứ tư        = 9 = 4 + 5 = Số thứ ba        + 5

Số thứ năm        =16= 9 + 7 = Số thứ tư        + 7

 Quy luật:         – Số thứ nhất là 0.

– Số thứ k (k > 1) = Số thứ (k -1) của dãy số đã cho + Số thứ (k – 1) của dãy số tự
nhiên lẻ.

c) Giải thuật:
Để tìm được trung bình cộng của dãy số ta phải biết tổng của dãy số và số số
hạng của dãy số đã cho.
Vì dãy số không phải là dãy số cách đều nên ta không thể áp dụng các công thức
tính tổng và tính số số hạng của dãy số cách đều vào tính toán trong dãy số này
được.

Vậy phải làm thế nào?

Liệt kê tất cả các số hạng trong dãy số rồi đếm và cộng các số hạng – Đó chính là
câu trả lời.

Nhưng ta sẽ không liệt kê xong xuôi rồi mới đếm và cộng mà ta sẽ vừa liệt kê
vừa tính tổng và đếm số số hạng luôn. Cụ thể:

Liệt kê, đếm số số hạng và tính tổng


Ta có giải thuật bằng lời như sau:

– Bước 1: Đặt: x = 0, d = 1, n = 1, S = 0

– Bước 2:         + Đặt x = x + d.

+ Tăng d thêm 1 lượng là 2.

+ Tăng n thêm 1 lượng là 1.


+ Tăng S thêm 1 lượng là x.

– Bước 3: Nếu x = 2025 thì chuyển sang Bước 4.

Nếu không thì quay lại Bước 2.

– Bước 4: Thông báo trung bình cộng của dãy số đã cho là: S/n.

d) Code tham khảo:

a) Đề bài:
Có 263 học sinh đi thăm quan bằng 2 loại xe, loại 16 chỗ ngồi và loại 9 chỗ ngồi.
Hỏi có bao nhiêu xe mỗi loại, biết có tất cả 23 xe?

b) Hướng dẫn giải toán:


Gọi x là số xe có 16 chỗ ngồi

=> Số học sinh ngồi trong x xe 16 chỗ ngồi là: x * 16

Vì có tất cả 23 xe nên số xe có 9 chỗ ngồi là 23 – x.

=> Số học sinh ngồi trong (23 – x) xe 9 chỗ ngồi là: (23 – x)  * 9

Vì có tất cả 263 học sinh nên ta có: x * 16 + (23 – x) * 9 = 263

=> Bài toán trở về bài toán tìm x biết:  x * 16 + (23 – x) * 9 = 263

c) Giải thuật:
Nếu áp dụng các tính chất: nhân một số với một hiệu, tính chất giao hoán của
phép cộng, tính chất  kết hợp của phép nhân để giải bài toán tìm x trên ta sẽ tìm
được số xe mỗi loại.

Nhưng giả sử các bạn không biết các tính chất đó, các bạn không biết cách giải
bài toán tìm x trên, các bạn sẽ làm thế nào để tìm được x?

Cách làm rất đơn giản: Đặt x bằng một số ngẫu nhiên nào đó (giả sử x = 1) rồi
thay vào phép tính: x * 16 + (23 – x) * 9. Nếu kết quả bằng 263 thì số ngẫu nhiên
đó là số cần tìm. Nếu kết quả không bẳng 263 thì lại chọn một số ngẫu nhiên
khác và tính lại. Công việc này cứ lặp đi lặp lại cho đến khi kết quả bằng 263 thì
mới dừng.

=> Ta có giải thuật bằng lời như sau:

– Bước 1: Đặt x = 0.

– Bước 2: Tăng x lên 1 đơn vị.

– Bước 3: Nếu x * 16 + (23 – x) * 9 = 263 thì chuyển sang Bước 4.

Nếu không thì quay lại bước 2.

– Bước 4: Thông báo số xe có 16 chỗ ngồi là x, số xe có 9 chỗ ngồi là 23 – x

d) Code tham khảo:


https://scratch.mit.edu/projects/515279329

You might also like