VinaOnline.net

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

Thực hành nâng cao vòng lặp For trong Pascal tiếp tục mở rộng các dạng thực hành cơ bản vòng lặp For trong Pascal. Một số bài có thể kết hợp với cấu trúc rẽ nhánh để xác định điều kiện thực hiện. VinaOnline.net cùng bạn tiếp tục thực hành nâng cao vòng lặp For trong pascal nhé.

I. Thực hành nâng cao vòng lặp For trong Pascal : In bảng cửu chương

Viết chương trình in bảng cửu chương (với n nhập từ bàn phím. Ví dụ: n=2 thì in bảng cửu chương 2,…)

Program For_CuuChuong;

Uses Crt;

Var i,n: Integer;

Begin

ClrScr;

Write(‘Ban muon in cuu chuong may: ‘); Readln(n);

For i:=1 to 10 do

Writeln(n,’ x ‘ ,i,’ = ‘, n*i);

Readln;

End.

Kết quả

Ban muon in cuu chuong may: 2 (Bạn nhập 2 chẳng hạn)

2 x 1 = 2

2 x 2 = 4

Dựa vào kết quả, biến i trong vòng lặp For (i có giá trị từ 1 đến 10 (phần in đậm)).

Bạn cần xây dựng dòng lệnh Writeln(n,’ x ‘ ,i,’ = ‘, n*i) đúng là đạt yêu cầu.

II. Thực hành nâng cao vòng lặp For trong Pascal : Sử dụng For lồng nhau

Mở rộng chương trình: In ra màn hình từ cửu chương 2 đến cửu chương 9.

Program For_CuuChuong;

Uses Crt;

Var i,j: Integer;

Begin

ClrScr;

For i:=2 to 9 do

Begin

For j:=1 to 10 do

Writeln(i,’ x ‘ ,j,’ = ‘, i*j);

Writeln;

Readln;

End;

Readln;

End.

Kết quả

2 x 1 = 2

2 x 2 = 4

….

Enter sẽ hiển thị cửu chương 3, 4, …

– Chương trình này không sử dụng n.

+ i = 2.

+ j = 1-10.

Begin … End (in đậm) của chương trình chính.

– Begin … End (bên trong) là của vòng lặp For i vì bằng 2 chẳng hạn (giá trị đầu tiên) thì bên trong vòng lặp (For i) sẽ thực hiện 12 dòng lệnh (10 lần Writeln(i,’ x ‘ ,j,’ = ‘, i*j)) và một lần Writeln (viết ra khoảng trắng) và một lần Readln (dừng màn hình).

– Nến không có lệnh Readln (bên trong) chương trình sẽ in ra từ cửu chương 2 đến cửu chương 9. Nhưng hiển thị từ cửu chương 7 đến cửu chương 9 mà thôi vì bị che khuất phần đầu.

III. Thực hành nâng cao vòng lặp For trong Pascal : Kết hợp cấu trúc rẽ nhánh

Viết chương trình tính tổng các số chẵn  tổng các số lẻ của dãy số.

Program Tong_chan_le;

Uses Crt;

Var i,n: Integer;

Tong_chan, Tong_le: Integer;

Begin

ClrScr;

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

Tong_chan:=0;

Tong_le:=0;

For i:=1 to n do

If (i mod 2 = 0) Then

Tong_chan:=Tong_chan+i

Else

Tong_le:=Tong_le+i;

Writeln(‘Tong chan: ‘,Tong_chan);

Writeln(‘Tong_le: ‘,Tong_le);

Readln;

End.

Kết quả

Day co bao nhieu so: 4 (Bạn nhập vào 4), dãy số là 1+2+3+4

Tong_chan: 6

Tong_le: 4

– Điều kiện (i mod 2 = 0) có thể thay thế bằng Not(ODD(i)). Hàm ODD(i) trả về true nếu i lẻ, do đó Not(ODD(i)) sẽ trả về true nếu i chẵn (không lẻ).

Lời kết

Thực hành nâng cao vòng lặp For trong Pascal vẫn còn nhiều chương trình cần minh họa. Nhưng bao nhiêu là đủ? Vấn đề chính là bạn phải tìm hiểu hướng giải quyết những bài toán cụ thể, bằng cách ghép những câu lệnh hoặc cấu trúc lại với nhau. Chúc bạn thực hành nâng cao vòng lặp For trong Pascal thật tốt.

Leave a Comment