a) giá trị đầu lớn hơn giá trị cuối.
sửa: for i:=1 to 3 do writeln('H');
b) giá trị đầu và giá trị cuối phải là kiểu số nguyên.
sửa: for i:=1 to 10 do writeln('H');
c) sau while là 1 điều kiện, không phải là 1 phép gán và sai cú pháp của câu lệnh gán sau do.
sửa: x:=2;
while x=2 do x:=x+1;
d)câu lệnh lặp while-do này điều kiện luôn đúng nên sẽ lặp vô hạn lần.
sửa: x:=2;
while s<=10 do
begin
n:=n+1;
s:=s+n;
end;