If lệnh ghép Begin Kiểm kiện, nếu điều thì câu lệnh Dạngtra đủ:điều Kiểm tra điều kiện,kiện nếu đúng điều kiện đúng thì sẽ câu < các thực câu lệnh> được lệnh 1 được hiện,thực ngược hi[r]
Trang 1GV: ĐẶNG THỊ BÍCH LIÊN
Trang 2Câu 1: Trình bày cấu trúc và ý nghĩa của câu lệnh If – then và
câu lệnh If – then – else?
Câu 2: Câu lệnh ghép có dạng gì? Khi nào thì sử dụng câu
lệnh ghép?
Kiểm tra bài cũ
If <điều kiện> then <câu lệnh>;
Kiểm tra điều kiện, nếu điều kiện đúng thì câu lệnh sẽ
được thực hiện, ngược lại thì câu lệnh bỏ qua.
If <điều kiện> then <câu lệnh1> else <câu lệnh 2>;
Dạng đủ: Kiểm tra điều kiện, nếu điều kiện đúng thì câu
lệnh 1 được thực hiện, ngược lại thì câu lệnh 2 được thực hiện.
Cú pháp câu lệnh ghép
Begin
< các câu lệnh>
End;
Khi có từ hai câu lẹnh trở lên thì ta sử dụng câu lệnh ghép
Trang 3Quan sát 2 hình sau
Dung tích
30 Lít
1 Lít
Dung tích
30 Lít
Lít
- Hình 1: Người thứ nhất
dùng một chiếc xô dung
tích 1 lít đổ đầy nước vào
một chiếc thùng có dung
tích 30 lít Hỏi bao nhiêu
lần thì xong?
- Hình 2: Người thứ 2 dùng một chiếc xô không rõ dung tích để đổ đầy nước vào một chiếc thùng có dung tích 30 lít Hỏi bao nhiêu lần thì xong?
Sau
30 lần đổ
Chừng nào đầy thùng
Quá trình như vậy được gọi
là lặp
Trang 4Bài 10 CẤU TRÚC LẶP
1 Lặp
Cấu trúc lặp: là điều khiển công việc lặp đi lặp lại một số lần hoặc thỏa mãn một điều kiện nào đó để hoàn thành một công việc.
Có hai loại cấu trúc lặp:
- Lặp với số lần biết trước
- Lặp với số lần chưa biết trước
Trang 5Bài 10 CẤU TRÚC LẶP
1 Lặp
2 Lặp với số lần biết trước và câu lệnh for – do:
Ví dụ: Tính và đưa ra màn hình Tổng S = 1+2+3+…+N
Nếu N= 10 thì S=?
S= 1+2+3+…+10 = 55
S:=0;
i=1 S:=S+i=1;
i=2 S:=S+i=3;
………
i=10 S:=S+i=55;
Ý tưởng:
- Đầu tiên gán tổng bằng 0;
-Cho biến đếm tăng dần từ 1 đến n, cứ
mỗi giá trị của i thực hiện câu lệnh
S:=S+i;
- Công việc này được thực hiện n lần
Trang 6Bài 10 CẤU TRÚC LẶP
1 Lặp
2 Lặp với số lần biết trước và câu lệnh for – do:
Ví dụ: Tính và đưa ra màn hình Tổng S = 1+2+3+…+N
Thuật toán tong1a
B1 Nhập N;
B2 S0, i1;
B3 Nếu i >N thì đưa ra S rồi kết thúc;
B4 SS + i;
B5 i i +1 rồi quay lại B2;
Thuật toán tong1b B1 Nhập N;
B2 S0, iN;
B3 Nếu i <1 thì đưa ra S rồi kết thúc;
B4 SS + i;
B5 i i -1 rồi quay lại B2;
Trang 7Bài 10 CẤU TRÚC LẶP
1 Lặp
2 Lặp với số lần biết trước và câu lệnh for – do:
• Dạng lặp tiến:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
• Dạng lặp lùi:
For <biến đếm>:=<giá trị cuối> downto <giá trị đầu> do <câu lệnh>;
Trong đó:
Biến đếm: là biến đơn, thường là kiểu số nguyên.
Giá trị đầu, giá trị cuối: là biểu thức cùng kiểu với biến đếm Giá
trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
- Giá trị của biến đếm được tự động điều chỉnh
- Trong vòng lặp không được chứa lệnh làm thay đổi giá trị của biến
đếm
Trang 8Bài 10 CẤU TRÚC LẶP
1 Lặp
2 Lặp với số lần biết trước và câu lệnh for – do:
• Dạng lặp tiến:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
• Dạng lặp lùi:
For <biến đếm>:=<giá trị cuối> downto <giá trị đầu> do <câu lệnh>;
Ở dạng lặp tiến: <câu lệnh> được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối
Ở dạng lặp lùi: <câu lệnh> được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu
Trang 9Bài 10 CẤU TRÚC LẶP
2 Lặp với số lần biết trước và câu lệnh for – do:
Chương trình:
Program tong1;
Var S,i,N:byte;
Begin Write('Nhap gia tri N: ');
Readln(N);
S:=0;
For i:=1 to N do S:=S+i;
Writeln(‘Tong la: ‘,S);
Readln;
End.
Ví dụ1: Tính và đưa ra màn hình Tổng S = 1+2+3+…+N
Trang 10Ví dụ 2: Cho biết kết quả in ra màn hình sau khi
thực hiện chương trình sau:
Program vidu;
Var i: integer;
BEGIN
For i:= 1 to 3 do Begin
Write(i:4);
i:= i+1;
End;
END.
Bài 10 CẤU TRÚC LẶP
2 Lặp với số lần biết trước và câu lệnh for – do:
Trang 11Program vidu;
Var i, S: integer;
Begin
S:= 0;
For i:= 1 to 33 do S:= S+ i*3;
Writeln(‘Tong can tim la :’, S:6); Readln
End
Ví dụ 3: Lập trình để tính tổng các số nguyên dương
chia hết cho 3 và nhỏ hơn 100.
Bài 10 CẤU TRÚC LẶP
2 Lặp với số lần biết trước và câu lệnh for – do: