Câu 1:
Cú pháp:
(biết trước có 2 loại nhé)
- Biết trước:
+ lặp tiến:
for <tên biến>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
+ lặp lùi:
for <tên biến>:=<giá trị đầu> downto <giá trị cuối> do <câu lệnh>;
*Lưu ý:
- đối với lặp tiến thì giá trị đầu phải bé hơn hoặc bằng giá trị cuối.
- đới với lặp lùi thì giá trị đầu phải lớn hơn hoặc bằng giá trị cuối.
- Chưa biết trước: while <điều kiện> do <câu lệnh>;
Hoạt động:
- Biết trước:
+ Lặp câu lệnh theo số lần lặp biết trước của câu lệnh đó.
+ Tên biến phải có giá trị integer (số nguyên)
- Chưa biết trước:
+ Lặp câu lệnh theo số lần chưa biết trước, dạng này phụ thuộc vào điều kiện.
+ Nếu điều kiện đúng, chương trình lặp câu lệnh đến khi điều kiện đó sai hoàn toàn.
+ Nếu điều kiện sai, chương trình kết thúc.
Sơ đồ: (hình 1 là for..to..do, hình 2 là for..downto..do, hình 3 là while..do
Câu 2:
Vì sau do có 2 câu lệnh mà không begin end; để thực hiện chung nên chỉ thực hiện j:=j+2; sau đó quay lại cộng cho k.
VL1: j=4
VL2: j=6
VL3: j=8
VL4: j=10
VL5: j=12
k:=k+j=3+12=15
Vậy j=12;k=15