Tin học 8 Bài thực hành 5: Sử dụng lệnh lặp For…Do


Nội dung của Bài thực hành 5: Sử dụng lệnh lặp For…Do dưới đây các em sẽ được thực hành về cách viết chương trình Pascal có câu lệnh lặp For..do, thực hành về sử dụng được câu lệnh ghép và rèn luyện kĩ năng đọc hiểu chương trình có sử dụng vòng lặp for...do. Mời các em cùng theo dõi nội dung chi tiết của bài thực hành.

Tóm tắt lý thuyết

1. Mục đích, yêu cầu

  • Viết được chương trình có sử dụng vòng lặp for...do;
  • Sử dụng được câu lệnh ghép;
  • Rèn luyện kĩ năng đọc hiểu chương trình có sử dụng vòng lặp for...do.

2. Nội dung

a. Ôn tập kiến thức

Cú pháp:

For < biến đếm >:= < giá trị đầu > to < giá trị cuối > do

       < câu lệnh >;

Trong đó:

  • FOR, TO, DO: là từ khóa.
  • Biến đếm: thuộc kiểu dữ liệu số nguyên.
  • Giá trị đầu, giá trị cuối: là giá trị nguyên.
  • Câu lệnh: có thể là câu lệnh đơn hay câu lệnh ghép.

Ý nghĩa:

Khi thực hiện, biến đếm sẽ nhận giá trị là giá trị đầu, sau mỗi vòng lặp, biến đếm sẽ tự động tăng thêm một đơn vị cho đến khi bằng giá trị cuối thì dừng lại.

b. Thực hành

Bài 1. Viết chương trình in ra màn hình bảng nhân của một số từ 1 đến 9, số được nhập từ bàn phím và dừng màn hình để có thể quan sát kết quả.

a. Khởi động Pascal. Gõ chương trình sau và tìm hiểu ý nghĩa của từng câu lệnh trong chương trình;

uses crt;

var N,i:integer;

begin

     clrscr;

     write('Nhap so N=');

     readln(N);

     writeln;

     writeln('Bang nhan ',N);

     writeln;

     for i:=1 to 10 do

            writeln(N,' x ', i:2,' = ',N*i:3);

     readln;

end.

b. Lưu chương trình với tên BANGNHAN.PAS;

c. Dịch và chỉnh sửa các lỗi gõ, nếu có;

d. Chạy chương trình với các giá trị nhập vào lần lượt bằng 1, 2, …,10. Quan sát kết quả nhận được trên màn hình.

Gợi ý làm bài:

Kết quả in ra màn hình:

Hình 1. Kết quả in ra màn hình bảng nhân 6

Nhận xét kết quả trên: 

  • Các hàng kết quả sát nhau khó đọc;
  • Các hàng kết quả không được cân đối với hàng tiêu đề.
Bài 2. Chỉnh sửa chương trình để làm đẹp kết quả trên màn hình như hình dưới đây:

Hình 2. Kết quả in ra màn hình bảng nhân 7

Gợi ý làm bài:

Chương trình:

uses crt;

var N,i:integer;

begin

  clrscr;

  write('Nhap so N='); readln(N);

  writeln;

  writeln('Bang nhan ',N);

  writeln;

  for i:=1 to 10 do

  begin

  GotoXY(5,WhereY);

  writeln(N,' x ',i:2,' = ',N*i:3);

  writeln;

  end; 

  readln

end.

Các câu lệnh được thêm vào:

  • Writeln; => Tạo một hàng trống tại vị trí con trỏ.
  • GotoXY(a,b); => Đưa con trỏ về cột a hàng b.
  • Lệnh GotoXY(5, whereY); => Đưa con trỏ về vị trí cột 5 của hàng hiện tại.
  • WhereY =>  Cho biết thứ tự của hàng đang có con trỏ.

Lưu ý: Chỉ sử dụng được các lệnh GotoXY(a,b), WhereX, WhereY sau khi đã khai báo thư viện crt; của Pascal.

Bài 3. Cũng như câu lệnh if, có thể dùng câu lệnh for lồng trong một câu lệnh for khác khi thực hiện lặp. Sử dụng các câu lệnh for…do lồng nhau để in ra màn hình các số từ 0 đến 99 theo dạng bảng như hình sau:

Hình 3. Kết quả in ra màn hình các số từ 0 đến 99

Gợi ý làm bài:

Chương trình:

Program Tao_bang;

Uses Crt;

Var

  i: byte;  {chi so cua hang}

  j: byte;  {chi so cua cot}

Begin

  Clrscr; {xoa man hinh}

  For i:=0 to 9 do  {viet theo tung hang}

  begin

  For j:=0 to 9 do   {viet theo tung cot tren moi hang}

  write(10*i+j:4); {viet cac so ij ra man hinh}

  writeln;  {xuong hang moi}

  end;  {xong hang thu i}

  readln;  {dung chuong trinh de xem ket qua}

end. 

Lời kết

Sau khi học xong Bài thực hành 5: Sử dụng lệnh lặp For…Do, các em cần ghi nhớ:

1. Cấu trúc lặp với số lần được biết trước thể hiện bằng lệnh For …do

2. Câu lệnh GotoXY(a,b) có tác dụng đưa con trỏ về cột a, hàng b.

3. Hàm WhereX cho biết số thứ tự của cột đang có con trỏ.

4. Hàm WhereY cho biết số thứ tự của hàng đang có con trỏ.

5. Chỉ sử dụng các lệnh GotoXY, WhereX, WhereY sau khi khai báo thư viện crt của Pascal.

Trong phần sau là các câu hỏi Trắc nghiệm bài thực hành số 5 về Sử dụng lệnh lặp For…Do, các em hãy cùng thử sức để tự đánh giá xem mức độ hiểu bài của mình tới đâu nhé. Nếu có thắc mắc liên quan đến bài thực hành thì các em vui lòng đặt câu hỏi ở phần Hỏi đáp để được hỗ trợ.

Các em quan tâm có thể tham khảo thêm bài học trước và bài học sau:

>> Bài trước: Bài 7: Câu lệnh lặp

>> Bài sau: Bài 8: Lặp với số lần chưa biết trước

Chúc các em học tốt!

-- Mod Tin Học 8 HỌC247

Được đề xuất cho bạn