Thứ bảy, 8/2/2020, 0:0
Lượt đọc: 3914

Cấu trúc lặp while... do

Nội dung học lý thuyết và thực hành tin học từ ngày 3/2 đến 16/2

CẤU TRÚC LẶP

CÂU LỆNH LẶP LẠI CÁC CÂU LỆNH KHÁC

Trong pascal khi ta viết 1 câu lệnh thì câu lệnh đó chỉ thực hiện 1 lần. Nếu ta muốn câu lệnh thực hiện nhiều lần thì phải viết như thế nào? (viết nhiều lần câu lệnh đó ?)

Ví dụ ta muốn viết 50 lần họ tên mình ra màn hình, thì ta viết 50 lần câu lệnh writeln(‘ ho ten ‘);( dài quá )

Để giải quyết vấn đề này trong pascal có cấu trúc lặp(hay có thể nói là dùng 1 câu lệnh để lặp lại câu lệnh khác nhiều lần)

Có 3 loại câu lệnh lặp như vậy trong pascal.

Trước tiên ta tìm hiểu câu lệnh lặp khi điều kiện đúng nhé

Cú pháp câu lệnh

While ( điều kiện) do

    Begin

        Các câu lệnh sẽ được lặp lại ;

    End;

  • Điều kiện : là 1 biểu thức có giá trị đúng hoặc sai(giống như điều kiện trong lệnh if đã học)
  • Giữa begin và end ;(chấm phẩy) là các lệnh pascal sẽ được lặp lại(chỉ viếtcác lệnh này 1 lần thôi nha, dù nó lặp lại nhiều lần)

    Công dụng của câu lệnh while là lặp lại các lệnh giữa begin và end; nhiều lần khi nào điều kiện còn đúng(khi nào điều kiện sai thì mới dừng lặp lại)

    Vậy ngay từ đầu điều kiện sai thì sao ?

    Điều kiện đúng hoài, không sai thì sao ?

    Trong các lệnh giữa begin và end; phải có 1 lệnh làm thay đổi điều kiện so với lúc ban đầu thì câu lệnh while mới làm việc chính xác theo ý của người viết chương trình.

    Ta thử xét 1 ví dụ nhé . Yêu cầu: viết chương trình viết ra 50 lần tên trường Ha Huy Tap, mỗi lần viết ra trên 1 dòng.

    Ta trả lời các câu hỏi sau để bắt đầu viết lệnh nhé

    Lệnh cần lặp lại là lệnh nào ?   writeln(‘Ha Huy Tap’);

    Điều kiện để lệnh trên lặp lại là gì ? số lần viết ra nhỏ hơn 51 lần và lần đầu tiên khi viết ra được tính là 1.

    Vậy ta viết lệnh while thế nào đây ?

    Ta khai báo 1 biến để đếm số lần lặp(biến khi khai báo được đặt tên là dem), ban đầu dem = 0, sau đó cứ mỗi lần lặp xong thì tăng biến đếm lên 1 đơn vị.

    Câu lệnh while sẽ viết như sau :

     Dem := 0 ;

     While dem < 51 do

       Begin

         Writeln(‘Ha Huy Tap’);

         Dem:= dem + 1 ;

        End ;

    Vậy là không cần viết 50 lần lệnh writeln ta vẫn thực hiện được yêu cầu trên. Em hãy nhấn chuột vào câu hỏi trắc nghiệm và chọn dòng hiện ra phía dưới để thử xem mình đã hiểu bài chưa nhé.

    Câu hỏi trắc nghiệm

    Vận dụng các em suy nghĩ và tự viết đoạn chương trình để thực hiện yêu cầu sau: Viết ra 100 số nguyên đầu tiên kể từ số 1.

    Hướng dẫn: các em trả lời các câu hỏi sau, rồi tự ghép lại để thành câu lệnh đúng nhé

  • Lệnh nào sẽ được lặp lại ?
  • Điều kiện để lệnh trên lặp lại là gì ?
  • Ghép các câu lệnh lại với nhau như thế nào ?

Bạn nào viết được đoạn lệnh thì vào mục thắc mắc ghi lại cho thầy xem, nhớ ghi thêm họ tên và lớp.

 

Bài tập vận dụng(thực hành)

  1. Viết chương trình nhập vào 1 số nguyên n, và viết ra n lần họ tên của mình.
  2. Viết chương trình nhập vào 1 số nguyên n, và viết ra n số kể từ số 1
  3. Viết chương trình nhập vào 1 số nguyên n, và viết ra n số chẳn kể từ số 1.
  4. Viết chương trình nhập vào 1 số nguyên n. Cho biết n có phải là số nguyên tố hay không . Xem file hướng dẫn đính kèm
Tác giả: Lê Thiện Minh
Nguồn tin: Tự soạn

Viết bình luận

164