Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
1,44 MB
Nội dung
GI I THI U NI 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. n nh lp NI DUNG Cng c 1-Lặp 1-Lặp 2.Lặp với số lần xác định 2.Lặp với số lần xác định 3-Chơng trình 3-Chơng trình Bµi 10 Ngµy 28 th¸ng 9 n¨m 2013 Trang 42 s¸ch gi¸o khoa NI DUNG Lp l iu khin thc hin cụng vic lp i lp li khi cha s ln lp hoc khi cú mt iu kin no ú cũn ỳng. Cu trỳc lp mụ t thao tỏc lp v c phõn hai loi : + Lp vi s ln bit trc. + Lp vi s ln cha bit trc . 1/ LP n nh lp NI DUNG Cng c 1-Lặp 1-Lặp 2.Lặp với số lần xác định 2.Lặp với số lần xác định 3-Chơng trình 3-Chơng trình Ngµy 24 th¸ng 11 n¨m 2008 Xuất phát a S 1 = 1 1 + + a Lần 1 2 1 + + a Lần 2 Lần 100 100 1 + + a 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 100 1 2 1 1 11 + ++ + + + += aaaa S + 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: S 0 = 1/a S 1 = S 0 + 1/(a+1) S 2 = S 1 + 1/(a+2) S 100 = S 99 + 1/(a+100) Bắt đầu từ S 1 việc tính S đợc lặp đi lặp lại 100 lần theo quy luật S sau = S trớc + 1/(a+N) (với N =1,2, ,100 ) 1 1 + + a . . . . . . . . . . . . . . . . . . . . a S 1 = 100 1 + + a + 2 1 + + a Bc 1. S1/a ; N0; Bc 2. NN+1; Bc 3. Nu N>100 thỡ chuyn n bc 5; Bc 4. SS+1/(a+N) ri quay li bc 2; Bc 5. a S ra mn hỡnh ri kt thỳc. Thuật toán Tong_1a Bc 1. S1/a ; N101; Bc 2. NN-1; Bc 3. Nu N<1 thỡ chuyn n bc 5; Bc 4. SS+1/(a+N) ri quay li bc 2; Bc 5. a S ra mn hỡnh ri kt thỳc. Giỏ tr N khi bt u tham gia vũng lp l 1 v sau mi ln lp N tng lờn 1 cho n khi N>100(N=101) thỡ kt thỳc. Giỏ tr N khi bt u tham gia vũng lp l 100 v sau mi ln lp N gim i 1 cho n khi N<1 (N=0) thỡ kt 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 100 1 2 1 1 11 + ++ + + + += aaaa S 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 <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO < câu lệnh>; b. Dạng 2 (dạng lặp lùi) FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh >; 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. [...]... n:= a +1 to a+3 do a:=a+n; write(Ket qua la, a); Readln; End Ket qua la 6 áp dụng Với a là số nguyên và a>2 Tính và đưa kết quả ra màn hình tổng 1 1 1 1 S= + + + + a a +2 a +4 a +10 0 Cách 1: S: =1/ a; For n:=2 to 10 0 do Begin s:=s +1/ (a+n); n:=n+2; End; Cách 2: S: =1/ a; For n:=2 to 10 0 do If n mod 2=0 then s:=s +1/ (a+n); Đúng Các câu lệnh Pascal sau có hợp lệ không? vì sao ? NHOM 1: For i: =10 0 to 1 do Write(A);... NHOM 2: For i: =1. 5 to 10 .5 do Write(A); ẹS:không hợp lệ, vì giá trị đầu, giá trị cuối là dữ liệu kiểu số thực NHOM 3: For i: =1 to 10 do Write(A); ẹS:Hợp lệ, AAAAAAAAAA NHOM 4: For i: =10 Downto 1 do Write(A); ẹS:Hợp lệ, AAAAAAAAAA 55 60 5 50 10 15 45 40 20 35 30 25 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: 1 1 1 1 S= + + + + 1 1.2 1. 2.3 1. 2.3 n Xin chân . tổng 10 0 1 2 1 1 11 + ++ + + + += aaaa S + Việc tăng giá trị cho tổng S đợc lặp đi lặp lại 10 0 lần. Số lần lặp biết trớc. Phân tích bài toán 1 Nhận xét: S 0 = 1/ a S 1 = S 0 + 1/ (a +1) S 2 . . 1/ LP n nh lp NI DUNG Cng c 1 -Lặp 1 -Lặp 2 .Lặp với số lần xác định 2 .Lặp với số lần xác định 3-Chơng trình 3-Chơng trình Ngµy 24 th¸ng 11 n¨m 2008 Xuất phát a S 1 = 1 1 + + a Lần 1 2 1 + + a Lần. 1/ (a +1) S 2 = S 1 + 1/ (a+2) S 10 0 = S 99 + 1/ (a +10 0) Bắt đầu từ S 1 việc tính S đợc lặp đi lặp lại 10 0 lần theo quy luật S sau = S trớc + 1/ (a+N) (với N =1, 2, ,10 0 ) 1 1 + + a . . . .