Bài 8. Lặp với số lần chưa biết trước
Chia sẻ bởi Nguyễn Thị Chinh |
Ngày 24/10/2018 |
148
Chia sẻ tài liệu: Bài 8. Lặp với số lần chưa biết trước thuộc Tin học 8
Nội dung tài liệu:
Trường THCS PHAN THÚC DUYỆN - Điện tThọ - Điện Bàn - Quảng Nam
Trang bìa
Trang bìa:
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC Người soạn: Nguyễn Chinh Trường THCS Phan Thúc Duyện ndung bài học
ndung bài học:
NỘI DUNG BÀI HỌC 1. Các hoạt độ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 3. Lặp vô hạn - Lỗi lập trình cần tránh ndung cụ thể
1. Các hđ lặp với số lần chưa biết trước:
1. Các hoạt động lặp với số lần chưa biết trước: Ví dụ 1: (sgk) Ví dụ 2: Tính tổng S=1+2+3+...+n với kết quả S thu được phải > 1000 Thuật toán như sau: + Bước 1: S <- 0, i <- 0. + bước 2: i+1 3: nếu s ≤ 1000, và quay lại 2. 4. in kết quả : là số tự nhiên nhỏ nhất sao cho> 1000. Kết thúc thuật toán. ttheo:
Tóm lại, việc lặp lại các hoạt động với số lần chưa biết trước phụ thuộc vào điều kiện * Ta có sơ đồ khối : 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. 2. Ví dụ về lệnh 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 1câu lệnh; - while, do là các từ khoá - điều kiện thường là một phép so sánh; (>, <, =, >=, <=, <>) - Sau DO nếu nhiều hơn 1 câu lệnh thì phải nằm trong cặp từ khoá begin...end; Chú ý: nếu viết chương trình thì điều kiện trong câu lệnh while phải đúng và nếu đề cho điều kiện trước thì đkiện phải ngược với đkiện đề cho. vda:
Quan sát câu lệnh sau và cho biết ý nghĩa của các thành phần trong câu lệnh? while i <= 100 do s:=s+i; - Các từ khoá: - Điều kiện: - Câu lệnh: while, do i <= 100 s:=s+i vd:
Cho câu lệnh: while điều kiện do x:=x+1; Điều kiện trong câu lệnh trên là gì?
a. x-1
b. x/2
c. x<2
d. x*2
vd3:
Ví dụ 3: Với giá trị nào của n ( n>0 ) thì x=1/n < 0.005 hoặc < 0.003? Chương trình dưới đây tính số n nhỏ nhất để nhỏ hơn một sai số cho trước : program sai_so; var x: real; i: integer; const sai_so=0.003; begin x:=1; i:=1; while x>=sai_so do begin i:=i+1; x:=1/i end; writeln(`So n nho nhat de 1/n < `,sai_so:5:4, `la `,i:7); readln; end. vd4:
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 program tong; var s,i: integer; begin s=0; i:=1; while S<=1000 do begin s:=s+i; i:=i+1; end; writeln(`So n nho nhat de tong > 1000 la `,i:5); writeln(`Tong dau tien > 1000 la `,S:5); end. vd5:
Ví dụ 5: Viết chương trình tính tổng S= - Dùng lệnh: for…do S:=0; for i:=1 to 100 do S:=S+1/i; writeln(`tong la: `,S:6 ); - Dùng lệnh: while...do S:=0; i:=1; while i<=100 do begin S:=S+1/i; i:=i+1; end; writeln(`tong la: `,S:6 ); 3.Lặp vô hạn-lỗi lập trình:
Chú ý: trong lệnh lặp while thì phải đưa điều kiện và biến đếm vào chương trình còn lệnh for thì không 3. Lặp vô hạn lần – Lỗi lập trình cần tránh: var a:integer; begin a:=5; while a<6 do writeln(`a`); end. 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 không bao giờ kết thúc. btập
bai1:
Các câu lệnh sau có hợp lệ không, vì sao? a. while i:=1 do t:=10; b. while a<=b; do write(`b khong nho hon a`); c. while 1=1 do write(`tin hoc`); d. i:=1; while i<10 do begin s:=s+1; i:=i+1; end; e.> 2. Viết chương trình tính: s=1+2+3+...+n - B1: s <- 0; i <-1 - B2: i <- i+1 - B3: i<=n, s <- s+i và quay lên bước 2 - B4: In s ra màn hình program tong_2; var s,i,n:integer; begin write(`nhap n: `); readln(n); s:=0; i:=1; while i<=n do begin s:=s+i; i:=i+1; end; write(`tong các so den`,n:3,`la`,s:7); readln; end. bai3:
3. Viết chương trình tính: s= 1+1/2+1/3+...+1/n - B1: s <- 0; i <-1 - B2: i <- i+1 - B3: i<=n, s <- s+1> ndung:
VỀ NHÀ 1. Học thuộc cấu trúc lặp WHILE...DO 2. Làm các bài tập: 3,4,5 trang 71 3. Chuẩn bị cho tiết sau là tiết bài tập
Trang bìa
Trang bìa:
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC Người soạn: Nguyễn Chinh Trường THCS Phan Thúc Duyện ndung bài học
ndung bài học:
NỘI DUNG BÀI HỌC 1. Các hoạt độ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 3. Lặp vô hạn - Lỗi lập trình cần tránh ndung cụ thể
1. Các hđ lặp với số lần chưa biết trước:
1. Các hoạt động lặp với số lần chưa biết trước: Ví dụ 1: (sgk) Ví dụ 2: Tính tổng S=1+2+3+...+n với kết quả S thu được phải > 1000 Thuật toán như sau: + Bước 1: S <- 0, i <- 0. + bước 2: i+1 3: nếu s ≤ 1000, và quay lại 2. 4. in kết quả : là số tự nhiên nhỏ nhất sao cho> 1000. Kết thúc thuật toán. ttheo:
Tóm lại, việc lặp lại các hoạt động với số lần chưa biết trước phụ thuộc vào điều kiện * Ta có sơ đồ khối : 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. 2. Ví dụ về lệnh 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 1câu lệnh; - while, do là các từ khoá - điều kiện thường là một phép so sánh; (>, <, =, >=, <=, <>) - Sau DO nếu nhiều hơn 1 câu lệnh thì phải nằm trong cặp từ khoá begin...end; Chú ý: nếu viết chương trình thì điều kiện trong câu lệnh while phải đúng và nếu đề cho điều kiện trước thì đkiện phải ngược với đkiện đề cho. vda:
Quan sát câu lệnh sau và cho biết ý nghĩa của các thành phần trong câu lệnh? while i <= 100 do s:=s+i; - Các từ khoá: - Điều kiện: - Câu lệnh: while, do i <= 100 s:=s+i vd:
Cho câu lệnh: while điều kiện do x:=x+1; Điều kiện trong câu lệnh trên là gì?
a. x-1
b. x/2
c. x<2
d. x*2
vd3:
Ví dụ 3: Với giá trị nào của n ( n>0 ) thì x=1/n < 0.005 hoặc < 0.003? Chương trình dưới đây tính số n nhỏ nhất để nhỏ hơn một sai số cho trước : program sai_so; var x: real; i: integer; const sai_so=0.003; begin x:=1; i:=1; while x>=sai_so do begin i:=i+1; x:=1/i end; writeln(`So n nho nhat de 1/n < `,sai_so:5:4, `la `,i:7); readln; end. vd4:
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 program tong; var s,i: integer; begin s=0; i:=1; while S<=1000 do begin s:=s+i; i:=i+1; end; writeln(`So n nho nhat de tong > 1000 la `,i:5); writeln(`Tong dau tien > 1000 la `,S:5); end. vd5:
Ví dụ 5: Viết chương trình tính tổng S= - Dùng lệnh: for…do S:=0; for i:=1 to 100 do S:=S+1/i; writeln(`tong la: `,S:6 ); - Dùng lệnh: while...do S:=0; i:=1; while i<=100 do begin S:=S+1/i; i:=i+1; end; writeln(`tong la: `,S:6 ); 3.Lặp vô hạn-lỗi lập trình:
Chú ý: trong lệnh lặp while thì phải đưa điều kiện và biến đếm vào chương trình còn lệnh for thì không 3. Lặp vô hạn lần – Lỗi lập trình cần tránh: var a:integer; begin a:=5; while a<6 do writeln(`a`); end. 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 không bao giờ kết thúc. btập
bai1:
Các câu lệnh sau có hợp lệ không, vì sao? a. while i:=1 do t:=10; b. while a<=b; do write(`b khong nho hon a`); c. while 1=1 do write(`tin hoc`); d. i:=1; while i<10 do begin s:=s+1; i:=i+1; end; e.> 2. Viết chương trình tính: s=1+2+3+...+n - B1: s <- 0; i <-1 - B2: i <- i+1 - B3: i<=n, s <- s+i và quay lên bước 2 - B4: In s ra màn hình program tong_2; var s,i,n:integer; begin write(`nhap n: `); readln(n); s:=0; i:=1; while i<=n do begin s:=s+i; i:=i+1; end; write(`tong các so den`,n:3,`la`,s:7); readln; end. bai3:
3. Viết chương trình tính: s= 1+1/2+1/3+...+1/n - B1: s <- 0; i <-1 - B2: i <- i+1 - B3: i<=n, s <- s+1> ndung:
VỀ NHÀ 1. Học thuộc cấu trúc lặp WHILE...DO 2. Làm các bài tập: 3,4,5 trang 71 3. Chuẩn bị cho tiết sau là tiết bài tập
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Thị Chinh
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)