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âu1: 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; hứa sẽ vote đầy đủ

1 câu trả lời

Câu 1( Lý Thuyết)

S= 15

câu 1( BT)

10 số tự nhiên đầu tiên:
Var i,s:integer;
Begin
s:=1
for i:=1 to 10 do s:=s*i;
writeln('Tich: ',s);
readln
end.

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.