VinaOnline.net

Thực hành cơ bản vòng lặp For trong Pascal : Chi tiết, dễ hiểu

Thực hành cơ bản vòng lặp For trong Pascal nhằm củng cố lý thuyết chi tiết vòng lặp For chưa liệt kê hết. Mỗi chương trình trong bài viết này là một trường hợp cụ thể áp dụng vòng lặp For. Vì vậy, VinaOnline.net cùng bạn khảo sát chi tiết thực hành cơ bản vòng lặp For trong Pascal nhé.

I. Thực hành cơ bản vòng lặp For trong Pascal : Số lần lặp do bạn nhập từ bàn phím

Viết chương trình hiển thị n dòng “Chao ban!”. Với n được nhập từ bàn phím

Program For_1;

Uses Crt;

Var i, n: Integer;

Begin

ClrScr;

Write(‘Hien thi bao nhieu dong “Chao ban!” ’); Readln(n);

For i≔1 to n do

Writeln(‘Chao ban!’);

Readln;

End.

Kết quả

Hien thi bao nhieu dong “Chao ban!” 5 (Bạn gõ vào 5 chẳng hạn), sẽ xuất hiện

Chao ban! (5 dòng như thế)

II. Thực hành cơ bản vòng lặp For trong Pascal : Tổng của một dãy số

Viết chương trình nhập vào một dãy số: 1+2+3+…+n (với n nhập từ bàn phím). Hãy cho biết tổng của dãy số đó.

Program For_2;

Uses Crt;

Var i, n: Integer;

Tong: Integer; // Bien nay dung de luu gia tri cua tong day so

Begin

ClrScr;

Write(‘Day so co bao nhieu so: ’); Readln(n);

Tong≔0;

For i≔1 to n do

Tong≔Tong+i;

        Writeln(‘Tong cua day so la:’, Tong);

Readln;

End.

Kết quả

Day so co bao nhieu so: 5 (Bạn gõ vào 5 chẳng hạn), sẽ xuất hiện

Tong cua day so la: 15

Chú ý:

– Biến Tong≔0 là giá trị khởi tạo ban đầu. Biến này phải được khởi tạo trước vòng lặp For (dòng nào cũng được nhưng phải sau Begin).

– Khi bạn nhập vào 5 thì i có giá trị 1, 2, 3, 4, 5. Vì vậy, cộng dãy số tức là cộng các giá trị của i trong vòng lặp.

­– Bạn không cần tăng giá trị của i vì vòng lặp For tự làm việc này.

III. Thực hành cơ bản vòng lặp For trong Pascal : Mở rộng một số trường hợp

1. Mở rộng thứ nhất

Bạn có thể mở rộng chương trình For_2 bằng cách tính tích của dãy (Đây còn gọi là bài toán tính giai thừa (n!))

Tính 1.2.3.4…n

Để giải bài toán này, bạn cần sửa lại chương trình For_2 như sau:

– Đổi biến Tong thành Tich.

– Dòng lệnh khởi tạo: Tich : = 1.

– Dòng lệnh tính tích: Tich : = Tich*i.

2. Mở rộng thứ hai

Tính 1+1/2+1/3+…+1/n

Để giải bài toán này, bạn cần sửa lại chương trình For_2 như sau:

– Đổi biến Tong : Interger thành Tong : Real vì kết quả là một số thực (số lẻ).

Chương trình được viết lại như sau

Program For_2_2a;

Uses Crt;

Var i, n: Integer;

       Tong: Real; // Bien nay dung de luu gia tri cua tong day so

Begin

ClrScr;

Write(‘Day so co bao nhieu so: ’); Readln(n);

Tong≔0;

For i≔1 to n do

TongTong+1/i;

Writeln(‘Tong cua day so la:’, Tong);

Readln;

End.

Hoặc cải tiến thêm nữa

Program For_2_2b;

Uses Crt;

Var i, n: Integer;

       Tong: Real; // Bien nay dung de luu gia tri cua tong day so

Begin

ClrScr;

Write(‘Day so co bao nhieu so: ’); Readln(n);

Tong1;

For i2 to n do

TongTong+1/i;

Writeln(‘Tong cua day so la:’, Tong);

Readln;

End.

Phân tích cho bạn thấy, nhưng mình vẫn muốn sử dụng chương trình For_2_2a để làm khung cho mọi bài toán thuộc dạng này.

Lời kết

Thực hành cơ bản vòng lặp For trong Pascal giới thiệu bạn một số chương trình để áp dụng cụ thể vào vòng lặp For, chứ chưa khai thác hết đâu? Hai hay nhiều bài viết tiếp theo VinaOnline.net tiếp tục hướng dẫn bạn một số dạng “chuyên sâu” hơn. Các bài viết này hỗ trợ phần mảng rất nhiều. Chúc các bạn học tốt.

Leave a Comment