Tính tổng các số từ 1 đến n

Cấu trúc điều khiển

Bài toán số 1: Tính tổng của các số tự nhiên từ 1 đến N.

S = 1 + 2 + … + N

Ví dụ : N = 5, S = 1 + 2 + 3 + 4 + 5 = 15

Yêu cầu: Input: N, là số tự nhiên bất kỳ.

Output: S, là tổng của các số từ 1 đến N

Hướng dẫn:

Bài toán được thực hiện qua 3 bước cụ thể như sau:

– Thông báo nhập liệu, và nhập dữ liệu vào cho N

– Tiến hành tính tổng S:

  • Khởi gán giá trị ban đầu cho tổng S
  • Tiến hành tính tổng, cộng dồn với các giá trị của i vào S (với i được lặp từ 1 cho đến N)

– Xuất kết quả của tổng S ra màn hình.

Chương trình:

Program TinhTong; Uses crt; Var S,i,n:Integer; // Khai bao bien su dung BEGIN Write( ‘ Nhap so n:’ ); // Thong bao nhap lieu Readln( n ); // Nhap gtri N, (voi &N la lay d/c bien N) S: = 0; // Khoi gan gia tri ban dau cho S For i:=1 to n do // Lap voi moi i co gia tri tu 1 den N S:=S + i; // Tinh tong cong don i vao S Writeln( ‘Tong = ’, S); // Xuat ket qua tong S ra man hinh Readln; END.

Các phiên bản khác nhau của bài toán là:

  • Tính tổng (với giả sử N là số lẻ)
  • Tính tổng các số tự nhiên lẻ nhỏ hơn hoặc bằng N.
  • Tính tổng các số tự nhiên chia hết cho 5 như 5, 10, 15, 20, 25, 30….N (N chia hết cho 5)

Hướng dẫn:

– Điều chỉnh bước lặp cho phù hợp.

– Trước khi cộng dồn giá trị của i vào tổng S, phải kiểm tra điều kiện giá trị của i có thỏa mãn điều kiện bài toán hay không.

Cụ thể là:

For i:= 1 to n do // Lap voi moi i co gia tri tu 1 den N

S:= S + i / (i+1); // Tinh tong cong don i/(i+1) vao S

(Luu y, truong hop nay bien S phai duoc khai bao kieu du lieu la so thuc Real )

For i:=1 to n do // Lap voi moi i co gia tri tu 1 den N

if ( i mod 2 == 1) // Kiem tra i co’ phai la so le hay khong

S := S + i; // Dung ==> Tinh tong cong don i vao S

for i:=1 to n do // Lap voi moi i co gia tri tu 1 den N

if ( i % 5 == 0) // Kiem tra i co’ phai la 5, 10, 15… hay khong

S := S + i; // Dung ==>Tinh tong cong don i vao S