Bài 10. Cấu trúc lặp
Chia sẻ bởi Đỗ Ngọc Sinh |
Ngày 10/05/2019 |
50
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:
Thursday, March 31, 2011
BÀI GIẢNG ĐIỆN TỬ
MÔN: TIN HỌC 11
BÀI 10: CẤU TRÚC LẶP
GV: ĐỖ NGỌC SINH
TRƯỜNG THPT THẠNH LỘC - GIỒNG RIỀNG - KIÊN GIANG
Thursday, March 31, 2011
Kiểm tra bài cũ
IF<Đk> THEN;
IF <Đk> ELSE;
IF THEN <Đk>;
IF <Đk> THEN;
Câu hỏi 1: Trong các cú pháp sau cú pháp nào là cú phám IF …. THEN (Dạng thiếu)?
Thursday, March 31, 2011
If <Đk> Then Else
If <Đk> Then; Else ;
If <Đk> Then Else ;
If <Đk> Then Else ;
Kiểm tra bài cũ
Câu hỏi 2: Trong các cú pháp sau cú pháp nào là cú phám If …. Then … Else ?
If <Đk> Then Else ;
Thursday, March 31, 2011
Câu lệnh ghép là:
Begin
Thực hiện theo điều kiện
Ghép nhiều câu lệnh
Begin ….End.
Kiểm tra bài cũ
Thursday, March 31, 2011
?
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? (Ví dụ :lớp 11A1)
(Nhập họ tên, điểm, tính điểm trung bình của học sinh)
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.Lặp
2.Lặp For..do
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
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.
Vậy lặp là gì ?
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.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 đó.
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
VÍ DỤ 1,2: Một hồ nước,một xô đựng nước ,một ca
múc nước.
Hồ nước
Biến đếm
Tăng lên 1 đơn vị
Thỏa mãn ĐK đầy xô là dừng
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
Tính và đưa kết quả ra màn hình tổng
S=1/a +1/(a+1) +1/(a+2)+…+1/(a+50)
S=1/a +1/(a+1) +1/(a+2)+…+1/(a+n)+..
cho đến khi 1/(a+n)<=0,005.
Ví dụ :3
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
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
Em hãy lấy một số ví dụ về lặp trong thực tế
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
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)
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
2.Lặp với số lần biết trước và câu lệnh For …do
Có hai thuật toán Tong_1a và Tong_1b để giải quyết bài toán 1 ta thực hiện như sau:
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 > 50 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 51;
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.
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
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 > 50 thì chuyển tới B 5;
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.
Thuật toán Tong_1b
Bước 1. S 1/a; N 51;
Bước 2. N N - 1;
Bước 3. Nếu N < 1 thì chuyển tới B5;
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
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
Mô tả cấu trúc lặp với số lần biết trước và câu lệnh For…do
Dạng lặp tiến:
For:= to do ;
Dạng lặp lùi:
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;
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
3.Một số ví dụ .
Ví dụ 1: Tính tổng S
Hãy xác định bài toán
Input:
Output:
- Dữ liệu vào (Input) : Nhập N
- Dữ liệu ra (Output) : Tổng S
S=1 + 1/2 + 1/3 +…+1/100
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
3.Một số ví dụ .
XÂY DỰNG THUẬT TOÁN
Đ
S
B1: Nhập N;
B2: S:=1; i:=2;
B3: Nếu i > N thì đưa ra giá trị S => Kết thúc;
B4 : S:= S + 1/i;
B5: i := i +1 quay lại B3.
i:= i+1
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
3.Một số ví dụ .
S := 1 ; i := 2;
i >N
KT
S := S +1/ i ;
i := i +1;
2.08
1.83
1.5
1
4
3
2
Lượt
i
S
2.28
5
Nhập N
S := 1 ; i := 2;
2>5 ?
S
S
S := 1 +1/2 ;
i := 2 +1;
3>5 ?
S := 1.5+1/3 ;
i := 3 +1;
4>5 ?
S := 1.83+1/4 ;
i := 4 +1;
5>5 ?
S := 2.08+1/5;
i := 5 +1;
6
S
S
S
6>5 ?
In Tổng S
Tổng S=2.28
2.28
Đ
Đ
Mô phỏng thuật toán
S1 = 1
S2 = S1 + 1/2
S3 = S2 + 1/3
S4 = S3 + 1/4
S100 = S99 + 1/100
Vo?i N = 5
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
3.Một số ví dụ .
Var i,N : Integer; S : real;
BEGIN
Readln;
END.
S:=1;
FOR i:=2 to N do S := S+1/i;
Writeln(` Tong S =`,S:8:3);
Write(` Nhap vao gia tri cua N :`);readln(N);
Program Tinh_tong;
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
Ví dụ 2: viết chương trình in ra màn hình các số:
1 2 3 4 5 6 7 8 9 10
{Đây là chương trình in ra các số từ 1 đến 10}
Program Vd2;
Var i:Integer;
Begin
Writeln(‘ Biến điều khiển tăng ‘);
For i:=1 to 10 do
Writeln(i);
Writeln(‘ Bấm phím để kết thúc’);
Readln;
End.
3.Một số ví dụ.
Thursday, March 31, 2011
Đoạn chương trình sau cho kết quả S bằng bao nhiêu?
S:= 0;
For i:= 7 Downto 1 Do
S:= S + i;
TRẮC NGHIỆM
TRẮC NGHIỆM
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
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:= to
do ;
For:= dows
to do ;
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
Chuẩn bị bài tập ở nhà từ bài tập bài tập 5 SGK trang 51
Cú pháp :
Cú pháp :
Thursday, March 31, 2011
BÀI HỌC KẾT THÚC
CHÚC SỨC KHỎE QUÍ THẦY CÔ VÀ CÁC EM HỌC SINH
BÀI GIẢNG ĐIỆN TỬ
MÔN: TIN HỌC 11
BÀI 10: CẤU TRÚC LẶP
GV: ĐỖ NGỌC SINH
TRƯỜNG THPT THẠNH LỘC - GIỒNG RIỀNG - KIÊN GIANG
Thursday, March 31, 2011
Kiểm tra bài cũ
IF<Đk> THEN
IF <Đk> ELSE
IF
IF <Đk> THEN
Câu hỏi 1: Trong các cú pháp sau cú pháp nào là cú phám IF …. THEN (Dạng thiếu)?
Thursday, March 31, 2011
If <Đk> Then
If <Đk> Then
If <Đk> Then
If <Đk> Then
Kiểm tra bài cũ
Câu hỏi 2: Trong các cú pháp sau cú pháp nào là cú phám If …. Then … Else ?
If <Đk> Then
Thursday, March 31, 2011
Câu lệnh ghép là:
Begin
Thực hiện theo điều kiện
Ghép nhiều câu lệnh
Begin ….End.
Kiểm tra bài cũ
Thursday, March 31, 2011
?
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? (Ví dụ :lớp 11A1)
(Nhập họ tên, điểm, tính điểm trung bình của học sinh)
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.Lặp
2.Lặp For..do
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
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.
Vậy lặp là gì ?
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.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 đó.
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
VÍ DỤ 1,2: Một hồ nước,một xô đựng nước ,một ca
múc nước.
Hồ nước
Biến đếm
Tăng lên 1 đơn vị
Thỏa mãn ĐK đầy xô là dừng
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
Tính và đưa kết quả ra màn hình tổng
S=1/a +1/(a+1) +1/(a+2)+…+1/(a+50)
S=1/a +1/(a+1) +1/(a+2)+…+1/(a+n)+..
cho đến khi 1/(a+n)<=0,005.
Ví dụ :3
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
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
Em hãy lấy một số ví dụ về lặp trong thực tế
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
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)
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
2.Lặp với số lần biết trước và câu lệnh For …do
Có hai thuật toán Tong_1a và Tong_1b để giải quyết bài toán 1 ta thực hiện như sau:
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 > 50 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 51;
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.
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
1.LẶP
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 > 50 thì chuyển tới B 5;
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.
Thuật toán Tong_1b
Bước 1. S 1/a; N 51;
Bước 2. N N - 1;
Bước 3. Nếu N < 1 thì chuyển tới B5;
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
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
Mô tả cấu trúc lặp với số lần biết trước và câu lệnh For…do
Dạng lặp tiến:
For
Dạng lặp lùi:
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;
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
3.Một số ví dụ .
Ví dụ 1: Tính tổng S
Hãy xác định bài toán
Input:
Output:
- Dữ liệu vào (Input) : Nhập N
- Dữ liệu ra (Output) : Tổng S
S=1 + 1/2 + 1/3 +…+1/100
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
3.Một số ví dụ .
XÂY DỰNG THUẬT TOÁN
Đ
S
B1: Nhập N;
B2: S:=1; i:=2;
B3: Nếu i > N thì đưa ra giá trị S => Kết thúc;
B4 : S:= S + 1/i;
B5: i := i +1 quay lại B3.
i:= i+1
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
3.Một số ví dụ .
S := 1 ; i := 2;
i >N
KT
S := S +1/ i ;
i := i +1;
2.08
1.83
1.5
1
4
3
2
Lượt
i
S
2.28
5
Nhập N
S := 1 ; i := 2;
2>5 ?
S
S
S := 1 +1/2 ;
i := 2 +1;
3>5 ?
S := 1.5+1/3 ;
i := 3 +1;
4>5 ?
S := 1.83+1/4 ;
i := 4 +1;
5>5 ?
S := 2.08+1/5;
i := 5 +1;
6
S
S
S
6>5 ?
In Tổng S
Tổng S=2.28
2.28
Đ
Đ
Mô phỏng thuật toán
S1 = 1
S2 = S1 + 1/2
S3 = S2 + 1/3
S4 = S3 + 1/4
S100 = S99 + 1/100
Vo?i N = 5
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
3.Một số ví dụ .
Var i,N : Integer; S : real;
BEGIN
Readln;
END.
S:=1;
FOR i:=2 to N do S := S+1/i;
Writeln(` Tong S =`,S:8:3);
Write(` Nhap vao gia tri cua N :`);readln(N);
Program Tinh_tong;
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
Ví dụ 2: viết chương trình in ra màn hình các số:
1 2 3 4 5 6 7 8 9 10
{Đây là chương trình in ra các số từ 1 đến 10}
Program Vd2;
Var i:Integer;
Begin
Writeln(‘ Biến điều khiển tăng ‘);
For i:=1 to 10 do
Writeln(i);
Writeln(‘ Bấm phím
Readln;
End.
3.Một số ví dụ.
Thursday, March 31, 2011
Đoạn chương trình sau cho kết quả S bằng bao nhiêu?
S:= 0;
For i:= 7 Downto 1 Do
S:= S + i;
TRẮC NGHIỆM
TRẮC NGHIỆM
Thursday, March 31, 2011
Bài10: Cấu trúc lặp
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
to
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
Chuẩn bị bài tập ở nhà từ bài tập bài tập 5 SGK trang 51
Cú pháp :
Cú pháp :
Thursday, March 31, 2011
BÀI HỌC KẾT THÚC
CHÚC SỨC KHỎE QUÍ THẦY CÔ VÀ CÁC EM HỌC SINH
* 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ẻ: Đỗ Ngọc Sinh
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)