Bài giảng Tin học 11 - Tuần 16, Bài 10: Cấu trúc lặp

ppt 17 trang tamdan 29/01/2026 1730
Bạn đang xem tài liệu "Bài giảng Tin học 11 - Tuần 16, Bài 10: Cấu trúc lặp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pptbai_giang_tin_hoc_11_tuan_16_bai_10_cau_truc_lap.ppt

Nội dung tài liệu: Bài giảng Tin học 11 - Tuần 16, Bài 10: Cấu trúc lặp

  1. Bài 10
  2. Bài toán: Tính tổng S, với số nguyên a cho trước (a>2) Bài toán 1: Bài toán 2: Cho đến khi
  3. CÙNG TÌM THUẬT TOÁN Xuất phát Lần 1 Lần 2 Lần N + 1 Sau Mçi mỗi lÇn lần thùc cộng hiÖntổng Sgi¸ tăng trÞ lên tæng  S t¨ng ( với thªm i =1; bao 2; 3 nhiªu?; ...;N) a + i
  4. TÌM SỰ KHÁC BIỆT Bµi to¸n 1: Bµi to¸n 2: Cho ®Õn khi • ViÖc t¨ng gi¸ trÞ cho • ViÖc t¨ng gi¸ trÞ cho tæng S ®­ưîc lÆp ®i tæng S ®ư­îc lÆp ®i lÆp l¹i 100 lÇn. lÆp l¹i cho ®Õn khi  Sè lÇn lÆp biÕt trư­íc.  Sè lÇn lÆp ch­ưa biÕt tr­ưíc.
  5. I. Lặp với số lần biết trước II. Lặp với số lần chưa biết trước
  6. I. Lặp với số lần biết trước 1. Bài toán Lập trình tính tổng: Input: Nhập N Output : Tổng S Hãy xác định input và output của bài toán
  7. Ph©n tÝch bµi to¸n víi N = 100 . . . . . . . . . . . . . . . . . . . . S1 = 1 Nhận xét S2 = S1 + 1/2 Bắt đầu từ S2 việc tính S được lặp S3 = S2 + 1/3 đi lặp lại 99 lần theo qui luật S4 = S3 + 1/4 Ssau = Strước + 1/i ..... Với i chạy từ 2 100 S100 = S99 + 1/100
  8. Xây dựng thuật toán NhËp N B1: NhậpN; B2: S:=1; i:=2; S:= 1 ; i:= 2 B3: Nếu i > N thì đưa ra giá trị S => Kết thúc ; § i > N ? §­ưa ra S råi kÕt thóc S S:= S + 1/i B4 : S:= S + 1/i; i:= i+1 B5: i := i +1 quay lại B3.
  9. 2. Lặp với số lần biết trước a. Dạng 1 (dạng tiến) FOR := TO DO ; Ví dụ : S:=1; FOR i:=2 TO 100 DO S:=S+1/i; b. Dạng 2 (dạng lùi) FOR := DOWNTO DO ; VÝ dô: S:=1; FOR i:=100 DOWNTO 2 DO S:=S+1/i;
  10. Trong đó  Biến đếm là kiểu biến nguyên hoặc kí tự. For i:=1 to 10 do write(i); For i:=‘a’ to ‘z’ do write(i);  Giá trị đầu và giá trị cuối cùng kiểu với biến đếm, giá trị đầu nhỏ hơn giá trị cuối For i:= 100 to 200 do write(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 biến đếm.
  11. Lập trình tính tổng sau: Program Tinh_tong; Uses crt; Var i,N : Integer; S : real; BEGIN S:=1; Write(‘ Nhap vao gia tri cua N :’);readln(N); FOR i:=2 to N do S := S+1/i; Writeln(‘ Tong S =’,S:8:3); Readln; END.
  12. M« pháng thuËt to¸n VớiNhËp N =N 5 i L­ầ 2 3 4 5 6 n S 1 1.5 1.83 2.08 2.28 S := 1 ; i := 2; § 2>53>54>55>56>5i >N ? TổngIn Tæng S=2.28 S KT SS SSSSS := := := :=:= 1.83+1/4 2.08+1/5; 1.5+1/3 S1 +1/2+1/ i ;; ;; i := ii :=:=5 +1; 234i +1;+1;
  13. II. Lặp với số lần chưa biết trước 1. Bài toán Lập trình tính tổng: Cho đến khi thì dừng lại Input: Nhập a Output : Tổng S
  14. THUẬT TOÁN B­1: Nhập a. nhập a B­ 2: S:=1/a; N:=1; S:=1/a ; N:=1 Khởi tạo S và N B­3: S Nếu 1/(a+N) < 0.0001 1/(a+N) >= 0.0001 Đ ưa ra => B­5 => Kết thúc B­4: § S:=S+1/(a+N); S:= S+1/(a+N); N:=N+1; => quay lại 3 N:= N+1; B­5: Đưa ra S => Kết thúc.  Vòng lặp chỉ dừng khi 1/(a+N)<0.0001
  15. II. Lặp với số lần chưa biết trước WHILE DO ; Trong đó Điều kiện : Là biểu thức quan hệ hoặc Sai biêu thức logic. Điều kiện Câu lệnh: Là câu lệnh trong Pascal. Đúng Câu lệnh Khi nào điều kiện còn đúng thì câu lệnh còn thực hiện
  16. 3. Mét sè vÝ dô Bài toán Tính tổng S, với a là số nguyên a>2 Cho ®Õn khi th× dõng l¹i. Nhận xét: WHILE 1/(a+N) >= 0.0001 DO Khi nào 1/(a+N)>=0.0001 thì còn thực hiện: Begin + Tăng giá trị của S thêm 1/(a+N). S:=S+1/(a+N); + Tăng N thêm 1 đơn vị. N:=N+1; END;
  17. Chương Trình Program Bai_toan; Uses Crt; Var a,N:Integer; S:Real; BEGIN Clrscr; Write(‘Nhap gia tri cua a= ‘);Readln(a); S:=1/a;N:=1; WHILE 1/(a+N)>=0.0001 DO BEGIN S:=S+1/(a+N); N:=N+1; END; Writeln(‘Gia tri cua tong S = ‘,S:8:3); Readln; END.