Có bao nhiêu câu trúc rẽ nhánh trong ngôn ngữ lập trình
Đáp án chi tiết, giải thích dễ hiểu nhất cho câu hỏi: “Rẽ nhánh là gì?”cùng với kiến thức tham khảo do Top lời giảibiên soạn là tài liệu cực hay và bổ ích giúp các bạn học sinh ôn tập và tích luỹ thêm kiến thức bộ môn Tin học 11. Show Rẽ nhánh là gì?- Rẽ nhánh làcấu trúc dùng để diễn đạt một việc sẽ được thực hiện khi một điều kiện cụ thể được thỏa mãn. Kiến thức tham khảo về rẽ nhánh1. Rẽ nhánh (cấu trúc rẽ nhánh)- Rẽ nhánh bao gồm 2 loại: + Dạng thiếu: Nếu … thì Ví dụ: Nếu trời nắng thì chúng ta sẽ đi chơi. →Vậy nếu trời không nắng thì chúng ta làm gì còn chưa biết. + Dạng đủ: Nếu … thì …, nếu không thì. Ví dụ: Nếu trời nắng thì chúng ta sẽ đi chơi, nếu không thì chúng ta sẽ ở đọc truyện ở nhà. Vậy nếu trời không nắng chúng ta sẽ ở nhà đọc truyện. a. Cấu trúc rẽ nhánh dạng thiếu - If <điều kiện> Then - Ý nghĩa của cấu trúc lệnh: nếu biểu thức điều kiện giưa IF và THEN có giá trị TRUE thì câu lệnh sau THEN sẽ được thực hiện. Sơ đồ thuật toán: - Em hãy chạy chương trình ví dụ để thử cấu trúc lệnh: Program vidu1; Var a : integer; Begin write('Nhập a:'); readln(a); if (a mod 2) = 0 then writeln('a là số chẵn'); readln End. - Hãy nhập với a = 10; sau đó với a = 5 và nhận xét kết quả trên màn hình? - Hãy chỉ ra câu lệnh rẽ nhánh trong chương trình, chỉ ra biểu thức điều kiện, và câu lệnh được thực hiện - Lệnh rẽ nhánh trong chương trình có chức năng gì? b. Cấu trúc rẽ nhánh dạng đủ If <điều kiện> Then Else - Chú ý: sau câu lệnh 1 không có dấu chấm phảy (;). Dấu chấm phảy sau câu lệnh 2. - Ý nghĩa của cấu trúc lệnh: Nếu điều kiện đúng (TRUE) thì chạy câu lệnh sau THEN (câu lệnh 1), ngược lại (điều kiện sai - FALSE) thì chạy câu lệnh 2. Sơ đồ thuật toán: 2. Câu lệnh if-then- Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh if-then. Tương ứng với hai dạnh thiếu và đủ nói ở trên, Pascal có hai câu lệnh if-then. a) Dạng thiếu - if<điều kiện> then b) Dạng đủ -if<điều kiện> then Trong đó:
+ Điều kiện là biểu thức logic. + Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh của Pascal. - Ở dạng thiếu: điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng (có giá trị true) thì câu lệnh sẽ được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua. - Ở dạng đủ: điều kiện cũng được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh 1 sẽ được thực hiện, ngược lại thì câu lệnh 2 sẽ được thực hiện. Ví dụ: If d<=0 writeln(‘day la so duong’); If a mod3=0then writeln(‘a chia het cho3’) Else writeln(‘a khong chia het cho3’); 3. Câu lệnh ghép- Câu lệnh ghép là một câu lệnh được hợp thành từ nhiều câu lệnh thành phần (đơn hoặc kép). Câu lệnh ghép nhằm thực hiện thao tác gồm nhiều thao tác thành phần. Mỗi thao tác thành phần tương ứng với một câu lệnh đơn hoặc câu lệnh ghép khác. Về mặt ngôn ngữ lập trình, câu lệnh ghép là một trong các yếu tố để tạo khả năng chương trình có cấu trúc. - Câu lệnh ghép trong Pascal. Begin End; 4. Ví dụ- Tìm nghiệm thực của phương trình bậc hai: ax2 + bx + c = 0 , với a ≠ ≠ 0. Xây dựng ý tưởng: - Nhập 3 số a,b,c. - Tính: delta:=b*b-4*a*c. - Nếu delta<0 thì pt vô nghiêm, ngược lại thì phương trình có nghiệm. - Dùng câu lệnh if-then dạng đủ. Xác định bài toán: - Input: Các hệ số a, b, c nhập từ bàn phím. - Output: Đưa ra màn hình các nghiệm thực hoặc thông báo "Phuong trinh vo nghiem". program Giai_PTB2; uses crt; var a,b,c: real; D, x1, x2: real; begin clrscr; write(' a, b, c: '); readln(a, b, c); D:= b*b – 4*a*c; if D < 0 then writeln('Phuong trinh vo nghiem.') else begin x1:= (-b – sqrt(D))/(2*a); x2:= -b/a – x1; writeln(' x1 = ', x1: 8:3,' x2 = ', x2:8:3); end; readln end.
CẤU TRÚC RẼ NHÁNH TRONG LẬP TRÌNH PASCAL Tin học 11
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (232.56 KB, 23 trang ) SỞ GIÁO DỤC VÀ ĐÀO TẠO VĨNH PHÚC Câu lệnh rẽ nhánh dạng đủ: 1 If…Then…Else… Câu lệnh ghép Một số ví dụ 1 Bước 3. Xác định mục tiêu đầu ra cho bài học Chủ đề và nội dung học tập trên đây dựa trên chuẩn kiến thức kĩ năng sau: Kiến thức - Hiểu được câu lệnh rẽ nhánh (dạng thiếu và dạng đủ). - Hiểu được câu lệnh ghép. Kĩ năng: - Viết đúng các lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đủ. - Biết sử dụng đúng và có hiệu quả câu lệnh rẽ nhánh. Bước 4. Mô tả mức độ yêu cầu kiểm tra, đánh giá Bảng dưới đây xác định và mô tả 4 mức độ yêu cầu (nhận biết, thông hiểu, vận dụng, vận dụng cao) của mỗi loại câu hỏi/bài tập có thể sử dụng để kiểm tra, đánh giá năng lực và phẩm chất của học sinh trong dạy học chủ đề bài học “Câu lệnh rẽ nhánh trong lập trình Pascal” BẢNG THAM CHIẾU CÁC MỨC YÊU CẦU CẦN ĐẠT CỦA CÂU HỎI, BÀI TẬP KIỂM TRA, ĐÁNH GIÁ Nội dung 1. Rẽ nhánh Loại câu hỏi/bài tập Câu hỏi/bài tập định Nhận biết Hs lấy được một số ví dụ Thông hiểu Hs chỉ ra và giải thích Vận dụng thấp Vận dụng cao tính về việc sử dụng ‘cấu trúc’ rẽ nhánh trong thực tế. Câu hỏi ND1.DT.NB1 2. Câu lệnh ifthen (dạng thiếu) Bài tập định lượng Bài tập thực hành Câu hỏi/bài Hs mô tả cấu tập định trúc, ý nghĩa tính lệnh if-then Bài tập định lượng Câu hỏi ND2.DT.NB1 Hs biết cơ chế hoạt động của câu lệnh rẽ nhánh if-then để chỉ ra được hoạt động một lệnh dạng cụ thể Câu hỏi ND2.DL.NB1 Bài tập thực hành 3. Câu Câu hỏi/bài Hs mô tả cấu được ‘cấu trúc’ rẽ nhánh trong tình huống thực tế. Câu hỏi ND1. DT. TH1 Hs chỉ ra được các thành phần của một câu lệnh if-then cụ thể Câu hỏi ND2.DT.TH1 Hs hiểu cơ chế hoạt động câu lệnh if-then để giải thích được hoạt động cụ thể Câu hỏi ND2.DL.TH 1 Hs sửa lỗi lệnh rẽ nhánh if-then trong chương trình quen thuộc có lỗi Câu hỏi ND2.TH.TH 1 Hs chỉ ra Hs viết được câu lệnh rẽ nhánh if-then thực hiện một tình huống quen thuộc Câu hỏi ND2.DL.VDT 1 Hs vận dụng câu lệnh rẽ nhánh if-then kết hợp các câu lệnh đã học để viết một chương trình hoàn chỉnh đơn giản Câu hỏi ND2.TH.VDT 1 lệnh ifthen (dạng đủ) tập định tính Bài tập định lượng trúc, ý nghĩa lệnh rẽ nhạnh dạng đủ Câu hỏi ND3.DT.NB1 Hs biết cơ chế hoạt động của rẽ nhánh ifthen-else để chỉ ra được hoạt động một lệnh if-thenelse cụ thể Câu hỏi ND3.DL.NB1 Câu hỏi ND3.DL.TH 1 Hs sửa lỗi lệnh if-thenelse trong chương trình quen thuộc Bài tập thực hành 4. Câu lệnh ghép Câu hỏi/bài tập định tính Bài tập định lượng được các thành phần của lệnh ifthen-else cụ thể Câu hỏi ND3.DT.TH1 Hs hiểu cơ chế hoạt động của lệnh if-thenelse để giải thích được hoạt động ifthen-else cụ thể Hs mô tả cấu trúc, ý nghĩa lệnh ghép Câu hỏi ND4.DT.NB1 Hs biết cơ chế hoạt động câu lệnh ghép để chỉ ra được hoạt động một lệnh ghép cụ thể Câu hỏi ND4.DL.NB1 Câu hỏi ND3.TH.TH 1 Hs chỉ ra được các thành phần một lệnh ghép cụ thể Câu hỏi ND4.DT.TH1 Hs hiểu cơ chế hoạt động lệnh ghép để giải thích một lệnh ghép cụ thể Hs viết được câu lệnh ifthen-else thực hiện một tình huống quen thuộc Câu hỏi ND3.DL.VDT 1 Hs vận dụng lệnh if-thenelse kết hợp câu lệnh đã học để viết chương trình đơn giản Câu hỏi ND3.TH.VDT 1 Hs viết được lệnh ghép thực hiện một tình huống quen thuộc Câu hỏi Bài tập thực hành Câu hỏi ND4.DL.TH 1 Hs sửa lỗi lệnh ghép trong chương trình quen thuộc có lỗi. Câu hỏi ND4.TH.TH 1 ND4.DL.VDT 1 Hs vận dụng lệnh ghép và câu lệnh khác đã học để viết một chương trình đơn giản Câu hỏi ND4.TH.VDT 1 Bước 5. Biên soạn các câu hỏi/bài tập/phiếu học tập Câu ND1.DT.NB1. Em hãy lấy một ví dụ dạng nếu-thì trong đời sống? Câu ND1.DT.TH1. Cho biết sơ đồ khối hình 5 sgk 39 thực hiện công việc gì? Câu ND2.DT.NB1. Trình bày cấu trúc, ý nghĩa if-then? Câu ND2.DT.TH1. Câu lệnh if-then nào sau đây viết đúng? a. If a>b then a:=b; b. If – then a>b,a:=b; c. If- then (a>b,a:=b); d. If (a>b) then a:-b; Câu ND2.DL.NB1. Xét lệnh: If a>b then write(a); Nếu a=7, b=6 thì lệnh kết quả trả về là? a. Không đưa ra gì b. 6 c. 7 d. 67 Câu ND2.DL.TH1. Xét lệnh: If a>b then a:=b; If a>c then a:=c; Write(a); Nếu a=7, b=6, c=8 thì kết quả trả về là? a. Không đưa ra gì b. 6 c. 7 d. 8 Câu ND2.DL.VDT1. Viết câu lệnh đưa ra giá trị nhỏ nhất trong hai số a,b? Câu ND2.TH.TH1. Hãy chỉ ra lỗi trong chương trình sau: Var a,b:longint; Begin Readln(a,b); If a>b then write(‘a lon hon b’); If a>c then write(‘a lon hon c’); Readln End. Câu ND2.TH.VDT1. Viết chương trình nhập hai số nguyên a,b. Tìm giá trị lớn nhất trong hai số a,b? Câu ND3.DT.NB1. Trình bày cấu trúc, ý nghĩa câu lệnh if-then-else? Câu ND3.DT.TH1. Câu lệnh nào viết đúng? a. If a>b then d:=a else d:=b; b. If a>b; then d:=a else d:=b; c. If a>b; then d:=a else d:=b d. If a>b then d:=a else d:=b Câu ND3.DL.NB1. Xét lệnh: If a>b then a:=a-b else a:=b-a; Nếu a=5, b=2 thì kết quả trả về là? a. Không đưa ra gì b. 1 c. 2 d. 3 Câu ND3.DL.TH1. Cho đoạn chương trình sau: Readln(a,b); If a>b then write(‘a lon hon b’) Else write(‘b lon hon a’); Hãy lấy giá trị a, b cho câu lệnh trên là đúng? Câu ND3.DL.VDT1. Viết đoạn chương trình sử dụng câu lệnh rẽ nhánh dạng đủ cho trường hợp delta>0 trong giải phương trình bậc 2? Câu ND3.TH.TH1. Hãy sửa lỗi sai trong đoạn chương trình sau: Readln(a,b,c); If a>b then d;=a else d:=b; If d>c then d:=c; Writeln(‘gia tri lon nhat 3 so la:’,d); Câu ND3.TH.VDT1. Viết chương trình giải phương trình bậc hai có sử dụng cấu trúc rẽ nhánh dạng đủ? Câu ND4.DT.NB1. Trình bày cấu trúc câu lệnh ghép? Câu ND4.DT.TH1. Chỉ lỗi sai trong đoạn chương trình sau: If a>b then Tg:=a; A:=b; B:=tg; End; Câu ND4.DL.NB1. Cho đoạn chương trình sau: If a>b then Tg:=a; A:=b; B:=tg; End; Với a=5, giá trị b=? Câu ND4.DL.TH1. Quan sát chương trình giải phương trình bậc hai trang 41 sgk, chỉ ra đâu là câu lệnh ghép, giải thích? Câu ND4.DL.VDT1. Hoàn thiện đoạn chương trình sau: If a>b then ………:=a; A:=……..; B:=tg; End; Câu ND4.TH.TH1. Cho chương trình viết bằng ngôn ngữ PASCAL sau đây : PROGRAM Inso; Uses crt; Var M, N, I : integer; BEGIN clrscr; M := 0 ; N := 0 ; For I := 1 TO 10000 do Begin if ( (I mod 3) = 0 ) then M := M + 1 ; if ( (I mod 3) = 0 ) and ( (I mod 5) = 0 ) then N := N + 1 ; End; writeln( M,‘ ’, N ); readln END. Phát biểu nào dưới đây về chương trình trên là đúng ? A. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3; B. Đây là chương trình đếm và thông báo ra màn hình rằng trong khoảng từ 1 đến 10000 có bao nhiêu số nguyên là bội số của 3 và có bao nhiêu số là bội số chung của 3 và 5; (*) C. Đây là chương trình đếm số các số nguyên nhỏ hơn 10000 và chia hết cho 3; D. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3 và 5; Câu ND4.TH.VDT1. Viết chương trình sử dụng câu lệnh ghép tìm nghiệm cho phương trình bậc nhất: ax+b=0 (a<>0). Bước 6. Thiết kế tiến trình dạy học TIẾN TRÌNH DẠY HỌC Chủ đề: Câu lệnh rẽ nhánh trong lập trình Pascal Tiết Tên bài và nội dung Hoạt động học tập của học sinh thứ ND1: Rẽ nhánh trong đời sống và các loại rẽ nhánh. ND2. Câu lệnh rẽ nhánh dạng thiếu: If- Then 1 ND3: Câu lệnh rẽ nhánh dạng đủ: If…Then…Else… 2 ND4: - Câu lệnh ghép -Một số ví dụ HĐ khởi động HĐ hình thành kiến thức và luyện tập HĐ vận dụng và tìm tòi, mở rộng HĐ hình thành kiến thức và luyện tập HĐ vận dụng và tìm tòi, mở rộng HĐ hình thành kiến thức và luyện tập HĐ vận dụng và tìm tòi, mở rộng Chú ý: Các hoạt động vận dụng và tìm tòi mở rộng có thể không thực hiện hết các nội dung được nêu trong bài học, và có thể hướng dẫn HS học ở nhà. 6.1. Tiến trình dạy học CẤU TRÚC RẼ NHÁNH (t1) Tiết 11 I. Mục tiêu Kiến thức: + Hiểu nhu cầu rẽ nhánh trong việc giải quyết các bài toán. + Hiểu cơ chế hoạt động của câu lệnh rẽ nhánh dang thiếu và dạng đủ. + Hiểu câu lệnh ghép. Kỹ năng: + Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản. + Viết được các lệnh rẽ nhánh dạng thiếu, dạng đủ và áp dụng để thể hiện được các thuật toán đơn giản. Thái độ: + Tiếp tục xây dựng lòng yêu thích giải toán bằng lập trình trên máy tính. + Rèn luyện phẩm chất của người lập trình: cẩn thận, sáng tạo… Năng lực hướng tới: + Mô hình hóa các tình huống thực tiễn xảy ra phụ thuộc vào điều kiện theo cấu trức rẽ nhánh trong môn tin học. + Diễn tả thuật toán cấu trúc rẽ nhánh trên ngôn ngữ lập trình. II. Phương pháp dạy học, phương tiện dạy học chủ yếu - Dạy học theo quan điểm hoạt động - Sử dụng máy chiếu, slide bài giảng, SGK, máy tính cài đặt môi trường lập trình để minh họa, giấy khổ lớn và các bảng phụ III. Quá trình thực hiện bài giảng: 1. Ổn định lớp: - Kiểm tra sĩ số, ổn định lớp 2. Kiểm tra bài cũ: Không 3. Giảng bài mới: A. KHỞI ĐỘNG Hoạt động 1: Tìm hiểu rẽ nhánh trong đời sống thực tế (1) Mục tiêu: HS hiểu được nhu cầu sử dụng và ý nghĩa của câu rẽ nhánh trong đời sống cũng như trong việc giải quyết các bài toán. HS biết có hai loại rẽ nhánh: Rẽ nhánh dạng thiếu và rẽ nhánh dạng đủ. (2) Phương pháp/Kĩ thuật: Dạy học nêu vấn đề (learrning problem posing) (3) Hình thức tổ chức hoạt động: Cá nhân và thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu… (5) Sản phẩm: HS được giao nhiệm vụ tìm hiểu tình huống phát sinh cấu trúc rẽ nhánh thông qua bài toán cụ thể. Từ đó các em trả lời được phiếu câu hỏi được GV nêu ra. GV sẽ chính xác lại các câu trả lời của các HS (cá nhân hoặc nhóm) để các em hiểu được hai loại cấu trúc rẽ nhánh. Chú ý, chỉ ở cuối hoạt động này, GV mới liên hệ, đề cập ngay đến câu lệnh rẽ nhánh trong Pascal. Nội dung hoạt động Hoạt động của giáo viên GV đặt câu hỏi: Trong đời sống có rất nhiều việc chỉ thực hiện khi một điều kiện cụ thể nào đó được thỏa mãn Yêu cầu HS lấy ví dụ GV nhận xét và kết luận Hoạt động của học sinh HS: - Nếu chiều mai trời không mưa thì Châu sẽ đến nhà Ngọc (1) - Nếu chiều mai trời không mưa thì Châu sẽ đến nhà Ngọc, nếu mưa thì sẽ gọi cho Châu để trao đổi. (2) Hai dạng rẽ nhánh: + Dạng 1: gọi là dạng rẽ nhánh khuyếtthiếu Nếu....thì..... + Dạng 2: gọi là dạng rẽ nhánh đầy đủ Nếu....thì.....nếu không thì..... Ví dụ giải quyết bài toán thực tế: PHIẾU CÂU HỎI Quan sát vào 3 gói cước MI10, MI30, MI50 (1) Tính tiền cho khách hàng dùng X MB ở gói cước MI10? (2) Phát biểu cách tính tiền bằng ngôn ngữ tự nhiên? (3) Xây dựng thuật toán. Giáo viên chính xác câu trả lời của HS như sau: (1) X<= 50: Số tiền khách hàng phải trả là: 10.000đ X> 50: Số tiền khách phải trả là: 10.000 + 25 * (X-50)* 1024/50 (đ) (2) Nếu X<= 50 thì số tiền phải trả là 10 ngàn đồng Nếu X > 50 thì số tiền phải trả là 10 ngàn cộng thêm tiền phải trả cho số lưu lượng cước vượt khung (3) B1. Nhập X B2. Nếu X<= 50 thì số tiền phải trả là 10 ngàn đồng B3. Nếu X > 50 thì số tiền phải trả là 10 ngàn cộng thêm tiền phải trả cho số lưu lượng cước vượt khung. B4. Kết thúc. Giáo viên nhận xét Để viết chương trình cho máy tính thực hiện tính tiền cho khách hàng phải sử dụng câu lệnh rẽ nhánh. B. HÌNH THÀNH KIẾN THỨC Hoạt động 2: Tìm hiểu câu lệnh rẽ nhánh trong pascal (1) Mục tiêu: HS hiểu được ý nghĩa và hoạt động của 2 câu lệnh rẽ nhánh trong pascal (If – Then, if…then…else…) (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS phát biểu được hoạt động của If - Then. Nội dung hoạt động Hoạt động của giáo viên Hoạt động của học sinh Học sinh làm việc với SGK, trao đổi Học sinh làm việc với SGK, làm việc với bạn trong nhóm về: cá nhân, trao đổi kết quả với các bạn - Cấu trúc và hoạt động của câu lệnh trong lớp. if…then dạng thiếu. - Cấu trúc và hoạt động của câu lệnh if…then dạng đủ. Tổ chức cho các nhóm báo cáo Một nhóm báo cáo, các nhóm khác nhận xét và đánh giá. Giáo viên tổng hợp lại kiến thức(Ghi cụ thể nội dung lên Slide) 2. Câu lệnh If-then dạng thiếu Cp: If <điều kiện> Then Hđ: Nếu điều kiện đúng thì thực hiện câu lệnh. <điều kiện>: biểu thức lôgic HS lắng nghe, ghi chép, cập nhật vào sản phẩm học tập của nhóm mình. 3. Câu lệnh If-then dạng đủ Cp: If <điều kiện> Then Else Hđ: Nếu điều kiện đúng thì thực hiện câu lệnh 1, điều kiện sai thì thực hiện câu lệnh 2. Chú ý: Trước Else không có dấu ; C. LUYỆN TẬP - VẬN DỤNG Hoạt động 3: Xây dựng chương trình giải bài toán Tính tiền cho khách hàng dùng X MB ở gói cước MI10 (1) Mục tiêu: HS tham gia xây dựng được chương trình thể hiện thuật toán sử câu lệnh IF - THEN để giải quyết bài toán quen thuộc. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS trả lời được phiếu câu hỏi, từ đó các em có thể xây dựng được chương trình giải quyết bài toán quen thuộc bằng cách sử dụng câu lệnh rẽ nhánh IF - THEN. Nội dung hoạt động PHIẾU CÂU HỎI Để tiến đến cài đặt chương trình hoàn chỉnh cho sơ đồ thuật toán giải bài toán: Tính tiền cho khách hàng dùng X Mb ở gói cước MI10, hãy thực hiện các công việc sau: (1) Viết đoạn trình nhập số nguyên X từ bàn phím. (2) Viết đoạn trình thể hiện việc tính số tiền phải trả như đã mô tả trong thuật toán bằng cách sử dụng câu lệnh IF- THEN trong 2 trường hợp. Hoàn thiện chương trình giải bài toán dưới đây: #1: program GoicuocMI10; #2: uses crt; #3: var X:Real; #4: begin #5: clrscr; #6: …………..; #7: …………..; #8: …………..; #9: …………..; #10: …………..; #11: end. Hoạt động 4: Trả lời câu hỏi về câu lệnh rẽ nhánh (1) Mục tiêu: HS hiểu rõ cách sử dụng câu lệnh rẽ nhánh IF - THEN. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS trả lời được các câu hỏi trắc nghiệm về câu lệnh IF – THEN (Mức độ hiểu và vận dụng thấp) Nội dung hoạt động Câu 1. Hãy chọn câu trả lời đúng trong các phương án trả lời dưới đây: Trong câu lệnh IF<điều kiện> THEN khi A. <Điều kiện> được tính toán xong; B. <điều kiện>được tính toán xong và cho kết quả sai; C. <điều kiện>được tính toán xong và cho kết quả đúng; < D. <Điều kiện> không tính toán được; Câu 2. Hãy chỉ ra câu trả lời sai trong các câu trả lời dưới đây: Trong câu lệnh IF<điều kiên> THEN A. điều kiện điều khiển rẽ nhánh là biểu thức logic; B. quả đúng. C. quả sai. D. quả sai. Câu 3. Cho chương trình sau: Uses crt; var x : integer; begin write(‘nhap vao mot so nguyen:’) ; readln(x) ; if x MOD 2 = 0 then writeln (‘so vua nhap la so chan ‘) else writeln (‘so vua nhap la so le ‘); readln(a); end. Chức năng của chương trình là: A. Kiểm tra một số nguyên là chẵn hay lẻ. B. Bin ra màn hình số chẵn hay lẻ C. Nhập một số nguyên từ bàn phím và in ra màn hình số đó là chẵn hay lẻ D. Nhập một số nguyên từ bàn phím và in số đó ra màn hình Chọn phương án ghép đúng nhất. D. TÌM TÒI, MỞ RỘNG Hoạt động 5: Sử dụng câu lệnh IF – THEN giải quyết một số bài toán. (1) Mục tiêu: HS thể hiện được câu rẽ nhánh IF - THEN trong các tình huống cụ thể. (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: Dưới sự hướng dẫn của GV, HS trả lời phiếu câu hỏi. Học sinh biết vận dụng câu lệnh lặp IF _ THEN để giải quyết các tình huống cụ thể (mức độ vận dụng thấp và cao). Nội dung hoạt động Hoạt động của giáo viên Hoạt động của học sinh - Chia lớp thành 8 nhóm học tập HS làm việc theo nhóm viết chương trình theo sự phân công trên khổ giấy đã chuẩn bị sẵn: - Yêu cầu làm vào giấy bìa trong khổ to Nhóm 1, 2: Đề 1 đã chuẩn bị trước Nhóm 3, 4: Đề 2 Nhóm 5, 6: Đề 3 Đề 1. Viết chương trình: Nhận vào 2 số nguyên không âm a và b viết lên màn hình Nhóm 7, 8: Đề 4 - Nêu yêu cầu và phát đề cho các nhóm. (Chỉ định nhóm trưởng) 2 số đó theo thứ tự tăng dần. Đề 2. Giả sử em A có tuổi là Ta, em B có tuổi là Tb (Ta<>Tb). Ai ít tuổi thì nhận gói kẹo to, ai nhiều tuổii nhận gói kẹo nhỏ. Viết chương trình: nhận vào tuổi của A và B. Viết lên màn hình ai nhận gói kẹo to ai nhận gói kẹo nhỏ Đề 3. Viết chương trình thực hiện phép chia a cho b với a và b là hai số thực bất kì nhận vào từ bàn phím. Đề 4. Viết chương trình tìm giá trị lớn nhất trong 2 số nguyên a, b nhận vào từ bàn phím. GV quan sát, giúp đỡ học sinh khi cần thiết HS làm việc nhóm Học sinh theo dõi và cùng chia sẻ kiến thức, phản biện… GV tổ chức cho học sinh báo cáo sản Các nhóm dùng nam châm ghim sản phẩm lên bảng, cử học sinh đại diện báo cáo, các nhóm còn lại trao đổi. phẩm, đánh giá hỗ trợ học sinh D. HƯỚNG DẪN HỌC Ở NHÀ - Ôn lại bài học hôm nay; Làm các bài tập 3.11, 3.12, 3.13 trong SBT trang 19; Đọc trước phần: “câu lệnh ghép" và tìm hiểu một số ví dụ 6.2. Tiến trình dạy học Tiết 12 CẤU TRÚC RẼ NHÁNH (t2) I. Mục tiêu 1. Kiến thức. - Học sinh nắm được cú pháp câu lệnh ghép. - Biết cách sử dụng đúng hai dạng cấu trúc rẽ nhánh trong lập trình: dạng thiếu và dạng đủ. 2. Kĩ năng. Bước đầu sử dụng được cấu trúc rẽ nhánh If ... then ... else ... trong ngôn ngữ lập trình Pascal để viết chương trình giải quyết được một số bài toán đơn giản. 3. Thái độ - Giúp học sinh hiểu rõ hơn tầm quan trọng của cấu trúc rẽ nhánh. - Làm cho học sinh thêm yêu thích lập trình, yêu thích môn học hơn. - Xác định thái độ nghiêm túc trong học tập khi làm quen với nhiều quy định nghiêm 4. Định hướng phát triển năng lực: - Mô hình hóa các tình huống thực tiễn xảy ra phụ thuộc vào điều kiện theo cấu trúc rẽ nhánh trong tin học. - Diễn tả thuật toán cấu trúc rẽ nhánh trên ngôn ngữ lập trình. - Năng lực tự học: Xác định nhiệm vụ khi học Tin học để phục vụ cho công việc. II. Phương pháp dạy học, phương tiện dạy học chủ yếu - Dạy học theo quan điểm hoạt động - Sử dụng máy chiếu, slide bài giảng, SGK, máy tính cài đặt môi trường lập trình để minh họa, giấy khổ lớn và các bảng phụ III. Quá trình thực hiện bài giảng: 1. Ổn định lớp: - Kiểm tra sĩ số, ổn định lớp 2. Kiểm tra bài cũ: (1) Mục tiêu: Kiểm tra kiến thức của bài học trước về câu lệnh rẽ nhánh (câu lệnh if-then và if-then-else) (2) Phương pháp/Kĩ thuật: Đàm thoại, vấn đáp. (3) Hình thức tổ chức hoạt động: Cá nhân và thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: Học sinh phân tích được các câu lệnh sử dụng cấu trúc rẽ nhánh để phát hiện được câu lệnh đúng, lệnh nào sai (mức độ vận dụng cao). Nội dung hoạt động Câu 1: Lệnh nào sau đây in ra màn hình số lớn nhất giữa A và B : a) If A > B then write(B) else write(A); b) If A > B then write(A) else write(B); c) If A > B then Readln(A) else Readln(B); d) If A < B then writeln(A) else writeln(B); Câu2: Cho N là biến kiểu nguyên, chọn câu đúng cú pháp : a) If N < 10 then write (' Nho hon 10 ') ; else write (' Lon hon 10 '); b) If N < 10 Write (' Nho hon 10 ') else then write (' Lon hon 10 '); c) If N < 10 then write (' Nho hon 10 ') else write (' Lon hon 10 '); d) If N < 10 then N := 10 else N > 20 then write (' N > 20 '); Câu 3: Kiểm tra nếu ba số a, b, c đều lớn hơn 1 thì in số 1, chọn lệnh nào : a) if (a > 1) and ( b > 1) and ( c > 1) then write(1); b) if (a > 1) or (b > 1) or (c > 1) then write(1); c) if a > 1 and b > 1 and c > 1 then write(1); d) if a, b , c đều > 1 then write(1); 3. Giảng bài mới: A. Tình huống xuất phát Hoạt động 1: Tìm hiểu tình huống thực tiễn dẫn đến lệnh ghép (1) Mục tiêu: HS hiểu được nhu cầu sử dụng và ý nghĩa của câu ghép trong việc giải quyết các bài toán. (2) Phương pháp/Kĩ thuật: Dạy học nêu vấn đề (learrning problem posing) (3) Hình thức tổ chức hoạt động: Cá nhân và thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu, các chương trình nguồn mẫu. (5) Sản phẩm: HS có nhu cầu tìm hiểu về câu lệnh ghép Nội dung hoạt động Hoạt động của giáo viên Hoạt động của học sinh Gv: Đặt vấn đề HS chú ý lắng nghe Khi giải phương trình bậc 2, nếu Delta dương (D>=0) chúng ta biết phương trình có 2 nghiệm. Chúng ta phải thực hiện 3 lệnh - Tính nghiệm X1 - Tính nghiệm X2 - Viết 2 nghiệm lên màn hình Gv: Như vậy trong thực tiễn, có những tình huống tương ứng với một khả năng của điều kiện, chúng ta phải viết nhiều hơn một lệnh. Gv: Trong Pascal, sau từ khóa then hoặc Else chỉ được viết một lệnh. Vậy gặp những trường hợp như trên bắt buộc chúng ta phải gộp các lệnh đó thành một. Pascal cho phép làm đều đó thật dễ dàng với câu lệnh ghép D. Hình thành kiến thức Hoạt động 2: Tìm hiểu câu lệnh ghép trong pascal (1) Mục tiêu: HS hiểu được ý nghĩa và cấu trúc của câu lệnh ghép (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: HS biết cú pháp và trường hợp sử dụng câu lệnh ghép. Nội dung hoạt động Hoạt động của giáo viên HS làm việc với sách giáo khoa, trao đổi với các bạn trong nhóm về: -Trường hợp sử dụng câu lệnh ghép - Cấu trúc câu lệnh ghép. Gọi HS lên trả lời Hoạt động của học sinh Học sinh làm việc với SGK, làm việc cá nhân, trao đổi với các bạn trong lớp. HS trả lời, các bạn khác nhận xét, đánh giá GV tổng kết lại kiến thức(Ghi cụ thể nội dung lên Slide) - TH sử dụng câu lệnh ghép:Trường hợp các thao tác sau một số từ khóa(như THEN hoặc ELSE) đòi hỏi nhiều câu lệnh để mô tả. HS lắng nghe, ghi chép bài. - Cú pháp: Begin End; C. Luyện tập – vận dụng Hoạt động 3: Viết chương trình một số bài toán có sử dụng câu lệnh ghép (1) Mục tiêu: HS có thể tham gia vào quá trình giải quyết bài toán mới bằng cách sử dụng câu ghép. (Mức độ hiểu và vận dụng thấp) (2) Phương pháp/Kĩ thuật: Đàm thoại, phát hiện; (3) Hình thức tổ chức hoạt động: Thảo luận nhóm. (4) Phương tiện dạy học: SGK, máy tính, máy chiếu. (5) Sản phẩm: Dưới sự hướng dẫn của GV, HS hoạt động theo nhóm. Nội dung hoạt động Hoạt động của giáo viên GV chia lớp thành 4 nhóm và phân công các nhóm viết chương trình - Nhóm 1, 3: VD1 trang 41 SGK - Nhóm 2, 4: VD2 T41 SGK GV quan sát, giúp đỡ HS khi cần thiết GV tổ chức cho HS báo cáo sản phẩm, đánh giá.. GV chiếu chương trình của 2 ví dụ D. Hoạt động tìm tòi, mở rộng Hoạt động của học sinh HS làm việc theo nhóm HS làm việc nhóm HS theo dõi và cùng chia sẻ kiến thức.. Các nhóm cử đại diện báo cáo, các nhóm còn lại trao đổi. HS theo dõi, cập nhật vào sản phẩm học tập của mình (1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình (2) Phương pháp: Làm việc cá nhân/ nhóm (3) Phương tiện dạy học: SGK, máy tính, máy chiếu (4) Sản phẩm: Học sinh tìm tòi báo cáo kết quả về quá trình tìm hiểu của mình Nội dung hoạt động Hoạt động của giáo viên Chiếu đoạn chương trình kiểm tra Delta (Slide ) Hoạt động của học sinh HS theo dõi Slide Khi Delta không âm (D>=0), chúng ta thấy thực tế nếu D= 0 thì phương trình có nghiệm kép X1=X2 (Chỉ cần 1 câu lệnh tính X). Vậy nên chăng, chúng ta phân biệt ra 3 trường hợp của Delta. Suy nghĩ, tìm hướng giải quyết. Có nghĩa là chúng ta sẽ kiểm tra 3 trường hợp của Delta. Vậy nếu sử dụng 2 câu lệnh If-then dạng đủ có thực hiện được không? Chúng ta có thể sử dụng cấu trúc If_then lồng nhau If_ then lồng nhau: If <điều kiện 1> then Else If <Điều kiện 2> then Else Chiếu đoạn chương trình sửa lại với việc dùng câu lệnh If-then lồng nhau để kiểm tra 3 trường hợp của Dellta (Slide) GV: Chiếu bài tập yêu cầu hs trả lời Cho hàm số: Nhóm lệnh nào tính đúng y : a) if x > 0 then b) if x <= -1 then y:=x ; y:=2*x +1 if x > -1 then else HS suy nghĩ trả lời. y:=Sin(x) if x <=0 then else y:=Sin(x) y:= 2*x+1; else y:=x; |