Bài 10. Cấu trúc lặp
Chia sẻ bởi Nguyễn Xuân Tứ |
Ngày 10/05/2019 |
61
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:
Chào mừng quý thầy cô
VỀ DỰ HỘI GIẢNG CHÀO MỪNG 20-11
Môn:TIN HỌC 11
SỞ GD-ĐT PHÚ YÊN
TRƯỜNG THPT NGUYỄN DU
Giáo viên: NGUYỄN XUÂN TỨ
Kiểm tra bài cũ
Câu 1: Trình bày cấu trúc và ý nghĩa của câu lệnh If-Then v If-then-else?
Câu 2: Câu lệnh ghép có dạng gì? Khi nào ta sử dụng câu lệnh ghép?
Câu 3:ViÕt c©u lÖnh If – Then (trong Pascal) thÓ hiÖn cÊu tróc rÏ nh¸nh sau:
NÕu ngµy b»ng 20 vµ th¸ng b»ng 11 th× ®a ra mµn h×nh 2 dßng th«ng b¸o “Chµo mõng ngµy nhµ gi¸o viÖt nam”
Bài 10
CẤU TRÚC LẶP
I. Lặp
Ii. Lặp với số lần lặp biết trước
IIi. Lặp với số lần lặp không biết trước
Quan sát 2 hình sau
Dung tích
30 Lít
Dung tích
30 Lít
- Hình 1: Người thứ nhất dùng một chiếc xô dung tích 1 lít đổ đầy nước vào một chiếc thùng có dung tích 30 lít. Hỏi bao lâu thì xong?
- Hình 2: Người thứ 2 dùng một chiếc xô không rõ dung tích để đổ đầy nước vào một chiếc thùng có dung tích 30 lít . Hỏi bao lâu thì xong?
Sau
30 lần
đổ
Chừng
Nào đầy
thùng
Quá trình như vậy được gọi là lặp
Bài 10:
CẤU TRÚC LẶP
Các em hãy quan sát
VD1: Viết chương trình tính tổng các số tự nhiên từ 1 đến 100
S = 1 + 2 + 3 + . . .+100
Lặp với số lần biết trước
VD2: Viết chương trình nhập vào các số cho đến khi gặp 0 thì dừng lại. Tính tổng các số vừa nhập.
Lặp với số lần chưa biết trước
các em hãy cho biết
sự khác biệt giữa hai
bài toán?
Qua các ví dụ trên em hãy cho biết khái niệm về lặp?
Bài 10:
CẤU TRÚC LẶP
Khái niệm:
Lặp là điều khiển thực hiện công việc lặp đi lặp lại một số lần hoặc thỏa mãn một điều kiện nào đó để hoàn thành một công việc
Có hai loại cấu trúc lặp:
+ Lặp với số lần biết trước
+ Lặp với số lần không biết trước
I. LẶP
Bài 10:
CẤU TRÚC LẶP
II. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH For - do
FOR := TO DO < câu lệnh>;
Cú pháp:
Ý nghĩa:
Đầu tiên gán:=, xét xem có nhỏ hơn hay bằng hay không. Nếu không, lệnh FOR thực hiện xong. Nếu có, thì thực hiện và tăng lên 1 đơn vị( gán cho phần tử kế tiếp). Quá trình tiếp tục như lần đầu.
Trong đó:
Biến đếm là biến kiểu nguyên
Giá trị đầu và giá trị cuối là các biểu thức cùng kiểu dữ liệu với biến đếm
- Giá trị đầu <= giá trị cuối
Bài 10:
CẤU TRÚC LẶP
Lưu đồ:
Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy?
True
:=
BIẾN ĐẾM<=GIÁ TRỊ CUỐI
CÂU LỆNH
False
BiẾN ĐẾM:=BiẾN ĐẾM+1
Bài 10:
CẤU TRÚC LẶP
Ví dụ 1: Cho đoạn chương trình sau:
S:=1;
for i:=1 to 4 do S:= S+i;
S:=0;
For i:=3 to 5 do S:=S*i;
Tìm kết quả S ?
Tìm kết quả S?
Ví dụ 2: Cho đoạn chương trình sau:
S=11
S=0
Bài toán:
- Dữ liệu ra (Output) : Tổng S
- Dữ liệu vào (Input) : Nhập a
Hãy xác định INPUT và OUTPUT của bài toán trên!
II. Lặp với số lần lặp biết trước
Bài 10:
CẤU TRÚC LẶP
Với a >0, a là số nguyên.Lập chương trình tính tổng sau:
Phân tích bài toán (ý tưởng)
Nhận xét:
Ban đầu: S := 1/a
Cộng lần 1: S: = S + 1/(a+1)
Cộng lần 2: S: = S + 1/(a+2)
Cộng lần 3: S: = S + 1/(a+3)
.....
Cộng lần 100: S: = S + 1/(a+100)
Bắt đầu từ lần cộng 1 việc tính S được lặp đi lặp lại 100 lần theo quy luật
Ssau := Strước+ 1/(a+i)
với i chạy từ 1 ? 100
. . . . . . . . . . . . . . . . . . . .
Từ ý tưởng trên em hãy viết thuật toán cho bài toán
Bài 10:
CẤU TRÚC LẶP
B1: Nhập a;
B2: S?1/a; i?0;
B4: Nếu i >100 thì đưa ra giá trị S rồi Kết thúc;
B5 : S? S + 1/(a+i) rồi quay lại bước 3;
B3: i ? i +1;
Xây dựng thuật toán
Thuật toán trờn, giá trị i bắt đầu tham gia vòng lặp là 1 sau mỗi lần lặp i tăng lên 1 cho đến khi i > 100 (i = 101) thì kết thúc lặp (thực hiện 100 lần).
Nhận xét:
Liệt kê
Dựa vào thuật toán trên, em hãy cho biết giá trị i bắt đầu
tham gia vòng lặp là bao nhiêu và kết thúc khi nào?
Bài 10:
CẤU TRÚC LẶP
Lưu đồ
Bài 10:
CẤU TRÚC LẶP
i
S
1.5
Với a = 1
S := 1 ; i := 0;
i:=1
1>100 ?
S
S := 1+1/2
i := 2
2>100?
S:=1.5+1/3
1.5+1/3
5.1973
100
2
1
….
….
i := 100
S:=5.1973
100>100?
Nhập a
S1/a; i0
i >100
i i +1
Đưa ra S rồi
kết thúc
S S + 1/(a+i)
Đ
S
i:=101
101>100?
KT
Đ
S:=5.1973
101
Bài 10:
CẤU TRÚC LẶP
Quan sát sách giáo khoa trang 44, chương trình cài đặt thuật toán tính tổng
Bài 10:
CẤU TRÚC LẶP
Bài 10:
CẤU TRÚC LẶP
BÀI TẬP
Câu 1
Câu 2
Câu 3
HƯỚNG DẪN BÀI MỚI
Chuẩn bị tiết 2: Lặp với số lần chưa biết trước với câu lệnh While-do
- Cú pháp
- Ý nghĩa
- Sơ đồ
- Bài tập áp dụng
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Câu 1: Trong các hoạt động dưới đây, hoạt động nào là hoạt động lặp với số lần chưa biết trước?
a) X:= 10; for i:=1; to 4 do X:= X + 5;
b) X:= 10; for i:=1 to 4 do X = X + 5;
c) S:= 0; n:=0; for i:=1 to 4 do n:= n + 1; S:= S + n ;
Câu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
In ra các số 1
In ra các số từ 1 đến 10
In ra các số t? 1 d?n 9
Không phương án nào đúng.
Câu 3: Đoạn lệnh sau đây cho kết quả là gì?
S:=1; for i:=1 to 9 do
writeln(s);
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
VỀ DỰ HỘI GIẢNG CHÀO MỪNG 20-11
Môn:TIN HỌC 11
SỞ GD-ĐT PHÚ YÊN
TRƯỜNG THPT NGUYỄN DU
Giáo viên: NGUYỄN XUÂN TỨ
Kiểm tra bài cũ
Câu 1: Trình bày cấu trúc và ý nghĩa của câu lệnh If-Then v If-then-else?
Câu 2: Câu lệnh ghép có dạng gì? Khi nào ta sử dụng câu lệnh ghép?
Câu 3:ViÕt c©u lÖnh If – Then (trong Pascal) thÓ hiÖn cÊu tróc rÏ nh¸nh sau:
NÕu ngµy b»ng 20 vµ th¸ng b»ng 11 th× ®a ra mµn h×nh 2 dßng th«ng b¸o “Chµo mõng ngµy nhµ gi¸o viÖt nam”
Bài 10
CẤU TRÚC LẶP
I. Lặp
Ii. Lặp với số lần lặp biết trước
IIi. Lặp với số lần lặp không biết trước
Quan sát 2 hình sau
Dung tích
30 Lít
Dung tích
30 Lít
- Hình 1: Người thứ nhất dùng một chiếc xô dung tích 1 lít đổ đầy nước vào một chiếc thùng có dung tích 30 lít. Hỏi bao lâu thì xong?
- Hình 2: Người thứ 2 dùng một chiếc xô không rõ dung tích để đổ đầy nước vào một chiếc thùng có dung tích 30 lít . Hỏi bao lâu thì xong?
Sau
30 lần
đổ
Chừng
Nào đầy
thùng
Quá trình như vậy được gọi là lặp
Bài 10:
CẤU TRÚC LẶP
Các em hãy quan sát
VD1: Viết chương trình tính tổng các số tự nhiên từ 1 đến 100
S = 1 + 2 + 3 + . . .+100
Lặp với số lần biết trước
VD2: Viết chương trình nhập vào các số cho đến khi gặp 0 thì dừng lại. Tính tổng các số vừa nhập.
Lặp với số lần chưa biết trước
các em hãy cho biết
sự khác biệt giữa hai
bài toán?
Qua các ví dụ trên em hãy cho biết khái niệm về lặp?
Bài 10:
CẤU TRÚC LẶP
Khái niệm:
Lặp là điều khiển thực hiện công việc lặp đi lặp lại một số lần hoặc thỏa mãn một điều kiện nào đó để hoàn thành một công việc
Có hai loại cấu trúc lặp:
+ Lặp với số lần biết trước
+ Lặp với số lần không biết trước
I. LẶP
Bài 10:
CẤU TRÚC LẶP
II. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH For - do
FOR
Cú pháp:
Ý nghĩa:
Đầu tiên gán
Trong đó:
Biến đếm là biến kiểu nguyên
Giá trị đầu và giá trị cuối là các biểu thức cùng kiểu dữ liệu với biến đếm
- Giá trị đầu <= giá trị cuối
Bài 10:
CẤU TRÚC LẶP
Lưu đồ:
Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy?
True
BIẾN ĐẾM<=GIÁ TRỊ CUỐI
CÂU LỆNH
False
BiẾN ĐẾM:=BiẾN ĐẾM+1
Bài 10:
CẤU TRÚC LẶP
Ví dụ 1: Cho đoạn chương trình sau:
S:=1;
for i:=1 to 4 do S:= S+i;
S:=0;
For i:=3 to 5 do S:=S*i;
Tìm kết quả S ?
Tìm kết quả S?
Ví dụ 2: Cho đoạn chương trình sau:
S=11
S=0
Bài toán:
- Dữ liệu ra (Output) : Tổng S
- Dữ liệu vào (Input) : Nhập a
Hãy xác định INPUT và OUTPUT của bài toán trên!
II. Lặp với số lần lặp biết trước
Bài 10:
CẤU TRÚC LẶP
Với a >0, a là số nguyên.Lập chương trình tính tổng sau:
Phân tích bài toán (ý tưởng)
Nhận xét:
Ban đầu: S := 1/a
Cộng lần 1: S: = S + 1/(a+1)
Cộng lần 2: S: = S + 1/(a+2)
Cộng lần 3: S: = S + 1/(a+3)
.....
Cộng lần 100: S: = S + 1/(a+100)
Bắt đầu từ lần cộng 1 việc tính S được lặp đi lặp lại 100 lần theo quy luật
Ssau := Strước+ 1/(a+i)
với i chạy từ 1 ? 100
. . . . . . . . . . . . . . . . . . . .
Từ ý tưởng trên em hãy viết thuật toán cho bài toán
Bài 10:
CẤU TRÚC LẶP
B1: Nhập a;
B2: S?1/a; i?0;
B4: Nếu i >100 thì đưa ra giá trị S rồi Kết thúc;
B5 : S? S + 1/(a+i) rồi quay lại bước 3;
B3: i ? i +1;
Xây dựng thuật toán
Thuật toán trờn, giá trị i bắt đầu tham gia vòng lặp là 1 sau mỗi lần lặp i tăng lên 1 cho đến khi i > 100 (i = 101) thì kết thúc lặp (thực hiện 100 lần).
Nhận xét:
Liệt kê
Dựa vào thuật toán trên, em hãy cho biết giá trị i bắt đầu
tham gia vòng lặp là bao nhiêu và kết thúc khi nào?
Bài 10:
CẤU TRÚC LẶP
Lưu đồ
Bài 10:
CẤU TRÚC LẶP
i
S
1.5
Với a = 1
S := 1 ; i := 0;
i:=1
1>100 ?
S
S := 1+1/2
i := 2
2>100?
S:=1.5+1/3
1.5+1/3
5.1973
100
2
1
….
….
i := 100
S:=5.1973
100>100?
Nhập a
S1/a; i0
i >100
i i +1
Đưa ra S rồi
kết thúc
S S + 1/(a+i)
Đ
S
i:=101
101>100?
KT
Đ
S:=5.1973
101
Bài 10:
CẤU TRÚC LẶP
Quan sát sách giáo khoa trang 44, chương trình cài đặt thuật toán tính tổng
Bài 10:
CẤU TRÚC LẶP
Bài 10:
CẤU TRÚC LẶP
BÀI TẬP
Câu 1
Câu 2
Câu 3
HƯỚNG DẪN BÀI MỚI
Chuẩn bị tiết 2: Lặp với số lần chưa biết trước với câu lệnh While-do
- Cú pháp
- Ý nghĩa
- Sơ đồ
- Bài tập áp dụng
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Câu 1: Trong các hoạt động dưới đây, hoạt động nào là hoạt động lặp với số lần chưa biết trước?
a) X:= 10; for i:=1; to 4 do X:= X + 5;
b) X:= 10; for i:=1 to 4 do X = X + 5;
c) S:= 0; n:=0; for i:=1 to 4 do n:= n + 1; S:= S + n ;
Câu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
In ra các số 1
In ra các số từ 1 đến 10
In ra các số t? 1 d?n 9
Không phương án nào đúng.
Câu 3: Đoạn lệnh sau đây cho kết quả là gì?
S:=1; for i:=1 to 9 do
writeln(s);
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
* 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 Xuân Tứ
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)