Bài 10: Tổ chức lặp
Chia sẻ bởi Mai Cong Huynh |
Ngày 10/05/2019 |
67
Chia sẻ tài liệu: Bài 10: Tổ chức lặp thuộc Tin học 11
Nội dung tài liệu:
1
2
Tæ chøc lÆp (TiÕt 1)
? 1./ Lặp :
? 3./ Lặp với số lần chưa biết trước và câu lệnh WHILE - DO:
? 2./ Lặp với số lần biết trước và câu lệnh FOR - DO :
3
Tổ chức lặp
1./ Lặp :
Hãy cho biết cách giải của 2 bài toán trên ?
4
Cách giải :
+ Xuất phát : Gán S =1/a.
+ Tiếp theo : Mỗi lần cộng vào tổng S một giá trị
1/(a+N) với N=1;2;3;4;.
+ Việc cộng thêm đó được lặp lại 1 số lần.
Số lần lặp việc thêm 1/(a+N) vào tổng S ở 2 BT trên có giống nhau hay không ? nếu không giống, em hãy chỉ ra điểm khác nhau ?
- ở bài toán 1 : số lần lặp là xác định trước được, (100 lần)
- ở bài toán 2 : số lần lặp không xác định trước được, chỉ biết việc lặp sẽ kết thúc khi điều kiện 1/(a+N)<0,0001 được thỏa mãn
5
2./ Lặp với số lần biết trước và câu lệnh FOR - DO:
Tong_2a
- Cách lặp trong thuật toán Tong_2a ? thuộc dạng tiến
a./ Thuật toán :
B5 : Đưa kết quả S ra
màn hình rồi kết thúc
-B4 : S:=S+1/(a+N) ? về B2;
B3: Nếu N>100 thì sang B5;
B2 : N:=N+1;
B1: S:=1/a ; N:=0;
Tong_2b
B5 : Đưa kết quả S ra
màn hình rồi kết thúc
-B4 : S:=S+1/(a+N) ? về B2;
B3: Nếu N<1 thì sang b5;
B2 : N:=N-1;
B1: S:=1/a ; N:=101;
- Các bước được lặp lại : B2, B3, B4
- Cách lặp trong thuật toán Tong_2b ? thuộc dạng lùi
6
b./ Lệnh FOR - DO :
- Dạng tiến :
For:= To Do ;
- Dạng lùi :
For:= DownTo Do ;
ý nghĩa
+Các từ FOR, TO, DOWNTO, DO ? từ khóa
+: là biến thuộc kiểu đếm được (kiểu nguyên, ký tự)
+, : là các biểu thức cùng kiểu với kiểu
của. Trong đó ?
+ : là 1 lệnh của NN Pascal
7
For:= To Do ;
For:= DownTo Do ;
* ý nghĩa :
+B1: Biếnđếm nhận gtrị đầu (hoặc gtrị cuối - với dạng lùi)
+B2: Nếu biếnđếm <= G.trị cuối (hoặc biếnđếm >= G.trị đầu)
thì Câu lệnh sau Do được thực hiện rồi ?B3.
Trái lại thì thoát khỏi lệnh For - Do
+B3: Sau mỗi lần lặp, gtrị của biếnđếm được tự động điều chỉnh:
- hàm lấy gtrị liền sau
ở dạng lùi biến đếm:=Pred(biến đếm)
+B4: Quay lại B2.
- hàm lấy gtrị liền trước
ở dạng tiến biến đếm:=Succ(biến đếm)
8
Đúng
Sai
Chương trình
9
Program Tong_2a;
End.
Readln
Writeln(` Tong S = `, S :8:4);
S:=S+1/(a+N);
For N:=1 To 100 Do
S:=1/a;
Readln(a);
Writeln(` Cho gia tri a :`);
Clrscr;
Begin
S:Real;
Var a,N:Integer;
Uses CRT;
Program Tong_2b;
End.
Readln
Writeln(` Tong S = `, S :8:4);
S:=S+1/(a+N);
For N:=100 DownTo 1 Do
S:=1/a;
Readln(a);
Writeln(` Cho gia tri a :`);
Clrscr;
Begin
S:Real;
Var a,N:Integer;
Uses CRT;
Chú ý
10
- Giá trị của biến đếm được điều chỉnh tự động, cho nên trong
sau Do không được chứa thành phần tác động đến
giá trị của biến đếm
Nếu ngay từ đầu giá trị đầu > giá trj cuối thì câu lệnh sau Do
Không được thực hiện 1 lần nào cả
Số lần lặp = ORD(G.trị cuối) - ORD(G.trị đầu) + 1
c./ Một số lưu ý khi sử dụng lệnh FOR - DO :
11
Kiểm tra 05 phút : Sử dụng câu lệnh For – Do,
viết chương trình tính tổng của 100 số tự nhiên đầu tiên
12
Xin chân thành cảm ơn !
Bài tập về nhà : 5,6 (Trang 51)
2
Tæ chøc lÆp (TiÕt 1)
? 1./ Lặp :
? 3./ Lặp với số lần chưa biết trước và câu lệnh WHILE - DO:
? 2./ Lặp với số lần biết trước và câu lệnh FOR - DO :
3
Tổ chức lặp
1./ Lặp :
Hãy cho biết cách giải của 2 bài toán trên ?
4
Cách giải :
+ Xuất phát : Gán S =1/a.
+ Tiếp theo : Mỗi lần cộng vào tổng S một giá trị
1/(a+N) với N=1;2;3;4;.
+ Việc cộng thêm đó được lặp lại 1 số lần.
Số lần lặp việc thêm 1/(a+N) vào tổng S ở 2 BT trên có giống nhau hay không ? nếu không giống, em hãy chỉ ra điểm khác nhau ?
- ở bài toán 1 : số lần lặp là xác định trước được, (100 lần)
- ở bài toán 2 : số lần lặp không xác định trước được, chỉ biết việc lặp sẽ kết thúc khi điều kiện 1/(a+N)<0,0001 được thỏa mãn
5
2./ Lặp với số lần biết trước và câu lệnh FOR - DO:
Tong_2a
- Cách lặp trong thuật toán Tong_2a ? thuộc dạng tiến
a./ Thuật toán :
B5 : Đưa kết quả S ra
màn hình rồi kết thúc
-B4 : S:=S+1/(a+N) ? về B2;
B3: Nếu N>100 thì sang B5;
B2 : N:=N+1;
B1: S:=1/a ; N:=0;
Tong_2b
B5 : Đưa kết quả S ra
màn hình rồi kết thúc
-B4 : S:=S+1/(a+N) ? về B2;
B3: Nếu N<1 thì sang b5;
B2 : N:=N-1;
B1: S:=1/a ; N:=101;
- Các bước được lặp lại : B2, B3, B4
- Cách lặp trong thuật toán Tong_2b ? thuộc dạng lùi
6
b./ Lệnh FOR - DO :
- Dạng tiến :
For
- Dạng lùi :
For
ý nghĩa
+Các từ FOR, TO, DOWNTO, DO ? từ khóa
+
+
của
+
7
For
For
* ý nghĩa :
+B1: Biếnđếm nhận gtrị đầu (hoặc gtrị cuối - với dạng lùi)
+B2: Nếu biếnđếm <= G.trị cuối (hoặc biếnđếm >= G.trị đầu)
thì Câu lệnh sau Do được thực hiện rồi ?B3.
Trái lại thì thoát khỏi lệnh For - Do
+B3: Sau mỗi lần lặp, gtrị của biếnđếm được tự động điều chỉnh:
- hàm lấy gtrị liền sau
ở dạng lùi biến đếm:=Pred(biến đếm)
+B4: Quay lại B2.
- hàm lấy gtrị liền trước
ở dạng tiến biến đếm:=Succ(biến đếm)
8
Đúng
Sai
Chương trình
9
Program Tong_2a;
End.
Readln
Writeln(` Tong S = `, S :8:4);
S:=S+1/(a+N);
For N:=1 To 100 Do
S:=1/a;
Readln(a);
Writeln(` Cho gia tri a :`);
Clrscr;
Begin
S:Real;
Var a,N:Integer;
Uses CRT;
Program Tong_2b;
End.
Readln
Writeln(` Tong S = `, S :8:4);
S:=S+1/(a+N);
For N:=100 DownTo 1 Do
S:=1/a;
Readln(a);
Writeln(` Cho gia tri a :`);
Clrscr;
Begin
S:Real;
Var a,N:Integer;
Uses CRT;
Chú ý
10
- Giá trị của biến đếm được điều chỉnh tự động, cho nên trong
giá trị của biến đếm
Nếu ngay từ đầu giá trị đầu > giá trj cuối thì câu lệnh sau Do
Không được thực hiện 1 lần nào cả
Số lần lặp = ORD(G.trị cuối) - ORD(G.trị đầu) + 1
c./ Một số lưu ý khi sử dụng lệnh FOR - DO :
11
Kiểm tra 05 phút : Sử dụng câu lệnh For – Do,
viết chương trình tính tổng của 100 số tự nhiên đầu tiên
12
Xin chân thành cảm ơn !
Bài tập về nhà : 5,6 (Trang 51)
* 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ẻ: Mai Cong Huynh
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)