• Khung trình chiếu

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

Các tài liệu liên quan đến công tác bồi dưỡng học sinh
Gửi hồi đáp
Ảnh đại diện người dùng
huynhbuutam
Nhà sáng lập
Nhà sáng lập
Các bài viết: 112
Đã gia nhập lúc: T3 31 Th8, 2021 22:04
Địa điểm: Trường THCS Châu Lăng
Tên thật: Huỳnh Bửu Tâm

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

Bài viết 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
Gửi hồi đáp
  • Similar Topics
    Các hồi đáp
    Lượt xem
    Bài viết cuối