Gián án Bai giang cau truc lap

22 441 2
Gián án Bai giang cau truc lap

Đ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); [...]... 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ì dừng lại a+N Dữ liệu vào (Input) : Nhập a Hãy xác định INPUT, : Tổng Dữ liệu ra (Output)OUTPUT S và nêu thuật toán giải bài toán trên? thuật toán Bước... ; 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 S:=S+1/(a+N); N:=N+1 UNTIL 1/(a+N)< 0.0001; Writeln(Gia tri cua tong S = ,S:8:3); Readln; END {Bat dau lap} {Ket thuc lap} Hãy nhớ! Câu lệnh rẽ nhánh IF THEN ; + Dạng khuyết IF THEN ... thực hiện 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: Chừng nào 1/(a+N)>=0.0001 thì còn thực hiện: + Tăng giá trị của tổng S thêm 1/(a+N) + Tăng N thêm 1 đơn vị WHILE 1/(a+N) >= 0.0001 DO Begin S:=S+1/(a+N); N:=N+1; END; Chương trình Program Bai_ toan; Uses Crt; Var a,N:Integer;... Thuật toán B1: Nhập M,N; B2 : Chừng nào MN nếu M>N thì M:=M-N, ngược lại thì N:=N-M; B3: Đến khi M=N thì => Đưa ra ƯCLN(M,N)=M; => Kết thúc 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... 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 S 1 1.5 1.83 2.08 2.28 6 S := 1 ; i := 2; i >N 6>5 5>5 4>5 3>5 2>5 ? S S S SS:= 1.83+1/4;; S := . 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. 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

Ngày đăng: 23/11/2013, 02:11

Từ khóa liên quan

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

Tài liệu liên quan