1.CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦNHãy quan sát các ảnh sau Đánh răng mỗi ngày hai lần à công việc l ặp lại với số lần nh ất định và biết trước.. Mỗi Đi h Học cho đến khi t
Trang 1CÂU LỆNH LẶP
Thời gian 2 tiết
Bài 7
Trang 21.CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN
Hãy quan sát các ảnh sau
Đánh răng mỗi ngày hai lần à công việc l ặp lại với số lần nh ất định và biết trước
Mỗi Đi h Học cho đến khi thuộc bài ngày t ọc mỗi ngày một lần ắm m ột lần à công việc l l à công việc l l à công việc l ặp lại ặp lại với số lần nh ặp lại với số lần nh với số lần không thể xác định được ất định và biết trước ất định và biết trước
Trang 3Trong cuộc sống hằng ngày, nhiều hoạt động được lặp đi lặp lại nhiều lần.
Có những hoạt động mà chúng ta thường thực hiện lặp lại với một số lần nhất định và biết trước, chẳng hạn đánh răng mỗi ngày hai lần, mỗi ngày tắm một lần,…Chúng ta còn lặp lại công việc với số lần không thể xác định được: học cho đến khi thuộc bài,nhặt từng cọng rau cho đến khi xong,…
Khi viết chương trình máy tính cũng vậy Để chỉ dẫn cho máy 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
1.CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN
Trang 42 CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH
Ví dụ 1 Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33 Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị Do đó,
ta chỉ cần lặp lại thao tác vẽ hình vuông ba lần
Hình 33
Trang 5• Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây:
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 hai đơn vị và trở lại bước 1; ngược lại kết thúc thuật toán.
1
2 CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH
Trang 6Riêng bài toán vẽ một hình vuông (hình 34), thao tác chính là vẽ bốn cạnh bằng nhau, hãy lập lại bốn lần thao tác vẽ một đoạn thẳng Sau mỗi lần vẽ đoạn thẳng, thước kẻ được quay một góc 90 sang phải tại vị trí của bút vẽ.
Hình 34
2 CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH
Trang 7Thuật toán sau đây sẽ mô tả các bước để vẽ hình vuông:
Bước1 K 0 ( là số đoạn thẳng đã vẽ được)
Bước2 K K+1 Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước sang phải.
Bước3 Nếu K < 4 thì trở lại bước2; Ngược lại, kết thúc thuật toán.
900
Trang 8Ví dụ 2 Giả sử cần tính tổng của 100 số tự nhiên đầu tiên, tức là tính:
Bước3 Nếu i ≤ 100, thì SUM SUM + i và quay lại bước 2.
Bước4 Thông báo kết quả và kết thúc thuật toán.
Trang 9Hãy nêu cấu trúc dạng lặp tiến?
Biến đếm : biến kiểu nguyên, kí tự
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.
For < biến đếm >:= < giá trị đầu > to < giá trị cuối > do < câu lệnh >;
Ví dụ S:=1;
FOR i:=2 TO 100 DO S:=S+1/i;
Câu lệnh : Không được làm thay đổi giá trị biến đếm, Nếu có nhiều hơn một lệnh thì phải
đặt trong cặp từ khoá Begin end ;
Trang 10SƠ ĐỒ KHỐI
Biến đếm:=giá trị đầu
Biến đếm<=giá trị cuối
Lệnh cần lặp biến đếm tăng 1
Đúng
Sai
Quan sát sơ đồ khối, hãy
cho biết sự thực hiện của
máy?
• Bước 1: tính giá trị đầu, gán cho biến đếm
• Bước 2: Nếu biến đếm <= giá trị cuối thì:
• thực hiện lệnh cần lặp
• tăng biến đếm 1 đơn vị, quay lại bước 2
Trang 12delay(100) end;
Readln end
Trang 134 CẤU TRÚC DẠNG LẶP LÙI
Hãy nêu cấu trúc dạng lặp lùi?
Biến đếm : biến kiểu nguyên, kí tự
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.
for < biến đếm >:= < giá trị cuối > downto < giá trị đầu > do < câu lệnh >;
Ví dụ S:=1;
FOR i:=100 DOWNTO 2 DO S:=S+1/i;
Trang 14SƠ ĐỒ KHỐI
Biến đếm:=giá trị đầu
Biến đếm>=giá trị cuối
Lệnh cần lặp biến đếm giảm 1
Đúng
Sai
Quan sát sơ đồ khối, hãy
cho biết sự thực hiện của
máy?
• Bước 1: tính giá trị đầu, gán cho biến đếm
• Bước 2: Nếu biến đếm >= giá trị cuối thì:
• thực hiện lệnh cần lặp
• giảm biến đếm 1 đơn vị, quay lại bước 2
Trang 15Lưu ý:
+ Biến đếm là biến đơn, có kiểu nguyên hoặc kí tự.
+ Giá trị đầu, giá trị cuối là các biểu thức có cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn giá trị
cuối.
+ Giá trị của biến đếm được điều chỉnh tự động, vì vậy câu lệnh viết sau DO không được thay đổi giá trị biến đếm
For i:=1 to 10 do write(i);
For i:=‘a’ to ‘z’ do write(i);
For i:= 100 to 200 do write(i);
Trang 165 TÍNH TỔNG BẰNG CÂU LỆNH LẶP
For i:= 1 to 5 do S:= S + 1;
Writeln (‘Tong cua S = ’,s);
Readln end
Trang 17Viết chương trình tính tổng của N số tự nhiên đầu tiên, với N là số tự
nhiên được nhập vào từ bàn phím
Trang 18Ta kí hiệu N! là tích N số tự nhiên đầu tiên:
P:= 1;
For i:= 1 to N do P:= P*i;
Writeln (N,’! = ’,P);
Readln end
5 TÍNH TỔNG BẰNG CÂU LỆNH LẶP
Trang 19Em hãy viết chương trình tính tổng các số nguyên liên tiếp từ n đến m với n,m
là các số nguyên dương nhập vào từ bàn phím
write (‘Nhap m=‘); readln ( m);
Trang 20GHI NHỚ
cho đến khi một điều kiện nào đó được thoả mãn.
Trang 21Thực hiện tháng 01 năm 2009
Bài học đã
KẾT THÚC
Thân ái chào các em