Tại sao cần phải sử dụng cấu trúc lặp

1. Khái niệm

-Đánh răng mỗi ngày 2 lần, học Tin học 2 lần một tuần, tắm 1 lần một ngày,...

-Rửa bát cho đến khi nào sạch, học bài cho đến khi nào thuộc,...

Trong cuộc sống, những việc như trên lặp đi lặp lại nhiều lần. Trong Pascal, cách mô tả những công việc [hoạt động] được lặp đi lặp lại nhiều lần được gọi là cấu trúc lặp. Có 3 cấu trúc lặp chính: Vòng lặp for, vòng lặp repeat_until, vòng lặp while_do

2. Vòng lặp for

-Đây là vòng lặp căn bản và được sử dụng nhiều nhất trong kiến thức phổ thông. Vòng lặp for dùng để lặp với số lần đã định trước, có cấu trúc như sau:

    +Dạng tăng dần của biến đếm: For := to do ;

    +Dạng giảm dần của biến đếm: For := downto do ;

Vd: Tính tổng các số từ 1 đến 100

Program Tong;

uses crt;

var i,tong:integer;

begin

    tong:=0;

    for i:=1 to 100 do

        tong:=tong+i;

    write[tong];

    readln;

end.    

3. Vòng lặp Repeat

Cấu trúc chung:

Repeat

   

Until ;

- Câu lệnh giữa repeat và until sẽ được lặp lại nhiều lần khi nào điều kiện sai, nếu điều kiện đúng thì ngưng. Đối với lệnh này điều kiện sẽ được kiểm tra sau khi thực hiện các lệnh giữa repeat và until nên ít nhất các lệnh sẽ được thực hiện trước 1 lần rồi mới kiểm tra điều kiện đúng hay sai [nếu sai thì thực hiện tiếp vòng lặp, đúng thì ngưng].

Vd: Tính tổng các số từ 1 đến 100

var i,n,tong: integer;

        S:=S+i; 

        i:=i+1;    until i>100;    write[tong];    readln;

end.

4. Vòng lặp While

Cú pháp:  

while do

- Câu lệnh sẽ được lặp lại nhiều lần cho đến khi nào điều kiện còn đúng, nếu điều kiện sai thì các lệnh này sẽ không thực hiện nữa [trái với vòng lặp repeat]. Đối với lệnh này điều kiện sẽ được kiểm tra trước khi thực hiện lệnh nên nên điều kiện sai thì không có lệnh nào được thực hiện.

Vd: Tính tổng các số liên tiếp từ 1 đến 100

var s,i: longint;begin    S:= 0;    i:= 1;    while i 108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:

A. While S>=108 do

B. While S < 108 do

C. While S < 1.0E8 do

D. While S >= E8 do

Hiển thị đáp án

Trả lời:  Cấu trúc câu lệnh While- do có dạng:

While do < câu lệnh>;

Ý nghĩa: Câu lệnh được thực hiện khi điều kiện được thỏa mãn. Do vậy mỗi lần thực hiện câu lệnh nó sẽ kiểm tra điều kiện, đúng sẽ thực hiện, sai thì dừng vòng lặp.

Mà điều kiện của bài là S>108 vì vậy nó sẽ kiểm tra S< 108 thì tính tổng đến khi S>108 thì dừng. Trong Pascal S< 108 được viết là S< 1.0E8.

Đáp án: C

Câu 4: Câu lệnh sau giải bài toán nào:

While M N do

If M > N then M:=M-N else N:=N-M;

A. Tìm UCLN của M và N

B. Tìm BCNN của M và N

C. Tìm hiệu nhỏ nhất của M và N

D. Tìm hiệu lớn nhất của M và N

Hiển thị đáp án

Trả lời:

Câu lệnh trên giải bài toán tìm UCLN của M và N. Với ý tưởng, kiểm tra xem M, N có giá trị khác nhau không. Nếu có thực hiện kiểm tra giá trị nào lớn hơn. Giá trị lớn hơn sẽ được gán bằng hiệ của số lớn trừ số bé. Việc làm thế cứ lặp đi lặp lại đến khi hai giá trị bằng nhau thì đưa ra UCLN của nó.

Đáp án: A

Câu 5: Đoạn chương trình sau giải bài toán nào?

          For I:=1 to M do

                   If [I mod 3 = 0] and [I mod 5 = 0] then

                             T := T + I;

A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M

B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M

C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M

D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M

Hiển thị đáp án

Trả lời: Đoạn chương trình

For I:=1 to M do { I chạy trong phạm vi từ 1 đến M}

If [I mod 3 = 0] and [I mod 5 = 0] then  { kiểm tra I chia hết cho 3 và cho 5 không}

T := T + I; {Cộng dồn vào tổng}

Đáp án: B

Câu 6: Cú pháp lệnh lặp For – do dạng lùi:

A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;

B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;

C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;

D. for < biến đếm> := < Giá trị đầu >downto < Giá trị cuối > do < câu lệnh>;

Hiển thị đáp án

Trả lời:

+ Cú pháp lệnh lặp For – do dạng lùi:

For < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;

+ Cú pháp lệnh lặp For – do dạng tiến:

For < biến đếm> := < Giá trị đầu> to < Giá trị cuối> do < câu lệnh >;

Đáp án: B

Câu 7: Cú pháp lệnh lặp For – do dạng tiến:

A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;

B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;

C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;

D. for < biến đếm> := < Giá trị đầu > to < Giá trị cuối > do < câu lệnh>;

Hiển thị đáp án

Trả lời:

+ Cú pháp lệnh lặp For – do dạng lùi:

For < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;

+ Cú pháp lệnh lặp For – do dạng tiến:

For < biến đếm> := < Giá trị đầu> to < Giá trị cuối> do < câu lệnh >;

Đáp án: D

Câu 8: Trong vòng lặp For – do dạng tiến. Giá trị của biến đếm

A. Tự động giảm đi 1

B. Tự động điều chỉnh

C. Chỉ tăng khi có câu lệnh thay đổi giá trị

D. Được giữ nguyên

Hiển thị đáp án

Trả lời: Trong vòng lặp For – do dạng tiến. Giá trị của biến đếm lần lượt nhận giá trị liên tiếp tằng từ giá trị đầu đến giá trị cuối. Giá trị của biến đếm được điề chỉnh tự động vì vậy câu lệnh sau Do không được thay đổi gía trị biến đếm.

Đáp án: B

Câu 9: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:

A. Cùng kiểu với giá trị đầu và giá trị cuối

B. Chỉ cần khác kiểu với giá trị đầu

C. Cùng kiểu với các biến trong câu lệnh

D. Không cần phải xác định kiểu dữ liệu

Hiển thị đáp án

Trả lời: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do cùng kiểu với giá trị đầu và giá trị cuối. Biến đếm là biến đơn, thường là kiểu nguyên.

Đáp án: A

Câu 10: Trong lệnh lặp For – do: [chọn phương án đúng nhất]

A. Giá trị đầu phải nhỏ hơn giá trị cuối

B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối

C. Giá trị đầu phải lớn hơn giá trị cuối

D. Giá trị đầu phải bằng giá trị cuối

Hiển thị đáp án

Trả lời: Trong lệnh lặp For – do Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Nếu giá trị đầu lớn hơn giá trị cuối thì vong lặp không được thực hiện.

Đáp án: B

Xem thêm các bài Câu hỏi trắc nghiệm Tin học 11 chọn lọc, có đáp án khác:

Giới thiệu kênh Youtube VietJack

  • Hỏi bài tập trên ứng dụng, thầy cô VietJack trả lời miễn phí!

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Nhóm học tập facebook miễn phí cho teen 2k5: fb.com/groups/hoctap2k5/

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.

Video liên quan

Chủ Đề