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


Nội dung của Bài thực hành 6: Sử dụng lệnh lặp While…Do dưới đây sẽ giúp các em hiểu câu lệnh lặp while...do trong chương trình Turbo Pascal có sẵn; rèn luyện kĩ năng về khai báo, sử dụng biến; biết về vai trò của việc kết hợp các cấu trúc điều khiển;... 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 chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước.
  • Rèn luyện kĩ năng đọc chương trình, tìm hiểu tác dụng của các câu lệnh.

2. Nội dung

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

Câu lệnh lặp với số lần chưa biết trước While…Do:

Cú pháp: While <điều kiện>Do ;

Trong đó:

  • Điều kiện: thường là phép so sánh.
  • Câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.

Các bước thực hiện của câu lệnh lặp While…Do:

  • Bước 1: Kiểm tra điều kiện.
  • Bước 2: Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng thực hiện câu lệnh và quay lại bước 1. 

b. Thực hành

Bài 1: Viết chương trình sử dụng lệnh lặp While…Do để tính trung bình N số thực X1, X2, X3,…, Xn. Các số N và X1, X2, X3,…, Xn được nhập từ bàn phím.

Gợi ý làm bài:

Ý tưởng:

Ta sử dụng biến Dem và câu lệnh lặp While…Do để nhập và cộng dần các số vào một biến kiểu số thực Tong cho đến khi nhập đủ n số.

Xác định bài toán:

  • Input: Dãy số thực x1, x2...xn
  • Output: Giá trị trung bình (x1 + x2+..+xn)/n

Thuật toán:

  • Mô tả thuật toán bằng cách liệt kê:
    • Bước 1. Nhập N là số lượng số thực sẽ được nhập từ bàn phím:
      • Gán biến đếm bằng 0 Dem \(\leftarrow\) 0;
      • Gán tổng Tong \(\leftarrow\) 0.
    • Bước 2. Trong khi Dem < N thì:
      • Nhập giá trị số thực x từ bàn phím;
      • Cộng thêm x vào tổng: Tong\(\leftarrow\)Tong + x;
      • Tăng biến dem thêm 1 đơn vị: Dem\(\leftarrow\)Dem + 1;
    • Bước 3. Tính trung bình dãy số vừa nhập TB \(\leftarrow\) Tong/N.
    • Bước 4. Đưa TB ra màn hình, rồi kết thúc.
  • Mô tả thuật toán bằng sơ đồ khối:

Hình 1. Sơ đồ khối mô tả thuật toán tính trung bình N số thực

Chương trình:

Program tinh_trung_binh;

Var   N, Dem: integer;

         X, TB: real;

Begin

      Clrscr;

      Dem:=0;

      TB:=0;

      Writeln(‘Nhap cac so can tinh N =’);

      Readln(N);

      While Dem < N do

         Begin

            Dem:= Dem + 1;

            Writeln(‘Nhap so thu’, Dem,’=’);

            Readln(x);

            Tb:= TB + x;

         End;

      TB:=TB/n;

      Witeln(‘Trung binh của’,N,’so là =’, TB:10:3);

      Readln;

End.

Bài 2: Tìm hiểu chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không.

Gợi ý làm bài:

Ý tưởng: Kiểm tra lần lượt N có chia hết cho các số tự nhiên \(2 \leq i \leq N-1\) hay không. Kiểm tra tính chia hết bằng phép chia lấy phần dư (mod).

Xác định bài toán:

  • Input: Số tự nhiên N.
  • Output: Trả lời N là số nguyên tố hoặc N không là số nguyên tố.

Xây dựng thuật toán:

  • Bước 1: Nhập số tự nhiên N từ bàn phím;
  • Bước 2: Nếu N \(\leq\) 0 thông báo N không phải là số tự nhiên, rồi chuyển đến Bước 4;
  • Bước 3: Nếu N > 0:
    • 3.1. i\(\leftarrow\)2;
    • 3.2. Trong khi N mod i <> 0, i\(\leftarrow\)i+1;
    • 3.3. Nếu i = N thì thông báo N là số nguyên tố, rồi chuyển đến Bước 4, không thì thông báo N không phải là số nguyên tố;
  •    Bước 4: Kết thúc.

Chương trình:

Uses Crt;

Var N, i:integer;

Begin

     clrscr;

     write('Nhap vao mot so nguyen: ');

     readln(N);

     If N<=1 then

        writeln('N khong la so nguyen to')

   else

        begin

             i:=2;

            while (N mod i<>0) do

                i:=i+1;

            if i=N then

                writeln(N,' la so nguyen to!')

            else

                writeln(N,' khong phai la so nguyen to!');

        end;

     readln;

end.

Lời kết

Sau khi học xong Bài thực hành 6: Sử dụng lệnh lặp While…Do, các em cần ghi nhớ về các nội dung:

1. Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào một điều kiện cụ thể và chỉ dừng lại khi điều kiện đó sai.

2. Câu lệnh lặp với số lần lặp chưa biết trước:

a) Trường hợp câu lênh đơn:

  WHILE < điều kiện > DO < câu lệnh >;

b) Trường hợp câu lệnh ghép:

  WHILE <điều kiện> DO

  Begin

  câu lệnh 1;

  câu lệnh 2; …

  End;

Trong phần sau là các câu hỏi Trắc nghiệm bài thực hành số 6 về Sử dụng lệnh lặp While…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 8: Lặp với số lần chưa biết trước

>> Bài sau: Bài 9: Làm việc với dãy số

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

-- Mod Tin Học 8 HỌC247

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