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;
1 câu trả lời
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.