Tìm kiếm Bài giảng
Bài 10. Cấu trúc lặp

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Lý Thị Tuyết
Ngày gửi: 10h:53' 12-01-2022
Dung lượng: 10.3 MB
Số lượt tải: 161
Nguồn:
Người gửi: Lý Thị Tuyết
Ngày gửi: 10h:53' 12-01-2022
Dung lượng: 10.3 MB
Số lượt tải: 161
Số lượt thích:
0 người
M?I NGY D?N TRU?NG L M?I NGY VUI!
Bài 10
CẤU TRÚC LẶP
1. LẶP
1. LẶP
Quan sát 2 hình sau
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 nhiêu lần đổ thì đầy?
- Hình 2: Người thứ 2 dùng một chiếc xô dung tích 1 lít đổ đầy nước vào một chiếc thùng không rõ dung tích. Hỏi bao nhiêu lần đổ thì đầy?
Sau
30 lần
đổ
Chừng
Nào đầy
thùng
Quá trình như vậy được gọi là lặp
cho đến khi
bài toán 1:
bài toán 2:
Tính tổng S, với a là số nguyên và a>2
Xuất phát
Lần 1
Lần 2
+…
Lần i
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?
1
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ???? ( với i=1; 2; 3 ; ...;)
a + i
Cùng tìm thuật toán
+…
Bài toán 1:
Bài toán 2:
Cho đến khi
? Số lần lặp biết trưuớc.
Việc tăng giá trị cho tổng S đuược lặp đi lặp lại cho đến khi
Việc tăng giá trị cho tổng S đưuợc lặp đi lặp lại 100 lần.
tìm sự khác biệt
? Số lần lặp chuưa biết truước.
1/ LẶP
Lặp là điều khiển thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi có một điều kiện nào đó còn đúng.
Các 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 chưa biết trước .
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 hỏi: Trong các hoạt động dưuới đây, hoạt động nào là hoạt động lặp với số lần biết trưuớc?
Bài toán:
- Dữ liệu ra (Output) : Tổng S
- Dữ liệu vào (Input) : a (a nguyên, a>2)
Với a >2, a là số nguyên. Lập chương trình tính tổng sau:
2/ Lặp với số lần biết trước và câu lệnh For - do
Phân tích bài toán (ý tưởng)
Nhận xét:
Ban đầu : S := 1/a
Cộng lần 1: S1: = S + 1/(a+1)
Cộng lần 2: S2: = S1 + 1/(a+2)
Cộng lần 3: S3: = S2 + 1/(a+3)
.....
Cộng lần 100: S100: = S99 + 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+N)
với N chạy từ 1 ? 100
. . . . . . . . . . . . . . . . . . . .
Từ ý tưởng trên em hãy viết thuật toán cho bài toán
B1: S?1/a; N?0;
B3: Nếu N >100 thì chuyển đến bước 5;
B4: S? S + 1/(a+N) rồi quay lại bước 2;
B2: N ? N +1;
Xây dựng thuật toán 1a
Nhận xét:
Liệt kê
B5: Đưa S ra màn hình, rồi kết thúc;
Thuật toán trên, giá trị N bắt đầu tham gia vòng lặp là 1 sau mỗi lần lặp N tăng lên 1 cho đến khi N > 100 (N= 101) thì kết thúc lặp (thực hiện 100 lần).
Dựa vào thuật toán trên, em hãy cho biết giá trị N bắt đầu
tham gia vòng lặp là bao nhiêu và kết thúc khi nào?
B1: S?1/a; N?101;
B3: Nếu N < 1 thì đưa ra giá trị S rồi Kết thúc;
B4: S? S + 1/(a+N) rồi quay lại bước 2;
B2: N ? N -1;
Xây dựng thuật toán 1b
Liệt kê
B5: Đưa S ra màn hình, rồi kết thúc;
for, to, downto, do: Là từ khóa trong Pascal;
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
Dạng 2 (dạng lùi)
FOR < Biến đếm > := < Giá trị cuối > DOWNTO < Giá trị đầu > DO
Dạng 1 (dạng tiến)
2/ Lặp với số lần biết trước và câu lệnh For - do
FOR
Hoạt động:
Dạng 2 (dạng lùi)
FOR < Biến đếm > := < Giá trị cuối > DOWNTO < Giá trị đầu > DO
Dạng 1 (dạng tiến)
2/ Lặp với số lần biết trước và câu lệnh For - do
Hoạt động:
ví dụ 1: Viết chương trình in ra mn hỡnh 20 cõu: chao cac ban.
Program vidu1;
Uses crt;
Var i: integer;
Begin
clrscr;
For i:= 1 to 20 do
writeln(‘chao cac ban LOP 11A4’);
Readln;
End.
In ra 9 s? 1
In ra cc s? t? 1 d?n 10
In ra cc s? t? 1 d?n 9
Khơng phuong n no dng
Cu l?nh sau dy cho k?t 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ụ 2: Cài đặt thuật toán Tong_1a
CỦNG CỐ
Dạng lặp tiến:
Dạng lặp lùi:
Tăng 1 đơn vị
Giảm 1 đơn vị
For
For
1. Khái niệm lặp
2.Lặp với số lần biết trước và câu lệnh for …do
Cú pháp :
Cú pháp :
 









Các ý kiến mới nhất