1. Trang chủ
  2. » Giáo án - Bài giảng

lap voi so lan chua biet

5 168 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 227,5 KB

Nội dung

Tuần 26 Ngày soạn: Ngày giảng: BàI 8: lặp với số lần cha biết trớc A.Mục tiêu - Bit nhu cu cn cú cu trỳc lp vi s ln cha bit trc trong ngụn ng lp trỡnh; - Bit ngụn ng lp trỡnh dựng cu trỳc lp vi s ln cha bit trc ch dn mỏy tớnh thc hin lp i lp li cụng vic n khi mt iu kin no ú c tho món; - Hiu hot ng ca cõu lnh lp vi s ln cha bit trc while do trong Pascal. B. chuẩn bị - GV: Giỏo ỏn, mỏy chiu, mỏy tớnh. - HS: Sỏch, vc trc bi nh. C. tiến trình lên lớp I) Tổ chức Lớp 8A : Lớp 8B : Lớp 8C : II) Kiểm tra Vit thut toỏn tớnh tng 100 s t nhiờn u tiờn 1,2,3,,99,100 Bc 1. SUM 0; i 0. Bc 2. i i + 1. Bc 3. Nu i 100, thỡ SUM SUM + i v quay li bc 2. Bc 4. Thụng bỏo kt qu v kt thỳc thut toỏn. . III) Các hoạt động dạy và học Hoạt động của giáo viên Hoạt động của học sinh t vn : Vi bi toỏn trờn, trong TP ta s dng vũng lp fortodo thỡ s thc hin d dng . Nhng nu ta thay s 100 bi n ( tớnh tng n s t nhiờn u tiờn ) thỡ ta s gp nhiu khú khn trong vic s dng vũng lp fortodo bi lỳc ny s ln lp khụng bit trc. Vy ta phi lm nh th no ? + G : y/c hs c vớ d 1sgk/67 + G : Phõn tớch vớ d + G : Hng dn hs xõy dng 1. Cỏc hot ng lp vi s ln cha bit trc a/ Vớ d 1(sgk). + Hs : 2-3 hs c vớ d sgk + Hs : Chỳ ý lng nghe b/ Vớ d 2 : Nu cng ln lt n s t nhiờn u tiờn (n = 1, 2, 3, ), Cn cng bao nhiờu s t nhiờn u tiờn ta nhn c tng T n nh nht ln hn 1000? + Hs : Nghe giỏo viờn hng dn, sau ú t xõy dng thut toỏn + Hs : Chỳ ý nghe . Hs ghi v vớ d 2 Gii : Kớ hiu S l tng cn tỡm v ta cú thut toỏn nh sau: + Bc 1. S 0, n 0. + Bc 2. Nu S 1000, n n + 1; ngc li thuật toán + G : Chạy tay cho học sinh xem ( Chỉ nên chạy tay thử từ 1 đến 10 ) + G : Giới thiệu sơ đồ khối + G : Nêu nhận xét + G : Có thể sử dụng lệnh lặp với số lần lặp chưa biết trước trong các chương trình lập trình . Sau đây ta xét câu lệnh và ví dụ trong TP + G : Giới thiệu cú pháp lệnh while … do ….; + G : Xét ví dụ 3 Chúng ta biết rằng, nếu n càng lớn thì 1 n càng nhỏ, nhưng luôn chuyển tới bước 4. + Bước 3. S ← S + n và quay lại bước 2. + Bước 4. In kết quả : S và n là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật toán. * Ta có sơ đồ khối : * Nhận xét : Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong các ví dụ trên, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa biết trước 2. Ví dụ về lệnh lặp với số lần chưa biết trước Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng: while <điều kiện> do <câu lệnh>; trong đó: - điều kiện thường là một phép so sánh; - câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép. Câu lệnh lặp này được thực hiện như sau: Bước 1 : Kiểm tra điều kiện. Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1. Ví dụ 3. + Hs : Đọc ví dụ 3 + Hs : quan sát Với giá trị nào của n ( n>o ) thì 1 n < 0.005 hoặc 1 n < 0.003? Chương trình dưới đây tính số n nhỏ nhất để 1 n nhỏ hơn một sai số cho trước : uses crt; var x: real; luụn ln hn 0. Vi giỏ tr no ca n thỡ 1 n < 0.005 hoc 1 n < 0.003 ? ( Gv a phim trong vớ d 3 ) + G : gii thiu chng trỡnh mu sgk ( Giỏo viờn in chng trỡnh mu trờn phim trong ) + G : Chy tay cho hc sinh xem + G : Yờu cu hc sinh m mỏy tớnh v m chng trỡnh vớ d 3 ( giỏo viờn chun b chng trỡnh mu v a lờn cỏc mỏy ) + G : Cho hc sinh chy chng trỡnh trờn mỏy + G : Yờu cu hs thay iu kin sai_so = 0.003 thnh 0.002 ; 0.001 ; 0.005 ; n: integer; const sai_so=0.003; begin clrscr; x:=1; n:=1; while x>=sai_so do begin n:=n+1; x:=1/n end; writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ',n); readln end. + Hs : thc hin : Củng cố - Giáo viên hệ thống lại toàn bộ kiến thức đã học. Hoạt động 4: Hớng dẫn về nhà - Học bài theo sách giáo khoa và vở ghi. - Làm bài tập 1, 2, 3 SGK trang71. - Đọc trớc Bài 8: lặp với số lần cha biết trớc. o0o Ngày soạn : Ngày dạy : 8A : 8B : 8C: 8D: Tiết 50: lặp với số lần cha biết trớc I.Mc tiờu - Bit nhu cu cn cú cu trỳc lp vi s ln cha bit trc trong ngụn ng lp trỡnh; - Bit ngụn ng lp trỡnh dựng cu trỳc lp vi s ln cha bit trc ch dn mỏy tớnh thc hin lp i lp li cụng vic n khi mt iu kin no ú c tho món; - Hiu hot ng ca cõu lnh lp vi s ln cha bit trc while do trong Pascal. II. Chun b - GV: Giỏo ỏn, mỏy chiu, mỏy tớnh. - HS: Sỏch, vc trc bi nh. III. Hoạt động dạy học 1. Kiểm tra 15: Câu 1: Viết cú pháp câu lệnh lặp với số lần cha biết trớc rồi giải thích? Câu 2: Làm bài tập 2 trang 71. Đáp án: Câu 1: Viết đúng cú pháp 5đ. Câu 2: Làm đúng bài tập 5đ. 2. Bµi míi: + G : ta tiếp tục xét các ví dụ mà trong chương trình có câu lệnh với số lần lặp chưa biết trước + G : Chạy tay cho học sinh xem + G : Cho học sinh chạy chương trình trên máy + G : chạy chương trình này, ta nhận được giá trị ntn? Viết chương trình tính tổng 1 1 1 1 2 3 100 T = + + + + + G : Cho học sinh quan sát. + G : Chạy tay ( cả hai chương trình ) cho học sinh xem + G : so sánh kết quả khi chạy hai chương trình + G : Ví dụ này cho thấy rằng chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…do. + G : Giới thiệu phần 3 + G : Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên vòng lặp không bao giờ kết thúc + Hs : Chú ý nghe + G : Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận: var a:integer; begin a:=5; while a<6 do writeln('A'); end. + G : Trong chương trình trên, giá trị của biến a luôn luôn bằng 5, điều kiện a<6 luôn luôn đúng nên lệnh writeln('A') luôn được thực hiện. Do vậy, khi thực hiện vòng lặp, điều Ví dụ 4 . Chương trình Pascal dưới đây thể hiện thuật toán tính số n trong ví dụ 2: + Hs : chú ý nghe . + Hs : thực hiện var S,n: integer; begin S:=0; n:=1; while S<=1000 do begin n:=n+1; S:=S+n end; writeln('So n nho nhat de tong > 1000 la ',n); writeln('Tong dau tien > 1000 la ',S); end. + Hs : Nếu chạy chương trình này ta sẽ nhận được n = 45 và tổng đầu tiên lớn hơn 1000 là 1034. Ví dụ 5 . Viết chương trình tính tổng 1 1 1 1 2 3 100 T = + + + + + Hs : quan sát Để viết chương trình tính tổng 1 1 1 1 2 3 100 T = + + + + ta có thể sử dụng lệnh lặp với số lần lặp biết trước for… do: T:=0; for i:=1 to 100 do T:=T+1/i; writeln(T); + Hs : chú ý nghe và tự chạy tay lại + Hs : Kết quả bằng nhau Nếu sử dụng lệnh lặp while…do, đoạn chương trình dưới đây cũng cho cùng một kết quả: T:=0; i:=1; while i<=100 do begin T:=T+1/i; i:=i+1 end; writeln(T); * Nhận xét : Ví dụ này cho thấy rằng chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…do. 3. Lặp vô hạn lần – Lỗi lập trình cần tránh Khi viết chương trình sử dụng cấu trúc kin trong cõu lnh phi c thay i sm hay mun giỏ tr ca iu kin c chuyn t ỳng sang sai. Ch nh th chng trỡnh mi khụng "ri" vo nhng "vũng lp vụ tn". lp cn chỳ ý trỏnh to nờn vũng lp khụng bao gi kt thỳc. + Hs : Chỳ ý nghe Hoạt động 3: Củng cố - Giáo viên hệ thống lại toàn bộ kiến thức đã học. Hoạt động 4: Hớng dẫn về nhà - Học bài theo sách giáo khoa và vở ghi. - Làm bài tập 4, 5 SGK trang71. - Đọc trớc Bài TH 6. . thay iu kin sai _so = 0.003 thnh 0.002 ; 0.001 ; 0.005 ; n: integer; const sai _so= 0.003; begin clrscr; x:=1; n:=1; while x>=sai _so do begin n:=n+1; x:=1/n end; writeln(&apos ;So n nho nhat. có dạng: while <điều kiện> do <câu lệnh>; trong đó: - điều kiện thường là một phép so sánh; - câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép. Câu lệnh lặp này được thực hiện. Tuần 26 Ngày so n: Ngày giảng: BàI 8: lặp với số lần cha biết trớc A.Mục tiêu - Bit nhu cu cn cú cu trỳc lp

Ngày đăng: 28/04/2015, 05:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w