I. PHẦN LÍ THUYẾT
câu 1: cho đoạn chương trình sau:
S:=0;
For i:= 1 to 6 do S:=S+i;
Tính giá trị của S?
II. PHẦN BÀI TẬP:
Câu 1: Viết chương trình tính tích của 10 số tự nhiên đầu tiên.
Câu 2: Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số
lần lặp chưa biết trước.
Câu 3: Hãy tìm hiểu đoạn chương trình Pascal sau đây và cho biết với đoạn lệnh đó chương trình
thực hiện bao nhiêu vòng lặp?
S:=1; n:=0;
While S <=10 do
Begin
n:=n+1;
S:=S+n;
End;
câu 1: 15
câu 2:
Câu lệnh lặp với số lần biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần đã được xác định từ trước.
– Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên
Câu lệnh lặp với số lần chưa biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước.
– Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.
câu 3:
Chương trình thực hiện 10 vòng lặp.
Chương trình thực hiện vô hạn vòng lặp do giá trị của S luôn luôn nhỏ hơn 10.
Nhận xét: Cần chú ý về lỗi vòng lặp vô hạn. Ở phần b do thiếu đoạn begin end để đóng mở nên sau lệnh lặp chỉ thực hiện lệnh tăng n lên 1, còn lệnh tăng S lên 1 không thực hiện được. Do đó S luôn bằng 0 như ban đầu. Lỗi lặp vô hạn xuất hiện.