Giới thiệu Chủ đề/Bài học:
Với chủ đề này giúp các em hiểu:
+ Cấu trúc lặp với số lần lặp không xác định trước
+ Câu lệnh lặp với số lần chưa biết trước While . do
I. Mục tiêu
1. Kiến thức, kĩ năng, thái độ
a./ Kiến thức: HS nắm được :
- Cú pháp câu lệnh lặp với số lần chưa biết trước while do
- Sơ đồ khối của câu lệnh lặp
- Lặp vô hạn lần và những lỗi lập trình cần tránh
b. Kỹ năng:
- Xác định được bài toán và thuật toán của một số bài toán thông qua câu lệnh lặp với số lần chưa biết trước while do
- Viết được chương trình sử dụng cú pháp của câu lệnh lặp với số lần chưa biết trước while do
c. Thái độ: Học tập nghiêm túc, chuyên cần, hợp tác, phối hợp cùng giáo viên, bạn bè nâng cao trình độ kiến thức, rèn luyện khả năng tư duy, sáng tạo.
- Có ý thức tự giác cao và có tính thần giúp đỡ lẫn nhau trong học tập.
- Yêu thích môn Tin học và hình thành ý thức vận dụng các kiến thức đã học để áp dụng có hiệu quả trong thực tiễn cuộc sống.
Ngày soạn: 2/ 1/2022 Chủ đề: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC Tổng số tiết:7 ; từ tiết: 37 đến tiết: 43 Giới thiệu Chủ đề/Bài học: Với chủ đề này giúp các em hiểu: + Cấu trúc lặp với số lần lặp không xác định trước + Câu lệnh lặp với số lần chưa biết trước While .. do I. Mục tiêu 1. Kiến thức, kĩ năng, thái độ a./ Kiến thức: HS nắm được : - Cú pháp câu lệnh lặp với số lần chưa biết trước while do - Sơ đồ khối của câu lệnh lặp - Lặp vô hạn lần và những lỗi lập trình cần tránh b. Kỹ năng: - Xác định được bài toán và thuật toán của một số bài toán thông qua câu lệnh lặp với số lần chưa biết trước while do - Viết được chương trình sử dụng cú pháp của câu lệnh lặp với số lần chưa biết trước while do c. Thái độ: Học tập nghiêm túc, chuyên cần, hợp tác, phối hợp cùng giáo viên, bạn bè nâng cao trình độ kiến thức, rèn luyện khả năng tư duy, sáng tạo. - Có ý thức tự giác cao và có tính thần giúp đỡ lẫn nhau trong học tập. - Yêu thích môn Tin học và hình thành ý thức vận dụng các kiến thức đã học để áp dụng có hiệu quả trong thực tiễn cuộc sống. 2. Định hướng phát triển năng lực học sinh: - Phát triển năng lực phát hiện và giải quyết vấn đề: + Biết cách nghiên cứu các tình huống gợi vấn đề, từ đó học sinh phát hiện vấn đề, tìm cách giải quyết vấn đề. - Năng lực sử dụng công nghệ thông tin: +Biết cách vận dụng kiến thức đã học và các nhu cầu cần thiết cho cuộc sống. - Năng lực hợp tác và năng lực về đạo đức hành vi phù hợp khi sử dụng công nghệ thông tin.. II. Chuẩn bị của giáo viên và học sinh 1.Giáo viên: - Hệ thống câu hỏi, bài tập. - Phòng máy, Tivi,... phục vụ cho dạy và học lý thuyết và thực hành. 2. Học sinh: - Hệ thống kiến thức cũ có liên quan. - Bảng nhóm: dùng để mô tả ngắn gọn sản phẩm của nhóm. - Chuẩn bị nội dung chủ đề mới. - Đồ dùng học tập, tập vở, bút, sách giáo khoa. III. Tiến trình dạy học Hoạt động I: Tình huống xuất phát/Khởi động (Dự kiến thời lượng 5’) - Mục tiêu hoạt động: Giới thiệu chung các nội dung cần tìm hiểu, khơi gợi hứng thú, tìm hiểu, khám phá kiến thức Nội dung, phương thức tổ chức hoạt động học tập của học sinh Dự kiến sản phẩm, đánh giá kết quả hoạt động Giới thiệu về nội dung cần tìm hiểu: -Cấu trúc lặp với số lần lặp không xác định trước -Câu lệnh lặp với số lần chưa biết trước While do. Giới thiệu nội dung bài học. -1./ Lệnh lặp với số lần chưa biết trước -2./ Lặp vô hạn lần- Lỗi lập trình cần tránh Các thành phần chính của chủ đề: -1./ Lệnh lặp với số lần chưa biết trước -2./ Lặp vô hạn lần- Lỗi lập trình cần tránh Hoạt động II: Hình thành kiến thức (Dự kiến thời lượng 85’) 1. Nội dung 1 (Dự kiến thời lượng 70’) - Mục tiêu hoạt động: Giúp học sinh khám phá và tìm hiểu Lệnh lặp với số lần chưa biết trước. Thảo luận, nguyên cứu, đúc kết kiến thức, kĩ năng cần thiết Nội dung, phương thức tổ chức hoạt động học tập của học sinh Dự kiến sản phẩm, đánh giá kết quả hoạt động Nội dung 1. Lệnh lặp với số lần chưa biết trước: Trình bày hình ảnh minh họa, đặt các tình huống, vấn đề cần tìm hiểu, khám phá, giải quyết: Ví dụ: Một ngày chủ nhật, bạn Long gọi điện cho bạn Trang. Không có ai nhất máy. Long quyết định gọi thêm hai lần nữa. Nếu vẫn không có ai nhất máy thì chắc là không có ai ở nhà. Như vậy là Long biết trước là mình sẽ lặp lại hoạt động gọi điện thêm hai lần. Một ngày khác Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi nào có người nhấc máy. Lần này Long sẽ lặp lại hoạt động gọi điện mấy lần? Chưa thể biết trước được, có thể một lần, có thể hai lần hoặc nhiều hơn nữa. Điều kiện để kết thúc hoạt động lặp đó là có người nhất máy. Ví dụ: Cho biết kết quả thuật toán sau sẽ lặp lại bao nhiêu lần: B1. Nhập số N từ bàn phím. B2. Nếu N<5 quay trở về bước 1. B3. . Ví dụ 1: Nếu cộng lần lượt n số tự nhiên đầu tiên (n= 1, 2, 3,), ta sẽ được các kết quả T1=1, T2=1 + 2, T3=1 + 2 + 3, tăng dần. Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000? -Trình bày thuật toán? -Sơ đồ khối? -Cú pháp câu lệnh lặp với số lần chưa biết trước? Phương thức tổ chức hoạt động học tập: (Tổ chức HS hoạt động nhóm) * Hoạt động:Chuyển giao nhiệm vụ học tập: GV: Yêu cầu các nhóm nguyên cứu giải đáp các vấn đề để hình thành kiến thức *Hoạt động: Thực hiện nhiệm vụ học tập: GV:Quan sát, theo dõi các nhóm hoạt động *Hoạt động: Báo cáo kết quả thực hiện nhiệm vụ học tập: GV: Yêu cầu đại diện các nhóm báo cáo kết quả. Yêu cầu các nhóm nhận xét, đánh giá các nhóm còn lại (nhóm 1 đánh giá nhóm 3, nhóm 2 đánh giá nhóm 4... hoặc cho các nhóm tự đánh giá, chấm điểm chéo nhau) *Hoạt động: Đánh giá kết quả hoạt động: GV:Thông qua các nhóm tự nhận xét, đánh giá với nhau thì GV đưa ra nhận xét chung về kết quả thực hiện nhiệm vụ của từng nhóm (ghi điểm cho từng nhóm) và đưa ra đáp án, kết quả chuẩn nhất cho nội dung trên. a.Nội dung 1. Lệnh lặp với số lần chưa biết trước: Ví dụ 1: Nếu cộng lần lượt n số tự nhiên đầu tiên (n= 1, 2, 3,), ta sẽ được các kết quả T1=1, T2=1 + 2, T3=1 + 2 + 3, tăng dần. Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000? THUẬT TOÁN Bước 1: S ← 0; n ← 0; {Khởi tạo S và n} Bước 2: Nếu S<=1000 thì chuyển đến bước 3; ngược lại (S > 1000) thì chuyển đến Bước 4; Bước 3: n ← n + 1; 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 *Từ bước 2 đến bước 3 được lặp lại nhiều lần nếu điều kiện S≤1000 được thoả mãn và chỉ dừng khi điều kiện đó sai. Tóm lại: Để viết các chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp mà chưa xác định trước được số lần lặp, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa xác định. Cú pháp câu lệnh lặp với số lần chưa biết trước trong Pascal: While do ; 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 được thực hiện như sau: -Bước 1: Kiểm tra điều kiện. -Bước 2: Nếu 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ụ 2./ Chúng ta biết rằng, nếu n (n>0) càng lớn thì 1/n càng nhỏ nhưng luôn lớn hơn 0. Với giá trị nào của n thì 1/n < 0.005 hoặc 1/n < 0.003 ? Em hãy viết chương trình tính số n nhỏ nhất để 1/n nhỏ hơn một sai số cho trước. -Em hãy thảo luận và trình bày chương trình cho bài toán trên? Phương thức tổ chức hoạt động học tập: (Tổ chức HS hoạt động nhóm) * Hoạt động:Chuyển giao nhiệm vụ học tập: GV: Yêu cầu các nhóm nguyên cứu giải đáp các vấn đề để hình thành kiến thức *Hoạt động: Thực hiện nhiệm vụ học tập: GV:Quan sát, theo dõi các nhóm hoạt động *Hoạt động: Báo cáo kết quả thực hiện nhiệm vụ học tập: GV: Yêu cầu đại diện các nhóm báo cáo kết quả. Yêu cầu các nhóm nhận xét, đánh giá các nhóm còn lại (nhóm 1 đánh giá nhóm 3, nhóm 2 đánh giá nhóm 4... hoặc cho các nhóm tự đánh giá, chấm điểm chéo nhau) *Hoạt động: Đánh giá kết quả hoạt động: GV:Thông qua các nhóm tự nhận xét, đánh giá với nhau thì GV đưa ra nhận xét chung về kết quả thực hiện nhiệm vụ của từng nhóm (ghi điểm cho từng nhóm) và đưa ra đáp án, kết quả chuẩn nhất cho nội dung trên. Ví dụ 2./ Uses Crt; Var x: real; n: integer; Const Sai_so=0.003; Begin Clrscr; X:=1; n:=1; While x>= sai_so do Begin X:=1/n ; N:=n+1 ; End; Writeln(‘So n nho nhat de 1/n < ‘, sai_so:6:4, ‘ la’, n-1); Readln End. * Lần lượt thay điều kiện sai_so bằng các giá trị 0.005; 0.002; 0.001, ta nhận các kết quả khác nhau. Ví dụ 3./ Viết chương trình tính tổng: Sn=1 + 2 + 3 + + n Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Sn nhỏ nhất lớn hơn 1000. Tính tổng Sn -Em hãy thảo luận và trình bày chương trình cho bài toán trên? Phương thức tổ chức hoạt động học tập: (Tổ chức HS hoạt động nhóm) * Hoạt động:Chuyển giao nhiệm vụ học tập: GV: Yêu cầu các nhóm nguyên cứu giải đáp các vấn đề để hình thành kiến thức *Hoạt động: Thực hiện nhiệm vụ học tập: GV:Quan sát, theo dõi các nhóm hoạt động *Hoạt động: Báo cáo kết quả thực hiện nhiệm vụ học tập: GV: Yêu cầu đại diện các nhóm báo cáo kết quả. Yêu cầu các nhóm nhận xét, đánh giá các nhóm còn lại (nhóm 1 đánh giá nhóm 3, nhóm 2 đánh giá nhóm 4... hoặc cho các nhóm tự đánh giá, chấm điểm chéo nhau) *Hoạt động: Đánh giá kết quả hoạt động: GV:Thông qua các nhóm tự nhận xét, đánh giá với nhau thì GV đưa ra nhận xét chung về kết quả thực hiện nhiệm vụ của từng nhóm (ghi điểm cho từng nhóm) và đưa ra đáp án, kết quả chuẩn nhất cho nội dung trên. Ví dụ 3./ Var S, n :integer; Begin S:=0; n:=0; 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 ); Readln End. Ví dụ 4: Viết chương trình tính tổng T. Yêu cầu: Viết chương trình theo hai dạng cấu trúc: a./ For .. do b./ While .. do -Em hãy thảo luận và trình bày chương trình cho bài toán trên? Phương thức tổ chức hoạt động học tập: (Tổ chức HS hoạt động nhóm) * Hoạt động:Chuyển giao nhiệm vụ học tập: GV: Yêu cầu các nhóm nguyên cứu giải đáp các vấn đề để hình thành kiến thức *Hoạt động: Thực hiện nhiệm vụ học tập: GV:Quan sát, theo dõi các nhóm hoạt động *Hoạt động: Báo cáo kết quả thực hiện nhiệm vụ học tập: GV: Yêu cầu đại diện các nhóm báo cáo kết quả. Yêu cầu các nhóm nhận xét, đánh giá các nhóm còn lại (nhóm 1 đánh giá nhóm 3, nhóm 2 đánh giá nhóm 4... hoặc cho các nhóm tự đánh giá, chấm điểm chéo nhau) *Hoạt động: Đánh giá kết quả hoạt động: GV:Thông qua các nhóm tự nhận xét, đánh giá với nhau thì GV đưa ra nhận xét chung về kết quả thực hiện nhiệm vụ của từng nhóm (ghi điểm cho từng nhóm) và đưa ra đáp án, kết quả chuẩn nhất cho nội dung trên. Ví dụ 4: a. Sử dụng vòng lặp For..to..do Program Tinh_tong1; Uses crt; Var T : real; i : integer ; Begin Clrscr ; T:=0; For i:=1 to 100 do T:=T+1/i ; Write(‘Tong T la ‘, T); Readln End. b. Sử dụng vòng lặp While..do Program Tinh_tong2; Uses crt; Var T : real ; i: integer ; Begin Clrscr; T:=0; i:=1; While i <= 100 do Begin T:=T+1/i ; i:= i+1; end; Write(‘Tong T la ‘, T); Readln End. 2. Nội dung 2 (Dự kiến thời lượng 15’ ) - Mục tiêu hoạt động: Giúp học sinh khám phá và tìm hiểu lặp vô hạn lần- lỗi lập trình cần tránh Thảo luận, nguyên cứu, đúc kết kiến thức, kĩ năng cần thiết Nội dung, phương thức tổ chức hoạt động học tập của học sinh Dự kiến sản phẩm, đánh giá kết quả hoạt động b.Nội dung 2. LẶP VÔ HẠN LẦN _ LỖI LẬP TRÌNH CẦN TRÁNH: (Không dạy, khuyến khích học sinh tự học) Trình bày các hình ảnh minh họa, đặt các vấn đề, tình huống cần tìm hiểu, khám phá, giải đáp: Quan sát đoạn chương trình sau: Var a : integer; Begin a := 5; While a ... nhất lớn hơn 50, lưu chương trình vào máy Hovaten.pas IV. Đáp án và hướng dẫn chấm Program Ct; Uses crt; Var S,i: integer; 1 đ Begin S:=0; n:=1; 1 đ While s<=50 do 2 đ Begin S:=s+n; n:=n+1; End; 2 đ Writeln(‘so n nho nhat de tong >50 la:’,n-1); 1 đ Writeln(‘tong dau tien lon hon 50 la:’,s); 1 đ Readln End. 1 đ Chạy chương trình đúng yêu cầu. Lưu kết quả theo yêu cầu : 1 đ (Chú ý: học sinh có thể trình bày chương trình theo cách khác) V. Thống kê kết quả TT Lớp Sĩ số Kém Yếu TB Khá Giỏi TB trở lên 0.0 đến < 3.5 3.5 đến < 5.0 5.0 đến < 6.5 6.5 đến < 8.0 8.0 đến 10.0 5.0 đến 10.0 SL TL% SL TL% SL TL% SL TL% SL TL% SL TL% 1 8a8 34 2 8a9 35 3 8a10 36 4 VI. Nhận xét, rút kinh nghiệm . . ------------------------------------//---------------------------------- THE END. PHIẾU HỌC TẬP 1 Nhóm Lớp 8A.. Họ và tên:.. Cú pháp câu lệnh lặp với số lần chưa biết trước? Trong đó: Cú pháp câu lệnh lặp với số lần chưa biết trước trong Pascal: While do ; 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 được thực hiện như sau: -Bước 1: Kiểm tra điều kiện. -Bước 2: Nếu 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. PHIẾU HỌC TẬP 2 Viết chương trình tính tổng: Sn=1 + 2 + 3 + + n Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Sn nhỏ nhất lớn hơn 1000. Tính tổng Sn Var S, n :integer; Begin S:=0; n:=1; While S<=1000 do Begin S:=s+n; N:=n+1; End; Writeln(‘So n nho nhat de tong lon hon 1000 la ‘,n); Writeln(‘Tong dau tien > 1000 la ‘, s); Readln End. Cho T= 1+(1/2)+ (1/3)+ +(1/100) Yêu cầu: Viết chương trình tính tổng T theo hai dạng cấu trúc: a./ For .. do b./ While .. do Program Tinhtong1; Uses crt; Var T : real; i : integer ; Begin Clrscr; T:=0; For i:=1 to 100 do T:=T+1/i ; Write(‘Tong T la ‘, T); Readln End. Program Tinhtong2; Uses crt; Var T : real ; i: integer ; Begin Clrscr; T:=0; i:=1; While i <= 100 do Begin T:=T+1/i ; i:= i+1; end; Write(‘Tong T la ‘, T); Readln End. PHIẾU HỌC TẬP 3 Câu hỏi: Các lựa chọn: Đáp án: 1./ Câu lệnh lặp với số lần chưa biết trước có dạng: a./ While do ; b./ While ; do ; c./ While then ; d./ While ; then ; A 2./ Việc đầu tiên mà câu lệnh While do cần thực hiện là gì? a./ Thực câu lệnh sau từ khóa Do. b./ Kiểm tra giá trị của điền kiện. c./ THực hiện câu lệnh sau từ khóa Then. d./ Kiểm tra . B 3./ Kết quả của trong câu lệnh sẽ có giá trị là gì ? a./ Là một số nguyên. b./ Là một số thực. c./ Đúng hoặc sai. d./ Là một dãy kí tự. C 4./ Lúc nào thì câu lệnh While do sẽ được dừng lại ? a./ có giá trị đúng. b./ có giá trị sai. c./ Các câu lệnh con trong đã được thực hiện xong. d./ Cả a, b, c đều sai. B 5./ Sự khác biệt giữa câu lệnh For do và câu lệnh While do là: a./ Fordo là câu lệnh rẽ nhánh còn While do là câu lệnh lặp với số lần không biết trước. b./ For do là câu lệnh rẽ nhánh còn While do là câu lệnh lặp với số lần biết trước. c./ For ..do là câu lệnh lặp còn While ..do là câu lệnh điều kiện. d./ For..do là câu lệnh lặp với số lần biếts trước còn While ..do là câu lệnh lặp với số lần không biết trước. D 6./ Khi sử dụng lệnh lặp Whiledo cần chú ý điều gì ? a./ Số lần lặp. b./ Số lượng câu lệnh. c./ Điều kiện dần đi đến sai. d./ Điều kiện dần đi đến đúng. C 7./ sau từ khóa do trong câu lệnh While do được thực hiện ít nhất mấy lần? a./ 0 lần. b./ 1 lần. c./ 2 lần. d./ Vô số lần. A 8./ Cho biết câu lệnh sau Do được thực hiện mấy lần trong đoạn chương trình sau : I :=5 ; While i>=0 do i := i-1 ; a./ 1 lần. b./ 5 lần. c./ 6 lần. d./ 0 lần. C 9./ Hãy cho biết kết quả của đoạn chương trình sau đây: A := 10; While a>= 10 do Write (a); a./ Trên màn hình xuất hiện một chữ a; b./ trên màn hình xuất hiện mười chữ a. c./ Trên màn hình xuất hiện một số 10. d./ Chương trình bị lặp vô tận. D 10./ Hãy cho biết kết quả của b trong đoạn chương trình dưới đây: A := 10; b := 5; While a>= 10 do Begin B := b+a; A := a-1; End; a./ b=5. b./ b=10. c./ b=15. d./ b=20. C 11.Vòng lặp While – do kết thúc khi nào? A. Khi một điều kiện cho trước được thỏa mãn B. Khi đủ số vòng lặp C. Khi tìm được Output D. Tất cả các phương án sai D 12. Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước? A. Fordo B. Whiledo C. If..then D. Ifthenelse B 13.Hãy đưa ra kết quả trong đoạn lệnh: x:=3; While x<=5 do write(‘Hoa hau’); A. x:=6. B. X>=5. C. x=5. D. Lặp vô hạn lần. D 14.Hãy cho biết kết quả của đoạn chương trình dưới đây: a:=10; While a < 11 do write (a); A. Trên màn hình xuất hiện một số 10 B. Trên màn hình xuất hiện 10 chữ a C. Trên màn hình xuất hiện một số 11 D. Chương trình bị lặp vô tận. D 15. Cho biết câu lệnh sau While Do thực hiện mấy lần trong đoạn chương trình sau: i := 5; While i>=1 do i := i – 1; A. 1 lần B. 2 lần C. 5 lần D. 6 lần C 16.Câu lệnh sau giải bài toán nào: While M N do If M > N then M:=M-N else N:=N-M; A. Tìm UCLN của M và N B. Tìm BCNN của M và N C. Tìm hiệu nhỏ nhất của M và N D. Tìm hiệu lớn nhất của M và N A 17. Tính tống S = 1 + 2 + 3 + + n cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng: A. While S>=108 do B. While S < 108 do C. While S <= 1.0E8 do D. While S >= E8 do C PHIẾU HỌC TẬP 4 Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp? KQ S bằng bao nhiêu? Program Thuattoan1; Var s, x : real; Begin S:= 10; x:=0.5 ; While s > 5.2 do S := s – x; Writeln(S); End. Lặp 10 lần S=5 Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp? KQ S bằng bao nhiêu? Program Thuattoan2; Var s, n : real; Begin S:= 10; n:=0; While s < 10 do Begin N := n + 3; S := s – n; End; Writeln(S); End. Lặp 0 lần. S=10 Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp? KQ S bằng bao nhiêu? S := 0; n := 0; While S <= 10 do Begin n:= n + 1; S:= S + n; end; Chương trình thực hiện 5 vòng lặp KQ S=15 Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp? KQ S bằng bao nhiêu? S := 0; n := 0; While S <= 10 do N:= n+ 1; S := S + n; Lặp vô hạn lần S=0 Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp? Var a : integer ; Begin a := 5 ; While a < 6 do writeln(‘A’) ; End. Lặp vô hạn lần Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp? KQ X bằng bao nhiêu? X:=1; While x <= 5 do Begin Writeln(x); x := x + 2 ; End; Lặp 3 vòng KQ X=7 Hãy chỉ ra lỗi trong các câu lệnh sau đây: X := 10; While x := 10 do x := x +5; Lỗi thừa dấu 2 chấm trong điều kiện x:=10 sau lệnh While. Hãy chỉ ra lỗi trong các câu lệnh sau đây: X := 10; While x = 10 do x =x +5; Lỗi thiếu dẫu : trong lệnh gán x = x+5 sau lệnh do. Hãy chỉ ra lỗi trong các câu lệnh sau đây: S := 0; n:= 0; While s <= 10 do n := n+1; s:= s+n; Lỗi thiếu từ khóa Begin và end sau lệnh Do làm vòng lặp trở thành vô tận. PHIẾU HỌC TẬP 5 Em hãy viết chương trình nhập một đoạn văn bản từ bàn phím và thông báo đoạn văn bản đó ra màn hình. Công việc này được lặp lại đến khi nào chúng ta đồng ý dừng chương trình. Program DoanVan; Uses Crt; Var Tl: Char ; S, dv: String ; Begin Clrscr ; Tl:=’C’; While Tl=’c’ or Tl=’C’ do Begin Writeln (‘Nhap doan van ban’); Readln (dv); S:= S+’ ‘ +dv; Clrscr; Writeln(‘---------------------------------------‘); Writeln(s); Writeln(‘---------------------------------------‘); Writeln(‘Ban co muon tiep tuc khong (C/K)?’); Readln(Tl); End; End. PHIẾU HỌC TẬP 6 Viết chương trình sử dụng lệnh lặp whiledo để tính trung bình n số thực x1, x2, x3,, xn, các số n và x1, x2, x3,, xn được nhập từ bàn phím. Program Tinh_Trung_bình; Uses crt; Var n, dem : integer; X, TB : real; Begin Clrscr ; Dem:= 0 ; TB:= 0 ; Write(‘Nhap so cac so can tinh n = ‘); readln(n); While dem < n do Begin Dem:=dem+1; Write(‘Nhap so thu’, dem,’ = ‘) ; Readln(x); TB := TB + x End; TB := TB / n ; Writeln(‘ Trung binh cua ‘, n,’ so la = ‘, TB:10:3); Writeln(‘Nhan Enter de thoat...’); Readln End. Program TinhTrungbình2; Uses crt; Var n, dem : integer; X, TB : real; Begin Clrscr; TB:= 0; Write(‘Nhap so cac so can tinh n = ‘); readln(n); For dem := 1 to n do Begin Write(‘Nhap so thu’, dem,’ = ‘); Readln(x) ; TB := TB + x ; End; TB := TB / n ; Writeln(‘ Trung binh cua ‘, n,’ so la = ‘, TB:10:3); Writeln(‘Nhan Enter de thoat...’); Readln End. PHIẾU HỌC TẬP 7 Viết chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không? Uses CRT; Var n, i : integer; Begin CLRSCR; Write(‘Nhap vao mot so nguyen: ‘); Readln(n); If n<=1 then writeln (’N khong phai so nguyen to’) Else Begin i := 2; While (n mod i0) do i := i+1; If i=n then writeln( n, ‘la so nguyen to!’) Else writeln (n, ‘ khong la so nguyen to!’); End; Readln End. PHIẾU HỌC TẬP 8 Viết chương trình tính gần đúng số Pi với độ chính xác cho trước: -Hàm Abs (x) cho kết quả là trị tuyệt đối của x. - Pi là hàm chuẩn cho giá trị của pi. Uses crt; Var Sopi, saiso, dochinhxac : real; N, i, dau : integer; Begin Clrscr; Write(‘Hãy nhập sai số tính gần đúng số Pi = ‘); Readln(saiso); SoPi := 0 ; Dochinhxac := 3; I := 0 ; Dau := -1 ; While dochinhxac >= saiso do Begin Dau := -dau ; SoPi := Sopi + dau*1/ (2*i +1) ; Dochinhxac := abs(4*SoPi –Pi) ; i:=i +1 ; End; Writeln(‘So Pi gan bang ‘, SoPi*4) ; Readln; End. PHIẾU HỌC TẬP 9 Viết chương trình tìm ước chung lớn nhất (UCLN) của hai số. Program UCLN; uses crt; var a,b, sl, sn, r : byte; begin clrscr; writeln('CHUONG TRINH TIM UCLN CUA HAI SO'); write('Nhap a: ') ; readln(a); write('Nhap b: ') ; readln(b); If b > a then begin sn :=a ; sl := b; end else begin sn :=b ; sl := a; end; r := sl mod sn; while r 0 do begin sl := sn ; sn := r ; r := sl mod sn ; end; write('UCLN cua hai so (‘, a, ‘,’,b,’) la: ', sn); readln end. PHIẾU HỌC TẬP 10 Viết chương trình tính tổng n các số tự nhiên đầu tiên nhỏ nhất lớn hơn 50 Program Ct; Uses crt; Var S,I : integer; Begin S :=0 ; n :=1; While s <= 50 do Begin S:=s+n; n:=n+1; End; Writeln(‘so n nho nhat de tong >50 la:’, n - 1); Writeln(‘tong dau tien lon hon 50 la:’, s ); Readln End.
Tài liệu đính kèm: