Bài 10. Cấu trúc lặp
Chia sẻ bởi Phan Thị Long Đồng |
Ngày 10/05/2019 |
51
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:
Toán-Tin
GV: Nguyễn Tuấn Kha
GIỚI THIỆU
NỘI DUNG
Có Những hoạt động mà chúng ta lặp với số lần nhất định và biết trước, chẳng hạn :
-Đánh răng mỗi ngày hai lần.
-Mỗi ngày tắm 1 lần.
Chúng ta còn lặp lại những công việc với số lần không thể xác định trước, chẳng hạn
-Học cho đến khi thuộc bài.
-Nhặt từng cọng rau cho đến khi xong.
Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho máy tính thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phảI viết nhiều câu lệnh thực hiện 1 phép tính nhất định.
Bài 10
cấu trúc lặp
Ngày 28 tháng 9 năm 2013
Trang 42 sách giáo khoa
NỘI DUNG
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ấu trúc lặp mô tả thao tác lặp và được phân hai loại :
+ Lặp với số lần biết trước.
+ Lặp với số lần chưa biết trước .
1/ LẶP
Ngày 24 tháng 11 năm 2008
lặp với số lần biết TRƯớC
Xuất phát
Lần 1
Lần 2
Lần 100
Sau mỗi lần thực hiện cộng vào tổng S một giá trị bằng bao nhiêu?
1
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ???? ( với N=1, 2,3
,...,100)
a + N
bài toán 1
Với a là số nguyên và a>2. Tính và đưa kết quả ra màn hình tổng
+…
Việc tăng giá trị cho tổng S được lặp đi lặp lại 100 lần.
? Số lần lặp biết trước.
Phân tích bài toán 1
Nhận xét:
S0 = 1/a
S1 = S0 + 1/(a+1)
S2 = S1 + 1/(a+2)
.....
S100 = S99 + 1/(a+100)
Bắt đầu từ S1 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 =1,2,..,100 )
. . . . . . . . . . . . . . . . . . . .
+…
Bước 1. S1/a ; N0;
Bước 2. NN+1;
Bước 3. Nếu N>100 thì chuyển đến bước 5;
Bước 4. SS+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_1a
Bước 1. S1/a ; N101;
Bước 2. NN-1;
Bước 3. Nếu N<1 thì chuyển đến bước 5;
Bước 4. SS+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.
Giá trị N khi bắt đầu tham gia vòng lặp là 1 và 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.
Giá trị N khi bắt đầu tham gia vòng lặp là 100 và sau mỗi lần lặp N giảm đi 1 cho đến khi N<1 (n=0) thì kết thúc.
Thuật toán tong_1b
2/ Lặp với số lần biết trước và câu lệnh For - do
Với a là số nguyên và a>2. Tính và đưa kết quả ra màn hình tổng
Số lần lặp của cả hai thuật toán trên là biết trước và như nhau ( 100 lần)
FOR := TO DO < câu lệnh>;
b. Dạng 2 (dạng lặp lùi)
FOR := DOWNTO DO ;
a. Dạng 1 (dạng lặp tiến)
Câu lệnh Lặp For - do trong ngôn ngữ lập trình Pascal
Trong đó
? Biến đếm là biến đơn, thường có kiểu số 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 phải nhỏ hơn hoặc bằng giá trị cuối.
? Giá trị biến đếm được điều chỉnh tự động, vì vậy câu lệnh sau DO không được thay đổi giá trị biến đếm.
Câu lệnh viết sau từ khoá do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.
b. Dạng 2 (dạng lùi)
Câu lệnh viết sau từ khoá do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu.
a. Dạng 1 (dạng tiến)
Hoạt động của lệnh for - do
Program Tong-1a;
Var S:real; a,n:Integer;
Begin
Write (‘Nhap vao a>2’); Readln(a);
s:=1/a; (* Buoc 1 *)
For n:=1 to 100 do (* Buoc 2, buoc 3 *)
S:=S+1/(a+n); (* Buoc 4 *)
write(‘Tong S la’,S:5:1); (* Buoc 5 *)
Readln;
End.
Ch¬ng tr×nh sau cho ra kÕt qu¶ g×?
Program MAU;
Var a,n:Integer;
Begin
a:=0;
For n:= a+1 to a+3 do
a:=a+n;
write(‘Ket qua la’, a);
Readln;
End.
Ket qua la 6
Với a là số nguyên và a>2.
Tính và đưa kết quả ra màn hình tổng
Cách 1:
Cách 2:
S:=1/a;
For n:=2 to 100 do
Begin
s:=s+1/(a+n); n:=n+2;
End;
S:=1/a;
For n:=2 to 100 do
If n mod 2=0 then
s:=s+1/(a+n);
Đúng
áp dụng
HOẠT ĐỘNG NHÓM
Cc cu lƯnh Pascal sau c hỵp lƯ khng? v sao ?
NHÓM 1:
NHÓM 2:
NHÓM 3:
NHÓM 4:
ĐS:khng hỵp lƯ, v gi tr u lín hn gi tr cui
HẾT GIỜ
For i:=100 to 1 do
Write(‘A’);
For i:=1.5 to 10.5 do
Write(‘A’);
ĐS:khng hỵp lƯ, v gi tr u, gi tr cui l d liƯu kiĨu s thc
For i:=1 to 10 do
Write(‘A’);
ĐS:Hỵp lƯ, AAAAAAAAAA
For i:=10 Downto 1 do
Write(‘A’);
ĐS:Hỵp lƯ, AAAAAAAAAA
Bài tập về nhà
Viết chương trình nhập vào n nguyên dương . Tính và đưa ra màn hình tổng sau:
Xin chân thành cảm ơn
Chúc sức khỏe quý thầy
chúc các em học giỏi
Tin 11
kết thúc
GV: Nguyễn Tuấn Kha
GIỚI THIỆU
NỘI DUNG
Có Những hoạt động mà chúng ta lặp với số lần nhất định và biết trước, chẳng hạn :
-Đánh răng mỗi ngày hai lần.
-Mỗi ngày tắm 1 lần.
Chúng ta còn lặp lại những công việc với số lần không thể xác định trước, chẳng hạn
-Học cho đến khi thuộc bài.
-Nhặt từng cọng rau cho đến khi xong.
Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho máy tính thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phảI viết nhiều câu lệnh thực hiện 1 phép tính nhất định.
Bài 10
cấu trúc lặp
Ngày 28 tháng 9 năm 2013
Trang 42 sách giáo khoa
NỘI DUNG
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ấu trúc lặp mô tả thao tác lặp và được phân hai loại :
+ Lặp với số lần biết trước.
+ Lặp với số lần chưa biết trước .
1/ LẶP
Ngày 24 tháng 11 năm 2008
lặp với số lần biết TRƯớC
Xuất phát
Lần 1
Lần 2
Lần 100
Sau mỗi lần thực hiện cộng vào tổng S một giá trị bằng bao nhiêu?
1
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ???? ( với N=1, 2,3
,...,100)
a + N
bài toán 1
Với a là số nguyên và a>2. Tính và đưa kết quả ra màn hình tổng
+…
Việc tăng giá trị cho tổng S được lặp đi lặp lại 100 lần.
? Số lần lặp biết trước.
Phân tích bài toán 1
Nhận xét:
S0 = 1/a
S1 = S0 + 1/(a+1)
S2 = S1 + 1/(a+2)
.....
S100 = S99 + 1/(a+100)
Bắt đầu từ S1 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 =1,2,..,100 )
. . . . . . . . . . . . . . . . . . . .
+…
Bước 1. S1/a ; N0;
Bước 2. NN+1;
Bước 3. Nếu N>100 thì chuyển đến bước 5;
Bước 4. SS+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_1a
Bước 1. S1/a ; N101;
Bước 2. NN-1;
Bước 3. Nếu N<1 thì chuyển đến bước 5;
Bước 4. SS+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.
Giá trị N khi bắt đầu tham gia vòng lặp là 1 và 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.
Giá trị N khi bắt đầu tham gia vòng lặp là 100 và sau mỗi lần lặp N giảm đi 1 cho đến khi N<1 (n=0) thì kết thúc.
Thuật toán tong_1b
2/ Lặp với số lần biết trước và câu lệnh For - do
Với a là số nguyên và a>2. Tính và đưa kết quả ra màn hình tổng
Số lần lặp của cả hai thuật toán trên là biết trước và như nhau ( 100 lần)
FOR
b. Dạng 2 (dạng lặp lùi)
FOR
a. Dạng 1 (dạng lặp tiến)
Câu lệnh Lặp For - do trong ngôn ngữ lập trình Pascal
Trong đó
? Biến đếm là biến đơn, thường có kiểu số 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 phải nhỏ hơn hoặc bằng giá trị cuối.
? Giá trị biến đếm được điều chỉnh tự động, vì vậy câu lệnh sau DO không được thay đổi giá trị biến đếm.
Câu lệnh viết sau từ khoá do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.
b. Dạng 2 (dạng lùi)
Câu lệnh viết sau từ khoá do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu.
a. Dạng 1 (dạng tiến)
Hoạt động của lệnh for - do
Program Tong-1a;
Var S:real; a,n:Integer;
Begin
Write (‘Nhap vao a>2’); Readln(a);
s:=1/a; (* Buoc 1 *)
For n:=1 to 100 do (* Buoc 2, buoc 3 *)
S:=S+1/(a+n); (* Buoc 4 *)
write(‘Tong S la’,S:5:1); (* Buoc 5 *)
Readln;
End.
Ch¬ng tr×nh sau cho ra kÕt qu¶ g×?
Program MAU;
Var a,n:Integer;
Begin
a:=0;
For n:= a+1 to a+3 do
a:=a+n;
write(‘Ket qua la’, a);
Readln;
End.
Ket qua la 6
Với a là số nguyên và a>2.
Tính và đưa kết quả ra màn hình tổng
Cách 1:
Cách 2:
S:=1/a;
For n:=2 to 100 do
Begin
s:=s+1/(a+n); n:=n+2;
End;
S:=1/a;
For n:=2 to 100 do
If n mod 2=0 then
s:=s+1/(a+n);
Đúng
áp dụng
HOẠT ĐỘNG NHÓM
Cc cu lƯnh Pascal sau c hỵp lƯ khng? v sao ?
NHÓM 1:
NHÓM 2:
NHÓM 3:
NHÓM 4:
ĐS:khng hỵp lƯ, v gi tr u lín hn gi tr cui
HẾT GIỜ
For i:=100 to 1 do
Write(‘A’);
For i:=1.5 to 10.5 do
Write(‘A’);
ĐS:khng hỵp lƯ, v gi tr u, gi tr cui l d liƯu kiĨu s thc
For i:=1 to 10 do
Write(‘A’);
ĐS:Hỵp lƯ, AAAAAAAAAA
For i:=10 Downto 1 do
Write(‘A’);
ĐS:Hỵp lƯ, AAAAAAAAAA
Bài tập về nhà
Viết chương trình nhập vào n nguyên dương . Tính và đưa ra màn hình tổng sau:
Xin chân thành cảm ơn
Chúc sức khỏe quý thầy
chúc các em học giỏi
Tin 11
kết thúc
* 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ẻ: Phan Thị Long Đồng
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)