Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày. Hãy cho biết tác dụng của câu lệnh lặp với số lần biết trước[r]
(1)(2)BÀI 7
CÂU LỆNH LẶP
(3)05/28/21 Slide
1 Các công việc phải thực nhiều lần
- Đánh ngày hai lần - Tắm ngày lần
- Học thuộc - Nhặt rác hết rác,…
Để dẫn cho máy tính thực công việc,
trong nhiều trường hợp ta cần phải viết lặp lại nhiều câu lệnh thực phép tính định
(4)2 Câu lệnh lặp - lệnh thay cho nhiều
lệnh
Ví dụ 1
Giả sử ta cần vẽ ba hình vng có cạnh
đơn vị hình 33 Mỗi hình vng ảnh dịch
chuyển hình bên trái khoảng cách
đơn vị.
(5)05/28/21 Slide
Em nêu thuật toán?
-
Bước 1.
Vẽ hình vng (vẽ liên tiếp bốn cạnh
trở đỉnh ban đầu).
-
Bước 2.
Nếu số hình vng vẽ 3,
di chuyển bút vẽ bên phải đơn vị trở lại
bước 1; ngược lại, kết thúc thuật toán.
(6)Em nêu thuật toán vẽ hình
vng
Bước k (k số đoạn thẳng vẽ được)
Bước Vẽ đoạn thẳng đơn vị độ dài quay thước
90o sang phải
Bước k k +1 Nếu k ≤ trở lại bước 2; ngược
lại, kết thúc thuật toán
Lưu ý rằng, biến k sử dụng biến đếm để ghi
(7)05/28/21 Slide
Ví dụ Tính tổng 100 số tự nhiên
đầu tiên (
S
= + + + + 100
)
- Cách mô tả hoạt động lặp thuật tốn
trong ví dụ gọi cấu trúc lặp.
- Mọi ngôn ngữ lập trình có "cách" để thị cho
máy tính thực cấu trúc lặp với câu lệnh Đó
là câu lệnh lặp
(8)3 Ví dụ câu lệnh lặp
- Câu lệnh lặp Pascal có dạng:Trong đó:
- for, to, từ khóa
- Biến đếm thuộc kiểu nguyên; giá trị đầu, giá trị cuối giá trị nguyên
- Số vòng lặp = giá trị cuối – giá trị đầu +
For <biến đếm>:=<giá trị đầu> to
<giá trị cuối> <câu lệnh>;
(9)05/28/21 Slide
Hoạt động câu lệnh
Hoạt động câu lệnh
- Khi thực hiện, ban đầu biến đếm nhận giá trị giá trị đầu, sau vòng lặp, biến đếm tự động tăng thêm đơn vị giá trị cuối
(10)Ví dụ In hình thứ tự lần lặp
(11)05/28/21 Slide 11
Câu lệnh ghép
Câu lệnh ghép
Câu lệnh ghép có dạng
Câu lệnh ghép coi câu lệnh
Begin …… End;
(12)Lợi ích câu lệnh lặp
- Giảm nhẹ công sức viết chương trình
(13)05/28/21 Slide 13
4 Tính tổng tích câu lệnh lặp
- Ví dụ Tính tổng N số tự nhiên
Lưu ý: Longint là kiểu số nguyên phạm vi
giá trị lớn integer Cụ thể từ 231 đến 231
Xem chương trình
(14)Ví dụ Tính N!
- N! tích số tự nhiên - Kí hiệu N! = 1.2.3.4.5 N
Xem chương trình
(15)05/28/21 Slide 15
GHI NHỚ
1 Cấu trúc lặp sử dụng để thị cho máy tính thực lặp lại vài hoạt động điều kiện thỏa mãn
2 Mọi ngơn ngữ lập trình có câu lệnh để thể cấu trúc lặp
3 Ngôn ngữ Pascal thể cấu trúc lặp với số lần lặp cho trước câu lệnh for … do
(16)CÂU HỎI VÀ BÀI TẬP
1 Cho vài ví dụ hoạt động thực lặp lại sống ngày
2 Hãy cho biết tác dụng câu lệnh lặp với số lần biết trước
(17)05/28/21 Slide 17
CÂU HỎI VÀ BÀI TẬP
3 Khi thực câu lệnh lặp, máy tính kiểm tra điều kiện Với lệnh lặp for <biến đếm>:=<giá trị đầu> to <giá trị cuối> <câu lệnh>;
của Pascal, điều kiện cần phải kiểm tra gì?
4 Sau thực đoạn chương trình sau, giá trị biến j bao nhiêu?
j:=0;
For i:=0 to j:=j+2;
(18)CÂU HỎI VÀ BÀI TẬP
5 Các câu lệnh Pascal sau có hợp lệ khơng? Vì sao?
a) For i:=100 to writeln(‘A’); b) For i:=1.5 to 10.5 writeln(‘A’); c) For i=1 to 10 writeln(‘A’);
d) For i:=1 to 10 do; writeln(‘A’); e) Var x:real;
begin
for x:=1 to 10 writeln(‘A’);
(19)(20)Chương trình tổng n chữ sơ
• program tong;
• uses wincrt;
• Var s,n,i: integer;
• begin
• Write('Nhap so nguyen '); read(n);
• S:=0;
• For i:=1 to n do
• S:=s+i;
(21)05/28/21 Slide 21