Bài tập pascal lớp 11 cấu trúc lặp

- Cấu trúc lặp là một điều khiển thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi một điều kiện nào đó còn đúng.

- Quá trình lặp không thể dừng được gọi là quá trình lặp vô hạn. Điều này xảy ra khi điều kiện để dừng lặp không còn bị biến đổi giá trị sau mỗi lần lặp. Khi đó để thoát lặp vô hạn, cần có các câu lệnh cho phép thoát ngay khỏi lặp.

- Có hai loại cấu trúc lặp: lặp với số lần biết trước và lặp với số lần chưa biết trước.

2. Lặp có số lần biết trước và câu lệnh for-do

Dạng lặp với số lần biết trước dùng để thực hiện câu lệnh một số lần xác định. Dạng này dùng một biến điều khiến vòng lặp. Trong Pascal mỗi lần thực hiện câu lệnh thì biến điều khiến (giả sử là i) được tự động tăng (nhận giá trị tiếp theo là succ(i)) hoặc giảm (nhận giá trị nhỏ hơn ngay trước pred(i)). Đến khi biến điều khiển đạt giá trị xác định thì vòng lặp kết thúc.

Câu lệnh for- do với hai dạng tiến và lùi:

- Dạng lặp tiến :

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

- Dạng lặp lùi:

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

Trong đó:

- biến đếm là biến đơn, thường có kiểu nguyên.

- giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm và 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ì vòng lặp không được thực hiện.

Hoạt động của lệnh for-do:

Ở dạng lặp tiến, câu lệnh viết sau từ khóa phải thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối.

Hoặc hoạt động của dạng lặp tiến có thể được diễn giải như sau:

Bước 1: Biến điều khiển nhận giá trị đầu.

Bước 2: Nếu giá trị biến điều khiển nhỏ hơn giá trị cuối thì chuyển đến bước 4. Bước 3: {giá trị biến điều khiển bằng giá trị cuối} thực hiện câu lệnh, sau đó dừng lặp, chuyển tới câu lệnh tiếp theo vòng lặp.

Bước 4: Thực hiện câu lệnh sau do và tăng biến điều khiên tới giá trị tiếp theo.

Ở dạng lặp lùi, câu lệnh viết sau từ khóa do được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối.

Ở dạng lặp lùi này giá trị của biến điểu khiên được tự động giảm xuống giá trị tiếp theo sau mỗi lần lặp.

Lưu ý: Trong vòng lặp không được chứa lệnh làm thay đổi giá trị của biến điều khiển vì sẽ gây ra tình trạng khó theo dõi và quản lí vòng for-do.

3. Lặp với số lần chưa biết trước và câu lệnh while-do

• Lặp với số lần chưa biết trước có hai dạng:

Dạng 1 : Trong khi <điều kiện> còn đúng thì còn thực hiện <công việc>

Dạng 2: Còn thực hiện <công việc> trong khi <điều kiện> còn đúng.

Trong dạng 1, đầu tiên kiểm tra và tính giá trị của điều kiện, nếu điều kiện nhận giá trị true thì thực hiện công việc (một lần). Mỗi lần thực hiện công việc có thể sẽ làm thay đổi giá trị của điều kiện nên đến một lúc nào đó điều kiện lặp không còn đúng nữa và cấu trúc lặp sẽ được kết thúc. Ngược lại, nếu khi thực hiện công việc không làm thay đổi giá trị của điều kiện thì cấu trúc lặp kéo dài mãi (gọi là vòng lặp vô hạn). Để thoát khỏi vòng lặp vô hạn, trong công việc cần có câu lệnh rẽ nhánh thoát khỏi vòng lặp vô hạn khi thỏa mãn điều kiện rẽ nhánh.

• Trong Pascal, lặp với số lần chưa biết trước là dạng while-do

Câu lệnh while-do chứa một biểu thức điều kiện để điều khiển thực hiện lặp một câu lệnh đơn hoặc kép.

Cú pháp:

while <điều kiện> do <câu lệnh> ;

Trong đó:

Điều kiện là biểu thức quan hệ hoặc lôgic;

Câu lệnh là một câu lệnh cùa Pascal.

- Hoạt động của câu lệnh while-do:

Câu lệnh viết sau từ khóa do được thực hiện khi biểu thức điều kiện còn nhận giá trị true. Biểu thức điểu kiện được tính giá trị trước khi câu lệnh được thực hiện, nhưng nếu biểu thức điểu kiện đã nhận giá trị false ngay từ đầu thì câu lệnh không được thực hiện lần nào. Nếu biểu thức điều kiện luôn nhận giá trị true thì câu lệnh được thực hiện mãi, ta gọi là vòng lặp vô hạn.

* Định lí Bohn Jacopini: Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên ba cấu trúc cơ bản là cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp.

Với 10 câu hỏi trắc nghiệm Tin học 11 Bài 10: Cấu trúc lặp có đáp án chi tiết đầy đủ các mức độ giúp học sinh ôn luyện trắc nghiệm Tin 11 đạt kết quả cao.

  • Trắc nghiệm Tin 11 C++ Bài 10: Cấu trúc lặp (có đáp án)
  • Trắc nghiệm Tin 11 Python Bài 10: Cấu trúc lặp (có đáp án)

Trắc nghiệm Tin học 11 Bài 10 (có đáp án): Cấu trúc lặp

Quảng cáo

Câu 1: Vòng lặp While – do kết thúc khi nào

  1. Khi một điều kiện cho trước được thỏa mãn
  1. Khi đủ số vòng lặp
  1. Khi tìm được Output
  1. Tất cả các phương án

Hiển thị đáp án

Trả lời: Vòng lặp While – do là vòng lặp chưa biết trước số lần lặp vì vậy việc lặp chỉ kết thúc khi một điều kiện cho trước được thỏa mãn.

Đáp án: A

Câu 2: Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên cấu trúc cơ bản là:

  1. Cấu trúc tuần tự
  1. Cấu trúc rẽ nhánh
  1. Cấu trúc lặp
  1. Cả ba cấu trúc

Hiển thị đáp án

Trả lời: Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên cấu trúc cơ bản là cấu trúc tuần tự, cấu trúc rẽ nhánh, cấu trúc lặp. Tùy theo từng bài toán mà lựa chọ cấu trúc cho hợp lí.

Đáp án: D

Quảng cáo

Câu 3: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:

  1. While S>=108 do
  1. While S < 108 do
  1. While S < 1.0E8 do
  1. 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 <điều kiện> 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;

  1. Tìm UCLN của M và N
  1. Tìm BCNN của M và N
  1. Tìm hiệu nhỏ nhất của M và N
  1. 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;

  1. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M
  1. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M
  1. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M
  1. 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

Quảng cáo

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

  1. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
  1. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
  1. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;
  1. 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:

  1. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
  1. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
  1. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;
  1. 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

  1. Tự động giảm đi 1
  1. Tự động điều chỉnh
  1. Chỉ tăng khi có câu lệnh thay đổi giá trị
  1. Đượ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

Quảng cáo

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

  1. Cùng kiểu với giá trị đầu và giá trị cuối
  1. Chỉ cần khác kiểu với giá trị đầu
  1. Cùng kiểu với các biến trong câu lệnh
  1. 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)

  1. Giá trị đầu phải nhỏ hơn giá trị cuối
  1. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
  1. Giá trị đầu phải lớn hơn giá trị cuối
  1. 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:

  • Trắc nghiệm Tin học 11 Bài 7: Các thủ tục chuẩn vào/ra đơn giản
  • Trắc nghiệm Tin học 11 Bài 8: Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình
  • Trắc nghiệm Tin học 11 Bài 9: Cấu trúc rẽ nhánh
  • Trắc nghiệm Tin học 11 Bài 11: Kiểu mảng
  • Gói luyện thi online hơn 1 triệu câu hỏi đầy đủ các lớp, các môn, có đáp án chi tiết. Chỉ từ 200k!

Săn SALE shopee tháng 12:

  • Đồ dùng học tập giá rẻ
  • Sữa dưỡng thể Vaseline chỉ hơn 40k/chai
  • Tsubaki 199k/3 chai
  • L'Oreal mua 1 tặng 3

ĐỀ THI, GIÁO ÁN, GÓI THI ONLINE DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 11

Bộ giáo án, bài giảng powerpoint, đề thi dành cho giáo viên và gia sư dành cho phụ huynh tại //tailieugiaovien.com.vn/ . Hỗ trợ zalo VietJack Official

Tổng đài hỗ trợ đăng ký : 084 283 45 85

Đã 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.

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.

Chủ đề