Bài 10: Cấu Trúc Lặp

22 720 0
Bài 10: Cấu Trúc Lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bµi 10 Gi¸o ¸n ®iÖn tö tin häc líp 11 (2 tiÕt) Bµi to¸n 1: Bµi to¸n 2: 100 1 2 1 1 11 + ++ + + + += aaaa S 1 2 1 1 11 + + ++ + + + += Naaaa S C¸c bµi to¸n ®Æt vÊn ®Ò : TÝnh tæng S, víi a lµ sè nguyªn vµ a>2 cho ®Õn khi 0001.0 1 < + Na Xuất phát a S 1 = 1 1 + + a Lần 1 2 1 + + a Lần 2 + Lần N Na + + 1 Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu? 1 Sau mỗi lần thực hiện giá trị tổng S tăng thêm ( với i =1; 2; 3 ; ;N) a + i Cùng tìm thuật toán Bài toán 1: Bài toán 2: 100 1 2 1 1 11 + ++ + + + += aaaa S 1 2 1 1 11 + + ++ + + + += Naaaa S Cho đến khi 00010 1 .< + Na Số lần lặp biết tr ớc. Việc tăng giá trị cho tổng S đ ợc lặp đi lặp lại cho đến khi 0.0001 Na 1 < + Việc tăng giá trị cho tổng S đ ợc lặp đi lặp lại 100 lần. tìm sự khác biệt Số lần lặp ch a biết tr ớc. CÊu tróc lÆp 1. Bài toán đặt vấn đề - Dữ liệu ra (Output) : Tổng S Lập ch ơng trình tính tổng sau: - Dữ liệu vào (Input) : Nhập N Hãy xác định INPUT và OUTPUT của bài toán trên! I. Lặp với số lần lặp biết tr ớc N 1 4 1 3 1 2 1 1S +++++= Phân tích bài toán với N = 100 Nhận xét: S1 = 1 S2 = S1 + 1/2 S3 = S2 + 1/3 S4 = S3 + 1/4 S100 = S99 + 1/100 1=S Bắt đầu từ S2 việc tính S đ ợc lặp đi lặp lại 99 lần theo quy luật S sau = S tr ớc + 1/i với i chạy từ 2 100 2 1 + 3 1 + 4 1 + . . .+ + 1 100 . . . . . . . . . . . . . . . . . . . . § S NhËp N S:= 1 ; i:= 2 i > N ? S:= S + 1/i § a ra S råi kÕt thóc 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. X©y dùng thuËt to¸n i:= i+1 FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO < câu lệnh>; Ví dụ: S:=1; FOR i:=2 TO 100 DO S:=S+1/i; b. Dạng 2 (dạng lùi) FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh >; Ví dụ: S:=1; FOR i:=100 DOWNTO 2 DO S:=S+1/i; a. Dạng 1 (dạng tiến) 2. Lặp với số lần lặp biết tr ớc 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 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 giá trị biến đếm. Trong đó Biến đếm là biến kiểu số nguyên hoặc kí tự. For i:=1 to 10 do write(i); For i:=a to z do write(i); [...]... 1 1 S = + + + + a a +1 a + 2 a + 100 ? Hãy xác định giá trị khởi đầu của S, quy luật thay đổi giá trị của S và số lần lặp Viết chơng trình để giải bài toán trên - S:=1/a; - S:= S + 1/(a+i); - i chạy từ 1 đến 100 => Số lần lặp là 100 lần II Lặp với số lần lặp không biết trớc 1 Bài toán Tính giá trị tổng S, với a là số nguyên và a>2 1 1 1 1 S= + + + + + a a +1 a + 2 a+N Cho đến khi 1 < 0.0001 thì... rẽ nhánh IF THEN ; + Dạng khuyết IF THEN + Dạng đầy đủ ESLE ; FOR TO DO FOR Downto DO While Do ; Câu lệnh lặp + Lặp với số lần lặp biết trớc + Lặp với số lần lặp không biết trớc ... INPUT, : Tổng và nêu thuật toán giải bài toán trên? thuật toán Bớc 1: Nhập a Bớc 2: S:=1/a; N:=1; {Khởi tạo S và N} Bớc 3: Nếu 1/(a+N) < 0.0001 => Bớc 5 Bớc 4: S:=S+1/(a+N); N:=N+1; => quay lại bớc 3 Nhập a S:=1/a ; N:=1 S 1/(a+N) >= 0.0001 Đ S:= S+1/(a+N); N:= N+1; Bớc 5: In S => Kết thúc Vòng lặp chỉ dừng khi 1/(a+N) Kết thúc 2 Lặp với số lần lặp không biết trớc WHILE ... các b ớc viết ch ơng trình B1: Nhập M,N B2 : While MN DO Begin IF M>N then M:=M-N else N:=N-M; end; B3: In ƯCLN(M,N) Tham khảo: Dạng khác của câu lệnh lặp với số lần lặp không biết trớc REPEAT UNTIL ; Câu lệnh Sai Điều kiện Đúng Bài toán đặt vấn đề: 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; REPEAT {Bat...Lập chơng trình tính tổng sau: 1 1 1 1 S = 1+ + + + + 2 3 4 N Program Tinh_tong; Uses crt; Var i,N : Integer; S : real; áp dụng câu Hãy BEGIN S:=1; lệnh lặp dạng tiến để viết ch ơng trình giải bài toán đặt vấn đề 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); END Readln; Mô phỏng thuật toán Với N = 5 Nhập N i Lợt 2 3 4 5... lệnh>; Trong đó: Điều kiện: Là biểu thức quan hệ hoặc lôgic Câu lệnh: Là một câu lệnh của Pascal Điều kiện Đúng Câu lệnh Chừng nào điều kiện còn đúng thì câu lệnh còn đợc thực hiện Sa i 3 Một số ví dụ a Bài toán đặt vấn đề: Tính giá trị tổng S, với a là số nguyên và a>2 1 1 1 1 S= + + + + + a a +1 a + 2 a+N Cho đến khi 1 < 0.0001 thì dừng lại a+N Nhận xét: WHILE 1/(a+N) >= 0.0001 DO Begin Chừng nào . S đ ợc lặp đi lặp lại cho đến khi 0.0001 Na 1 < + Việc tăng giá trị cho tổng S đ ợc lặp đi lặp lại 100 lần. tìm sự khác biệt Số lần lặp ch a biết tr ớc. CÊu tróc lÆp 1. Bài toán. (Input) : Nhập N Hãy xác định INPUT và OUTPUT của bài toán trên! I. Lặp với số lần lặp biết tr ớc N 1 4 1 3 1 2 1 1S +++++= Phân tích bài toán với N = 100 Nhận xét: S1 = 1 S2 = S1 + 1/2 S3. đổi giá trị của S và số lần lặp. Viết ch ơng trình để giải bài toán trên. - S:=1/a; - S:= S + 1/(a+i); - i chạy từ 1 đến 100 => Số lần lặp là 100 lần. 1. Bài toán Dữ liệu ra (Output)

Ngày đăng: 15/07/2014, 11:00

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan