ÔN TẬP CAU LỆNH VÒNG LẶP

Thứ tư, 4/3/2020, 0:0
Lượt đọc: 1232

https://docs.google.com/document/d/19aqMU1K2iCG_aSNhldjZk80EzHScytCK_cU8hhHFeAw/edit#heading=h.gjdgxs BÀI TRẮC NGHIỆM

ÔN TẬP CÂU LỆNH VÒNG LẶP

Chúng ta đã học 2 loại câu lệnh có thể lặp lại các lệnh khác là lệnh While… do và lệnh For… do

Vậy lúc nào sử dụng lệnh While lúc nào sử dụng lệnh For ? Lệnh nào sử dụng dễ hơn ?

Tùy theo từng trường hợp cần lặp lại mà ta sẽ sử dụng 2 lệnh trên cho phù hợp nhất.

Khi nào cần lặp lại căn cứ vào 1 điều kiện nào đó, không biết trước số lần lặp thì ta dùng lệnh While( Khi nào điều kiện còn đúng thì còn lặp). Điều kiện lặp lại sẽ được kiểm tra trước khi lặp lại lệnh và trong vòng lặp(giữa begin và end) phải có 1 lệnh để thay đổi điều kiện lặp ban đầu.

Khi nào số lần lặp biết trước ngay từ đầu(ví dụ lặp 5 lần, 10 lần..)thì ta dùng lênh For. Khi dùng lệnh for thì phải có 1 biến đếm số lần lặp, và biến này sẽ tự động cộng thêm 1 đơn vị sau mỗi lần lặp.

Lệnh While và lệnh For có thể dùng thay thế lẫn nhau.

Ta hãy xét ví dụ sau 

Yêu cầu 1: nhập 1 số nguyên n viết ra các ước số của số n.

Phân tích: Ước số của số n là các số mà n chia hết(ví dụ n= 6, ước số của 6 là 1, 2, 3, 6 vì 6 chia hết cho các số này)

Ta có biết trước n chia hết cho bao nhiêu số hay không?(n chưa xác định là số mấy) chắc chắn là không biết trước rồi khi chưa biết n có giá trị bao nhiêu.

Trong trường hợp này dùng lệnh While là phù hợp. Vậy điều kiện của lệnh While là gì ?

Ta nhận thấy lấy n chia cho các số từ 1, số nào chia hết thì số đó là ước số của n. Vậy chia đến số nào thì dừng không chia nữa ? Phải là số n không ?(có bao giờ ước số của số n lại lớn hơn n không ?)

Các em thử điền vào các chỗ còn trống trong câu lệnh viết sẳn sau cho phù hợp với phân tích trên. Phần này sẽ có ở phần trắc nghiệm

i:= 1 ;

While i…….n do

    Begin

       If n …….i = 0  then writeln(………);

       ………

    End ;


Yêu cầu 2: Nhập 1 số nguyên n. Viết ra bảng nhân(cửu chương) của số n.

Phân tích : Bảng nhân của số n có mấy dòng ? 10 dòng phải không?

Vậy ta dùng lệnh For là phù hợp. lặp lại 10 lần, mỗi lần lặp lại gì ?

Các em tự điền vào chỗ trống trong phần trắc nghiệm nhé

For i := 1 to …….  Do

  Begin

     Writeln(n , ‘ x ‘, ……. ,’ = ‘ , …………);

   End ;

Có thể thực hiện yêu cầu 1 bằng lệnh for và yêu cầu 2 bằng lệnh while hay không ?


Bài tập thực hành – Mỗi bài viết 2 chương trình, 1 bằng lệnh for và 1 bằng lệnh while 

Viết chương trình nhập vào 1 số nguyên n. Cho biết n có mấy chữ số

VD   n = 2874           n có 4 chữ số

Viết chương trình nhập vào 2 số nguyên a và b.Tính tổng các số từ a đến b.

a =   5 b = 10     tong = 45


Viết bình luận

TRƯỜNG THCS HÀ HUY TẬP 
Địa chỉ: Số 7 Phan Đăng Lưu - Phường 1 - Quận Bình Thạnh - TP.HCM

Tập đoàn công nghệ Quảng Ích