Bài 10. Cấu trúc lặp
Chia sẻ bởi Nguyễn Thị Huyền Trang |
Ngày 10/05/2019 |
66
Chia sẻ tài liệu: Bài 10. Cấu trúc lặp thuộc Tin học 11
Nội dung tài liệu:
GIÁO ÁN BÀI 10 TIN HỌC 11
HỌC - HỌC NỮA - HỌC MÃI
Người soạn: Nguyễn Thị Chung
Gvhd : Trịnh Thanh Hải
Nêu khái niệm câu lệnh ghép?Tại sao phải có câu lệnh ghép?
Kiểm tra bài cũ
ĐẶT VẤN ĐỀ
Em hãy nêu ý tưởng của bài toán tính điểm cho học sinh một lớp (gồm 50 học sinh)?
(Nhập họ tên, điểm, tính điểm trung bình của học sinh)
CẤU TRÚC LẶP
(Tiết 1)
Khái niệm “lặp”
1
Lặp với số lần biết trước
2
Ví dụ
3
Bài tập củng cố
4
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
Vậy lặp là gì ?
Từ ví dụ trên thấy rằng công việc nhập họ tên , nhập điểm và tính điểm trung bình được lặp đi lặp lại. Ta nói rằng trong ví dụ trên đã có hiện tượng lặp.
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
Khái niệm lặp
Lặp: một công việc, một thao tác, một phép toán, một câu lệnh … được thực hiện lặp đi, lặp lại một số lần.
Trong một số thuật toán có những thao tác phải thực hiện lặp đi lặp lại một số lần. Cấu trúc lặp được sử dụng để mô tả các thao tác lặp đó.
1. Ví dụ
2. Khái niệm
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
?
Em hãy lấy ví dụ về lặp trong thực tế
Lặp
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
Ví dụ 1: Học sinh A bị phạt trực nhật
trong 7 ngày.
Ví dụ 2: Học sinh B bị phạt trực nhật cho
đến khi nào cô giáo thấy bạn có ý thức tốt
thì mới không phải trực nhật nữa.
Ví dụ 1, phải trực nhật 7 ngày, ví dụ 2
không biết trước phải trực nhật bao nhiêu
ngày
Lặp
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
Có hai loại lặp:
Lặp với số lần biết trước (ví dụ 1)
Lặp với số lần chưa biết trước ( ví dụ 2)
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
1. Ví dụ
Bài toán 1: Tính và đưa kết quả ra màn hình tổng
S= + + + … +
Bài toán 2: Tính và đưa kết quả ra màn hình tổng
S= + + + … + + …
cho đến khi < 0,0001.
Với a là số nguyên và a > 2, xét bài toán sau đây:
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
1. Ví dụ
* Cách để tính tổng S có nhiều điểm tương tự:
Xuất phát, S được gán giá trị ;
Tiếp theo: Cộng vào S một giá trị
với N=1,2,3,…
Việc cộng này được lặp đi lặp lại một số lần.
cho đến khi < 0.0001
S =
+
+
+ … +
S =
+
+
+ … +
+ …
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
* Điểm khác nhau trong hai bài toán trên:
Bài toán 1: Số lần lặp là 100, việc cộng vào tổng S sẽ
kết thúc khi đã thực hiện việc cộng đủ 100 lần.
Bài toán 2: Số lần lặp chưa biết trước, việc cộng vào tổng S sẽ kết thúc khi điều kiện < 0,0001 được thỏa mãn.
cho đến khi < 0.0001
Số lần lặp biết trước
Số lần lặp chưa biết trước
100
1
...
2
1
1
1
1
+
+
+
+
+
+
+
=
a
a
a
a
S
...
1
...
2
1
1
1
1
+
+
+
+
+
+
+
+
=
N
a
a
a
a
S
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Thuật toán
2. Cú pháp
3. Hoạt động
LẶP VỚI SỐ LẦN BIẾT TRƯỚC
THUẬT TOÁN
Thuật toán Tong_1a
Bước 1. S 1/a; N 0;
Bước 2. N N + 1;
Bước 3.Nếu N > 100 thì chuyển tới bước 5;
Bước 4. S S + 1/(a + N ) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình rồi kết thúc.
Thuật toán Tong_1b
Có hai thuật toán Tong_1a và Tong_1b để giải quyết bài toán 1 và bài toán 2 như sau:
Bước 1. S 1/a; N 101;
Bước 2. N N - 1;
Bước 3.Nếu N < 1 thì chuyển tới bước 5;
Bước 4. S S + 1/(a + N ) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình rồi kết thúc.
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Thuật toán Tong_1a
Bước 1. S 1/a; N 0;
Bước 2. N N + 1;
Bước 3.Nếu N > 100 thì chuyển tới bước 5;
Bước 4. S S + 1/(a + N ) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình rồi kết thúc.
Thuật toán Tong_1b
Bước 1. S 1/a; N 101;
Bước 2. N N - 1;
Bước 3. Nếu N < 1 thì chuyển tới bước 5;
Bước 4. S S + 1/(a + N ) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình rồi kết thúc.
Các bước 2, 3, 4 được lặp đi lặp lại một số lần
Em hãy chỉ rõ các bước phải thực hiện lặp đi lặp lại một số lần
Dạng lặp tiến
Dạng lặp lùi
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Mô tả cấu trúc lặp với số lần biết trước
Dạng lặp tiến:
Dạng lặp lùi:
For:= to do
For:= downto do
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ị đầu nhỏ hơn hoặc bằng giá trị cuối)
for, to, downto, do: Là từ khóa trong Pascal;
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Hoạt động của câu lệnh For - do
Dạng lặp tiến:
For:= to do
B1: Giá trị đầu, giá trị cuối được tính đúng 1 lần;
B2: Biến đếm nhận giá trị đầu. Kiểm tra nếu biến đếm < giá trị cuối thì chuyển sang B3;
B3: Thực hiện câu lệnh sau do. Đồng thời biến đếm nhận giá trị tiếp theo rồi quay lại B2
B4: Kết thúc câu lệnh
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Hoạt động của câu lệnh For - do
Dạng lặp lùi:
For:= downto do
B1: Giá trị đầu, giá trị cuối được tính đúng 1 lần;
B2: Biến đếm nhận giá trị cuối. Kiểm tra nếu biến đếm > giá trị đầu thì chuyển sang B3;
B3: Thực hiện câu lệnh sau do. Đồng thời biến đếm nhận giá trị tiếp theo rồi quay lại B2
B4: Kết thúc câu lệnh
Chú ý: 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.
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Ví dụ 2
2. Ví dụ 3
Ví dụ
Tổng 1_a
Tổng 1_b
1. Ví dụ 1
Tính tổng sau: S= 1 + 2 + 3 + …+ 10
Thật đơn giản ta chỉ cần câu lệnh?
Ví dụ 1
Xem chương trình
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Ví dụ 2
2. Ví dụ 3
Tổng 1_a
Tổng 1_b
1. Ví dụ 1
Tổng 1_a
S:=1.0/a;
N:=1 => S:=1.0/a + 1.0/(a+1)
N:=2 => S:=1.0/a + 1.0/(a+1) + 1.0/(a+2)
…
N:=100 => S:=1.0/a + 1.0/(a+1) + 1.0/(a+2)+…+
1.0/(a+100)
For N:=1 to 100 do
S:=S + 1.0 / (a+N);
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Ví dụ 2
2. Ví dụ 3
Tổng 1_a
Tổng 1_b
1. Ví dụ 1
Xem chương trình
S:=1.0/a;
For N:=100 downto 1 do
S:=S + 1.0 / (a+N);
Tổng 1_b
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Ví dụ 2
2. Ví dụ 3
Tổng 1_a
Tổng 1_b
1. Ví dụ 1
Ví dụ 3: Nhập từ bàn phím hai số nguyên M và N
(M cho 3 hoặc 5 trong phạm vi từ M đến N
Biểu thức điều kiện kiểm tra các số chia hêt cho 3
hoặc 5.
If (i mod 3=0) or (i mod 5=0) then D:=D+1;
Việc kiểm tra được lặp đi lặp lại trong khoảng từ
M đến N. Do đó ta sử dụng câu lệnh For – do:
For i:=M to N do
if (i mod 3=0) or (i mod 5=0) then D:=D+1;
Xem chương trình
Khái niệm “lặp”
Lặp với số lần biết trước, câu lệnh for - do
THE END
Chúc các em học tốt
HỌC - HỌC NỮA - HỌC MÃI
Người soạn: Nguyễn Thị Chung
Gvhd : Trịnh Thanh Hải
Nêu khái niệm câu lệnh ghép?Tại sao phải có câu lệnh ghép?
Kiểm tra bài cũ
ĐẶT VẤN ĐỀ
Em hãy nêu ý tưởng của bài toán tính điểm cho học sinh một lớp (gồm 50 học sinh)?
(Nhập họ tên, điểm, tính điểm trung bình của học sinh)
CẤU TRÚC LẶP
(Tiết 1)
Khái niệm “lặp”
1
Lặp với số lần biết trước
2
Ví dụ
3
Bài tập củng cố
4
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
Vậy lặp là gì ?
Từ ví dụ trên thấy rằng công việc nhập họ tên , nhập điểm và tính điểm trung bình được lặp đi lặp lại. Ta nói rằng trong ví dụ trên đã có hiện tượng lặp.
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
Khái niệm lặp
Lặp: một công việc, một thao tác, một phép toán, một câu lệnh … được thực hiện lặp đi, lặp lại một số lần.
Trong một số thuật toán có những thao tác phải thực hiện lặp đi lặp lại một số lần. Cấu trúc lặp được sử dụng để mô tả các thao tác lặp đó.
1. Ví dụ
2. Khái niệm
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
?
Em hãy lấy ví dụ về lặp trong thực tế
Lặp
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
Ví dụ 1: Học sinh A bị phạt trực nhật
trong 7 ngày.
Ví dụ 2: Học sinh B bị phạt trực nhật cho
đến khi nào cô giáo thấy bạn có ý thức tốt
thì mới không phải trực nhật nữa.
Ví dụ 1, phải trực nhật 7 ngày, ví dụ 2
không biết trước phải trực nhật bao nhiêu
ngày
Lặp
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
Có hai loại lặp:
Lặp với số lần biết trước (ví dụ 1)
Lặp với số lần chưa biết trước ( ví dụ 2)
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
1. Ví dụ
Bài toán 1: Tính và đưa kết quả ra màn hình tổng
S= + + + … +
Bài toán 2: Tính và đưa kết quả ra màn hình tổng
S= + + + … + + …
cho đến khi < 0,0001.
Với a là số nguyên và a > 2, xét bài toán sau đây:
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
1. Ví dụ
* Cách để tính tổng S có nhiều điểm tương tự:
Xuất phát, S được gán giá trị ;
Tiếp theo: Cộng vào S một giá trị
với N=1,2,3,…
Việc cộng này được lặp đi lặp lại một số lần.
cho đến khi < 0.0001
S =
+
+
+ … +
S =
+
+
+ … +
+ …
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Đặt vấn đề
1. Ví dụ
2. Khái niệm
* Điểm khác nhau trong hai bài toán trên:
Bài toán 1: Số lần lặp là 100, việc cộng vào tổng S sẽ
kết thúc khi đã thực hiện việc cộng đủ 100 lần.
Bài toán 2: Số lần lặp chưa biết trước, việc cộng vào tổng S sẽ kết thúc khi điều kiện < 0,0001 được thỏa mãn.
cho đến khi < 0.0001
Số lần lặp biết trước
Số lần lặp chưa biết trước
100
1
...
2
1
1
1
1
+
+
+
+
+
+
+
=
a
a
a
a
S
...
1
...
2
1
1
1
1
+
+
+
+
+
+
+
+
=
N
a
a
a
a
S
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Thuật toán
2. Cú pháp
3. Hoạt động
LẶP VỚI SỐ LẦN BIẾT TRƯỚC
THUẬT TOÁN
Thuật toán Tong_1a
Bước 1. S 1/a; N 0;
Bước 2. N N + 1;
Bước 3.Nếu N > 100 thì chuyển tới bước 5;
Bước 4. S S + 1/(a + N ) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình rồi kết thúc.
Thuật toán Tong_1b
Có hai thuật toán Tong_1a và Tong_1b để giải quyết bài toán 1 và bài toán 2 như sau:
Bước 1. S 1/a; N 101;
Bước 2. N N - 1;
Bước 3.Nếu N < 1 thì chuyển tới bước 5;
Bước 4. S S + 1/(a + N ) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình rồi kết thúc.
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Thuật toán Tong_1a
Bước 1. S 1/a; N 0;
Bước 2. N N + 1;
Bước 3.Nếu N > 100 thì chuyển tới bước 5;
Bước 4. S S + 1/(a + N ) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình rồi kết thúc.
Thuật toán Tong_1b
Bước 1. S 1/a; N 101;
Bước 2. N N - 1;
Bước 3. Nếu N < 1 thì chuyển tới bước 5;
Bước 4. S S + 1/(a + N ) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình rồi kết thúc.
Các bước 2, 3, 4 được lặp đi lặp lại một số lần
Em hãy chỉ rõ các bước phải thực hiện lặp đi lặp lại một số lần
Dạng lặp tiến
Dạng lặp lùi
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Mô tả cấu trúc lặp với số lần biết trước
Dạng lặp tiến:
Dạng lặp lùi:
For
For
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ị đầu nhỏ hơn hoặc bằng giá trị cuối)
for, to, downto, do: Là từ khóa trong Pascal;
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Hoạt động của câu lệnh For - do
Dạng lặp tiến:
For
B1: Giá trị đầu, giá trị cuối được tính đúng 1 lần;
B2: Biến đếm nhận giá trị đầu. Kiểm tra nếu biến đếm < giá trị cuối thì chuyển sang B3;
B3: Thực hiện câu lệnh sau do. Đồng thời biến đếm nhận giá trị tiếp theo rồi quay lại B2
B4: Kết thúc câu lệnh
Giao diện
Lặp
For – do
Ví dụ
Củng cố
Hoạt động của câu lệnh For - do
Dạng lặp lùi:
For
B1: Giá trị đầu, giá trị cuối được tính đúng 1 lần;
B2: Biến đếm nhận giá trị cuối. Kiểm tra nếu biến đếm > giá trị đầu thì chuyển sang B3;
B3: Thực hiện câu lệnh sau do. Đồng thời biến đếm nhận giá trị tiếp theo rồi quay lại B2
B4: Kết thúc câu lệnh
Chú ý: 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.
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Ví dụ 2
2. Ví dụ 3
Ví dụ
Tổng 1_a
Tổng 1_b
1. Ví dụ 1
Tính tổng sau: S= 1 + 2 + 3 + …+ 10
Thật đơn giản ta chỉ cần câu lệnh?
Ví dụ 1
Xem chương trình
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Ví dụ 2
2. Ví dụ 3
Tổng 1_a
Tổng 1_b
1. Ví dụ 1
Tổng 1_a
S:=1.0/a;
N:=1 => S:=1.0/a + 1.0/(a+1)
N:=2 => S:=1.0/a + 1.0/(a+1) + 1.0/(a+2)
…
N:=100 => S:=1.0/a + 1.0/(a+1) + 1.0/(a+2)+…+
1.0/(a+100)
For N:=1 to 100 do
S:=S + 1.0 / (a+N);
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Ví dụ 2
2. Ví dụ 3
Tổng 1_a
Tổng 1_b
1. Ví dụ 1
Xem chương trình
S:=1.0/a;
For N:=100 downto 1 do
S:=S + 1.0 / (a+N);
Tổng 1_b
Giao diện
Lặp
For – do
Ví dụ
Củng cố
1. Ví dụ 2
2. Ví dụ 3
Tổng 1_a
Tổng 1_b
1. Ví dụ 1
Ví dụ 3: Nhập từ bàn phím hai số nguyên M và N
(M
Biểu thức điều kiện kiểm tra các số chia hêt cho 3
hoặc 5.
If (i mod 3=0) or (i mod 5=0) then D:=D+1;
Việc kiểm tra được lặp đi lặp lại trong khoảng từ
M đến N. Do đó ta sử dụng câu lệnh For – do:
For i:=M to N do
if (i mod 3=0) or (i mod 5=0) then D:=D+1;
Xem chương trình
Khái niệm “lặp”
Lặp với số lần biết trước, câu lệnh for - do
THE END
Chúc các em học tốt
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Thị Huyền Trang
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)