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