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é.
Tóm tắt nội dung bài viết
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
Tong≔Tong+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);
Tong≔1;
For i≔2 to n do
Tong≔Tong+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.