Trang 1 trong tổng số 1

Một số dạng bài tập lí thuyết về câu lệnh For trong Pascal

Đã gửi: CN 24 Th4, 2022 21:55
bởi huynhbuutam
CÁC DẠNG BÀI TẬP VỀ CÂU LỆNH FOR

Cú pháp:
For <Biến đếm> := <Giá trị đầu> To <Giá trị cuối> Do <Câu lệnh>;
Lưu ý: Nếu có nhiều <Câu lệnh> lặp lại, thì các câu lệnh đó được đặt trong cặp từ khóa Begin và End
Công thức tính số lần lặp:
Số lần lặp = <Giá trị cuối> - <Giá trị đầu> + 1
Lưu ý:
- Nếu Số lần lặp < 0 thì có nghĩa là không lặp lần nào
- Khi gặp câu lệnh Break, câu lệnh lặp sẽ lặp tức kết thúc.

DẠNG BÀI TẬP 1: Xác định Số lần lặp, <Giá trị đầu>, <Giá trị cuối>

1. Đoạn chương trình sau thực hiện bao nhiêu lần lặp?
A := -2;
B := A + 3;
For x := A To B Do WriteLn(x);
=== Giải ===
Số lần lặp = 1 - (-2) + 1 = 4
Đáp án: 4 lần lặp
2. Để đoạn chương trình sau thực hiện 12 lần lặp, thì giá trị ban đầu của biến A phải là bao nhiêu?
B := 3;
For x := A To B Do WriteLn(x);
=== Giải ===
12 = 3 - A + 1
A = 3 + 1 - 12 = -8
Đáp án: A = -8
3. Để đoạn chương trình sau thực hiện 2 lần lặp, thì giá trị ban đầu của biến A phải là bao nhiêu?
B := -3;
For x := B To A Do WriteLn(x);
=== Giải ===
2 = A - (-3) + 1
2 - 3 - 1 = A
-2 = A
Đáp án: A = -2

DẠNG BÀI TẬP 2: Xác định giá trị của biến

1. Sau khi thực hiện đoạn chương trình sau, thì giá trị cuối cùng của biến TB, N là bao nhiêu?
TB := 3;
N := TB * 2;
For K := -2 To 0 Do Begin TB := TB + K; N := TB - N; End; N := N * 2;
=== Giải ===
TB = 3
N = 3 * 2 = 6
Số lần lặp = 0 - (-2) + 1 = 3
Lần 1: (K = (-2)) TB = 3 + (-2) = 1, N = 1 - 6 = -5
Lần 2: (K = (-1)) TB = 1 + (-1) = 0, N = 0 - (-5) = 5
Lần 3: (K = 0) TB = 0 + 0 = 0, N = 0 - 5 = -5
N = (-5) * 2 = -10
Đáp án: TB = 0, N = -10
2. Sau khi thực hiện đoạn chương trình sau, thì giá trị cuối cùng của biến TB, N là bao nhiêu?
TB := 3;
N := TB * 2;
For K := 5 To N Do TB := TB + K; N := TB - N; N := N * 2;
=== Giải ===
TB = 3
N = 3 * 2 = 6
Số lần lặp = 6 - 5 + 1 = 2
Lần 1: (K = 5) TB = 3 + 5 = 8
Lần 2: (K = 6) TB = 8 + 6 = 14
N = 14 - 6 = 8
N = 8 * 2 = 16
Đáp án: TB = 14, N = 16
3. Sau khi thực hiện đoạn chương trình sau, thì giá trị cuối cùng của biến TB, N là bao nhiêu?
TB := 3;
N := TB * 2;
For K := N To TB Do Begin TB := TB + K; End; N := TB - N; N := N * 2;
=== Giải ===
TB = 3
N = 3 * 2 = 6
Số lần lặp = 3 - 6 + 1 = -2 => Không lặp
N = 3 - 6 = -3
N = (-3) * 2 = -6
Đáp án: TB = 3, N = -6
4. Sau khi thực hiện đoạn chương trình sau, thì giá trị cuối cùng của biến TB, N là bao nhiêu?
TB := 3;
N := TB * 2;
For K := -2 To 6 Do Begin TB := TB + K; If K = 1 Then Break; N := TB - N; End; N := N * 2;
=== Giải ===
TB = 3
N = 3 * 2 = 6
Số lần lặp = 6 - (-2) + 1 = 9
Lần 1: (K = (-2)) TB = 3 + (-2) = 1, N = 1 - 6 = -5
Lần 2: (K = (-1)) TB = 1 + (-1) = 0, N = 0 - (-5) = 5
Lần 3: (K = 0) TB = 0 + 0 = 0, N = 0 - 5 = -5
Lần 4: (K = 1) TB = 0 + 1 = 1, Thoát khỏi vòng lặp
N = (-5) * 2 = -10
Đáp án: TB = 1, N = -10

DẠNG BÀI TẬP 3: Xác định lỗi trong câu lệnh FOR

For i := 1 To 7 Do ; Writeln('Pascal');
=> Không có phần <Câu lệnh>
For i = 2 To 10 Do Write(i);
=> Sai cú pháp :=
For i := 0 To 5 Writeln('=.=');
=> Sai cú pháp, thiếu từ khóa Do
For i := 5 To 10.5 Do Write(i);
=> Sai kiểu dữ liệu <Giá trị cuối>
For i := 6 To 1 Do Writeln('Hello');
=> Không thực hiện vòng lặp nào
For i := 5 Do 5 Do Write(i);
=> Sai cú pháp, dùng từ khóa Do hai lần, thiếu từ khóa To
For i : = -2 To 1 Do Writeln('Hello');
=> Sai cú pháp, có dấu cách giữa : và =

► Tài liệu Google Drive: Nhấn để xem nội dung