Mỗi ngày xem tivi một lần vào buổi tối là công việc lặp lại với số lần nhất định và biết trước.. Mỗi ngày chơi thể thao một lần vào buổi sáng là công việc lặp lại với số lần nhất định và
Trang 1Bài 7
Câu lệnh lặp
Trang 2w
Trang 3w
Trang 4Mỗi ngày xem tivi một lần vào buổi tối là công việc lặp lại với số lần nhất định và biết trước
Mỗi ngày chơi thể thao một lần vào buổi sáng là công việc lặp lại với số lần nhất định và biết trước
Mỗi buổi học em phát biểu bao nhiêu lần là công việc lặp lại với số không biết trước được
Khi viết chương trình máy tính cũng vậy Để chỉ dẫn cho máy tính thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định
Trang 51
Ví dụ 1: Vẽ 3 hình vuông có cạnh 1 đơn vị
Thuật toán
Bước 1: Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu)
Bước 2: Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1, ngược lại kết thúc thuật toán
Trang 6Bài toán vẽ một hình vuông
Thuật toán:
Bước 1: k 0 (k là số đoạn thẳng đã vẽ được)
Bước 2: k k+1 Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 900 sang phải
Bước 3: Nếu k < 4 thì trở lại bước 2; Ngược lại, kết thúc thuật toán
Trong đó, biến k được sử dụng như là biến đếm để ghi lại
số cạnh đã vẽ được
Trang 7Ví dụ 2: Tính tổng 100 số tự nhiên đầu tiên S=1+2+…+100
Bước 1: Sum 0; i 0
Bước 2: i i + 1
Bước 3: Nếu i 100, thì Sum Sum + i và quay lại bước 2
Bước 4: Thông báo kết quả và kết thúc thuật toán
≤
- Cách mô tả các hoạt động lặp trong thuật toán như ví dụ trên được gọi là cấu trúc lặp
- Để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh gọi là câu lệnh lặp
Trang 8Hãy nêu cấu trúc dạng lặp tiến ?
For <biến đếm>:=< giá trị đầu > to < giá trị cuối > do < câu lệnh >;
Trong đó:
- For, to, do là các từ khóa
- Biến đếm là biến kiểu nguyên
- Giá trị đầu, giá trị cuối là các giá trị nguyên
Lưu ý:
- Giá trị đầu phải nhỏ hơn giá trị cuối
- Câu lệnh không làm thay đổi giá trị của biến đếm
- Nếu câu lệnh nhiều hơn một lệnh thì phải đặt trong cặp
Begin…end
Trang 9Ví dụ 3: Chương tình sau sẽ in ra màn hình thứ tự lần lặp
Program Lap;
Var i:Integer;
Begin
For i:=1 to 10 do
Writeln(‘ Day la lan lap thu ‘,i);
Readln;
End.
Trang 10Ví dụ 4: In một chữ “O” trên màn hình
Uses crt;
Var i:Integer;
Begin
Clrscr;
For i:=1 to 20 do Begin
Writeln(‘O’); Delay(100); End;
Readln;
End.
Trang 11…
Writeln(‘O’); Delay(100); End;
…
…
Writeln(‘O’);
…
Câu lệnh đơn Câu lệnh ghép
Trang 12Ví dụ 5: Tính tổng của N số đầu tiên
Program Tinh_Tong;
Begin
Write(‘Nhap so N = ‘);Readln(N);
S:=0;
For i:=1 to N do S:=S+I;
Writeln(‘ Tong cua ‘,N,’ so dau tien la ‘,S);
Readln;
End.
Trang 13Ví dụ 6: Tính tích của N số tự nhiên đầu tiên
N!= 1.2.3…N
Program Tinh_Giai_Thua;
Begin
Write(‘Nhap so N = ‘);Readln(N);
P:=1;
For i:=1 to N do P:=P*I;
Writeln(N,’! = ‘,P);
Readln;
End.
Trang 141 Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thỏa mãn
2 Mọi ngôn ngữ lập trình đều có các câu lệnh lặp để thể hiện cấu trúc lặp
3 Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần cho trước bằng câu lệnh For…do
Trang 15Câu 2: Cấu trúc lặp nào sau đây đúng ?
A For i:= 10 to 1 do B For i:= 1.5 to 10 do
C For i:= 1 to 10 do D For i= 10 to 1 do
Trang 16- Trả lời các câu hỏi và bài tập trang 60 SGK.