Đối với học sinh:
• Hiểu được nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;
• Hiểu được cấu trúc lặp với số lần cho trước, cấu trúc lặp kiểm tra điều kiện trước;
• Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể;
25 trang |
Chia sẻ: zimbreakhd07 | Lượt xem: 1946 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Cấu trúc lặp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TIN HỌC LỚP 11
Sinh viên thực hiện: Phương Thị
Chang
Lớp: K56A-CNTT
BÀI 10
CẤU TRÚC LẶP (3 tiết)
I. MỤC ĐÍCH, YÊU CẦU CHUNG:
Đối với học sinh:
• Hiểu được nhu cầu của cấu trúc lặp trong
biểu diễn thuật toán;
• Hiểu được cấu trúc lặp với số lần cho trước,
cấu trúc lặp kiểm tra điều kiện trước;
• Biết cách vận dụng đúng đắn từng loại cấu
trúc lặp vào tình huống cụ thể;
I. MỤC ĐÍCH, YÊU CẦU
CHUNG:
• Mô tả được thuật toán của một số
bài toán đơn giản có sử dụng lệnh lặp;
• Viết đúng các lệnh lặp với số lần biết
trước, lệnh lặp kiểm tra điều kiện
trước;
• Viết được thuật toán của bài toán
đơn giản.
Cấu trúc lặp (Tiết 1)
I. Mục đích và yêu cầu
• Hiểu về nhu cầu của cấu trúc lặp trong biểu
diễn thuật toán;
• Hiểu được cấu trúc lặp với số lần biết trước,
cấu trúc lặp kiểm tra điều kiện trước;
I. Mục đích và yêu cầu
• Biết cách vận dụng đúng đắn cấu trúc lặp
trước vào tình huống phù hợp;
• Viết đúng lệnh với số lần lặp biết trước;
• Mô tả được thuật toán của một số bài
toán đơn giản có sử dụng câu lệnh lặp với số
lần biết trước.
II . MỞ ĐẦU
• Trong một số thuật toán có những thao
tác phải lặp đi lặp lại nhiều lần. Nếu ta phải
viết đi viết lại các thao tác đó thì rõ ràng
không thuân tiện, nó mất thời gian và lại dễ
dẫn tới nhàm chán.
II . MỞ ĐẦU
• Ví dụ: Chương trình tính điểm cho một lớp
học sinh thì ta phải lặp lại nhiều lần một số
thao tác: Nhập họ tên học sinh, nhập điểm
các môn, tính tổng điểm cho từng môn hoặc
trung bình chung.
II . MỞ ĐẦU
• Nếu cứ mỗi lần nhập thông tin cho
một học sinh ta lại phải viết lại các
thao tác đó thì chương trình cồng
kênh, không thuận tiện trong việc xem
xét, sửa đổi đồng thời mất rất nhiều
thời gian, công sức.
II . MỞ ĐẦU
• Vì thế ngôn ngữ lập trình đã đưa ra cấu
trúc lặp, chỉ cần viết các câu lệnh thực hiện
các thao tác trên một lần, sau đó sử dụng
câu lệnh lặp cho chương trình tự thực hiện
lặp lại các thao tác đó. Bài hôm nay chúng
ta tìm hiểu vể cấu trúc lặp.
III. Nội dung
1. Câu lệnh lặp với số lần biết trước và câu
lệnh lặp với số lần chưa biết trước:
Xét hai bài toán sau:
Với a là số nguyên và a >= 2
Hai bài toán
Bài 1: Tính tổng và đưa kết quả ra màn hình:
Bài 2: Tính tổng và đưa kết quả ra màn hình
tổng:
cho đến khi
Hai bài toán
• Việc tính tổng s ở hai bài toán lặp lại một số
lần xác định
• Ở bài 1: số lần lặp là 100 và việc cộng vào
tổng sẽ kết thúc khi đã thực hiện việc cộng
100 lần. Đây là lặp với số lần biết trước.
Hai bài toán
• Ở bài 2: số lần lặp chưa biết trước nhưng
cộng vào tổng S sẽ kết thúc khi điều kiện
1/a+N < 0.0001
được thoả mãn. Đây là lặp với số lần chưa
biết trước nhưng có điều kiện nào đó cho
trước để dừng lặp.
Câu lệnh lặp với số lần biết trước
và câu lệnh for-do:
Xem xét bài 1, có hai thuật toán như sau:
Thuật toán Tong_1a
• Bước 1. S 1/a; N 0;
{khởi tạo s và N}
• Bước 2. N N + 1;
• Bước 3. Nếu N > 100 thì chuyển đến B5;
• Bước 4. S S + 1/(1 + N) rồi quay lại B2;
• Bước 5. Đưa S ra màn hình, rồi kết thúc.
Thuật toán tong_1b:
Thuật toán tong_1b:
• Bước 1. S 1/a; N 101;
{khởi tạo S và N}
• Bước 2. N N – 1;
• Bước 3. Nếu N < 1 thì chuyển đến B5;
• Bước 4. S S + 1/(a + N) rồi quay lại B2;
• Bước 5. Đưa S ra màn hình rồi kết thúc.
Nhận xét về hai thuật toán
Cả hai thuật toán trên đều là biết trước số
lần lặp là 100 lần.
• Thuật toán tong _1a, giá trị bắt đầu tham
gia vòng lặp là 1 và sau mỗi lần lặp giá trị của
N tăng lên 1 cho đến khi N > 100 (N=101)
thì kết thúc lặp;
Nhận xét thuật toán tong_1b:
• Thuật toán tong_1b, giá trị ban đầu của N
là 100 và sau mỗi lần lặp N giảm đi cho đến
khi N < 1 (N=0) thì kết thúc lặp.
• Ta nói cách khác là lặp trong thuật toán
tong_1a là dạng tiến, trong thuật toán
tong_1b là dạng lùi.
Kết luận
• Như vậy dạng lặp với số lần biết trước được
dùng để thực hiện câu lệnh một số lần xác
định. Dạng này dùng biến điều khiền để điều
khiển vòng lặp. Mỗi lần thực hiện câu lệnh thì
biến điều khiển được tự động tăng hoặc
giảm . Đến khi biến điều khiển đạt giá trị xác
định thì dừng vòng lặp.
Cấu trúc lặp for-do
Lặp với số lần biết trước thể hiện qua câu lệnh
for-do,có hai dạng:
Dạng lặp tiến:
For := to
do ;
Cấu trúc lặp for-do
Dạng lặp lùi:
For := downto
do ;
Một số lưu ý về biến đếm
Biến đếm là biến đơn, thường có kiểu nguyên.
• Giá trị đầu, giá trị cuối là các biểu thức
cùng kiểu với biến đếm. Giá trị các biểu thức
này đã được xác định trước và giá trị đầu
phải nhỏ hơn hoặc bằng giá trị cuối.
Một số lưu ý về biến đếm
• Trong vòng lặp không được chứa lệnh làm
thay đổi giá trị của biến điều khiển, giá
trị của biến đếm sẽ tự động được điều
chỉnh. Nếu ta thay đổi thì gây ra tình trạng
khó theo dõi và quản lý vòng for.
Một số lưu ý về biến đếm
• Sau khi ra khỏi vòng for giá trị của biến
điều khiển là không xác định. Vì vậy không
thể sử dụng giá trị của biến điều khiển
sau khi thực hiện xong vòng for vào câu
lệnh tiếp theo.
Hoạt động của lệnh for-do:
• Đầu tiên máy sẽ kiểm tra giá trị của biến
đếm. Nếu điều kiện nhận của biến đếm thoả
mãn thì vào vòng for thực hiện tuần tự các
câu lệnh sau do.
• Ở dạng tiến, 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.
Hoạt động của lệnh for-do:
• Ở dạng lùi, biến đếm lượt lần nhận các giá trị
liên tiếp giảm từ giá tri cuối đến giá trị đầu.
• Ở cả hai dạng tiến và lùi thì mỗi lần biến đếm
thay đổi là một lần các câu lệnh sau do được
thực hiện hay nói cách khác là số lần lặp
công việc đã đươc xác định
Các file đính kèm theo tài liệu này:
- tin_hoc_lop_11_7424.pdf