Chào bạn Tin học lớp 6 trang 86 sách Cánh diều Show Giải bài tập Tin học 6 bài 3: Cấu trúc rẽ nhánh trong thuật toán sách Cánh diều giúp các em học sinh lớp 6 có thêm nhiều tư liệu tham khảo, đối chiếu lời giải hay, chính xác để biết cách trả lời các câu hỏi trang 86→88. Tin học 6 bài 3 thuộc chủ đề F: Giải quyết vấn đề với sự trợ giúp của máy tính giúp các bạn học sinh nắm vững kiến thức về cấu trúc rẽ nhánh trong thuật toán là gì và khi nào trong thuật toán có cấu trúc rẽ nhánh. Vậy sau đây là nội dung chi tiết bài soạn Tin 6 bài 3 Cấu trúc rẽ nhánh trong thuật toán, mời các bạn cùng theo dõi. Cấu trúc rẽ nhánh trong thuật toán- Khi phải dựa trên điều kiện cụ thể nào đó để xác định bước thực hiện tiếp theo trong quá trình thực hiện thuật toán thì cần cấu trúc rẽ nhánh. - Ví dụ: trong tiết học thể dục tuần sau GV yêu cầu HS: + Nếu trời mưa thì học trong lớp. + Nếu trời khô ráo thì học ngoài trời. 2. Thể hiện cấu trúc rẽ nhánhCó thể dùng sơ đồ ở Hình 2 để mô tả cấu trúc rẽ nhánh ở Hình 1b. Nếu dùng sơ đồ mô tả cấu trúc rẽ nhánh khuyết ở Hình 3b, em sẽ vẽ sơ đồ đó như thế nào? Luyện tậpBài 1: Quy trình tính số tiền được giảm từ cho khách hàng mua sách truyện thiếu niên ở hiệu sách Người máy 1. Tính Tổng số tiền sách khi chưa tính giảm giá) , gọi số đó là Tổng số tiền sách2. Nếu Tổng số tiền sách >= 500.000 đồng; số tiền được giảm là 10% của Tổng số tiền sách 3. Nếu Tổng số tiền sách < 500.000 đồng; số tiền được giảm là 5% của Tổng số tiền sách Bài 2: Trong các phát biểu sau về biểu thức điều kiện ở cấu trúc rẽ nhánh, phát biểu nào đúng, phát biểu nào sai ? Vì sao? 1. Phải là một biểu thức so sánh giá trị bằng 2. Phải là một biểu thức so sánh giá trị lớn hơn, nhỏ hơn 3. Khi kiểm tra phải cho kết quả là "đúng" hoặc "sai" Trả lời: Bài 1: Bài 2: 1. Phải là một biểu thức so sánh giá trị bằng => Sai, phải là biểu thức so sánh 2. Phải là một biểu thức so sánh giá trị lớn hơn, nhỏ hơn => Đúng 3. Khi kiểm tra phải cho kết quả là "đúng" hoặc "sai" => Đúng Vận dụngEm hãy sử dụng mẫu thể hiện cấu trúc rẽ nhánh để mô tả thuật toán giải bài toán: Cho ba đồng xu trong đó có một đồng xu giả nhẹ hơn. Dùng cân thăng bằng để tìm đồng xu giả Trả lời: Mẫu thể hiện cấu trúc rẽ nhánh là: Cân thăng bằng có hai bên, gọi lần lượt là bên A và bên B, ta cho mỗi lần hai đồng xu lên hai bên cân A và B, ta có + Nếu Bên A = B =>Hai đồng xu đều là thật + Trái lại: Bên Một trong hai bên nhẹ hơn bên còn lại =>Bên nhẹ hơn chứa đồng xu giả + Hết nhánh Câu hỏi tự kiểm traTrong các phát biểu sau về thuật toán, phát biểu nào đúng? 1. Dùng cấu trúc rẽ nhánh nếu có quá nhiều việc cần làm 2. Dùng cấu trúc rẽ nhánh khi có các trường hợp khác nhau cần xem xét, trường hợp khác nhau thì thực hiện việc khác nhau 3. Để thể hiện cấu trúc rẽ nhánh cần dùng mẫu "Nếu.... Trái lại..." 4. Cấu trúc rẽ nhánh luôn kết thúc với dấu hiệu "Hết nhánh". Trả lời: Phát biểu đúng là: 3. Để thể hiện cấu trúc rẽ nhánh cần dùng mẫu "Nếu.... Trái lại..." 4. Cấu trúc rẽ nhánh luôn kết thúc với dấu hiệu "Hết nhánh". Trang này hướng dẫn các em cách thực hiện từng nhiệm vụ học tập đã nêu. Để việc học tập đạt hiệu quả, thực hiện được các nhiệm vụ, các em có thể thành lập các nhóm để cùng bàn luận. Bên cạnh đó, các em có thể trao đổi, bình luận về bài học tại đây thông qua chức năng gửi comment (bình luận). Dưới đây là hướng dẫn cách thực hiện từng nhiệm vụ. 1. Nhiệm vụ 1: Quan sát hoạt động của một số phần mềm, hệ thống trong thực tế có sử dụng cấu trúc rẽ nhánh. Từ đó rút ra vai trò và ý nghĩa của cấu trúc rẽ nhánh a) Đăng nhập vào trang mạng xã hội Facebook tại địa chỉ: http://www.facebook.com
Facebook sẽ chuyển đến địa chỉ hoặc thông điệp gì? Theo em, nguyên nhân nhận được thông điệp là gì? Thông điệp em nhận được có tương tự video dưới đây không?
b) Đăng nhập vào windows (nếu em sử dụng máy vi tính), nhập mã PIN để mở khóa điện thoại (nếu em sử dụng điện thoại) trong theo các trường hợp: mật khẩu / mã PIN đúng hoặc sai. Ghi lại kết quả đăng nhập dưới dạng câu điều kiện: NẾU ...... THÌ Qua việc quan sát 2 ví dụ thực tế về sự hoạt động của phần mềm và hệ thống có sử dụng cấu trúc rẽ nhánh, em hãy trả lời câu hỏi sau:
2. Nhiệm vụ 2: Tìm hiểu sơ đồ thuật toán câu lệnh điều kiện. Vẽ sơ đồ thuật toán chương trình giải phương trình bậc 2
Trong sơ đồ khối, người ta sử dụng 4 ký hiệu chính để diễn tả thuật toán của chương trình:
Các tình huống liên quan đến rẽ nhánh của chương trình giải phương trình bậc 2 căn cứ theo giá trị của biệt số delta. 3. Nhiệm vụ 3: Tìm hiểu về cấu trúc lệnh rẽ nhánh trong ngôn ngữ Pascal Tham khảo cấu trúc lệnh rẽ nhánh dạng thiếu và đủ của ngôn ngữ Pascal trong bài 9, sách Tin học 11 (trang 39 và 40). Dưới đây là thông tin trợ giúp các em tìm hiểu bài học. a) Cấu trúc rẽ nhánh dạng thiếu: If <điều kiện> Then <câu lệnh;> Ý 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.
b) Cấu trúc rẽ nhánh dạng đủ If <điều kiện> Then <Câu lệnh 1> Else <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: Em hãy chạy chương trình ví dụ để thử cấu trúc lệnh: Program vidu2; Var a : integer; Begin write('Nhập a:'); readln(a); if (a mod 2) = 0 then write('a là số chẵn') else write('a là số lẻ'); end.
Em hãy tự rút ra kết luận cho riêng mình về ý nghĩa và lấy các ví dụ về lệnh rẽ nhánh. Viết lệnh để xử lý lỗi của đoạn tính nghiệm x1, x2 của phương trình bậc 2 khi delta nhỏ hơn 0; 4. Nhiệm vụ 4: Tìm hiểu về câu lệnh ghép trong Pascal a) Chạy thử chương trình giải phương trình bậc 2 với bộ dữ liệu: a = 1, b = 3, c = 1 (em có thể chạy chương trình trên máy tính của mình bằng FreePascal hoặc chạy trực tuyến từ trang http://ideone.com) Program giaiptbac2; Var x1, x2 : real; delta : real; a, b, c : real; Begin write('Nhập a, b, c: '); readln(a, b, c); delta := b*b - 4*a*c; { tính delta } if (delta >= 0) then x1 := (-b + sqrt(delta)) / (2*a); if (delta >= 0) then x2 := (-b - sqrt(delta)) / (2*a); writeln('Nghiệm x1 = ', x1); writeln('Nghiệm x2 = ', x2); readln; End. b) Nhận xét về biểu thức điều kiện của câu lệnh tính giá trị nghiệm x1 và x2? c) Chạy thử chương trình sửa đổi sau với bộ dữ liệu: a = 2, b = 1, c = 5 Program giaiptbac2; Var x1, x2 : real; delta : real; a, b, c : real; Begin write('Nhập a, b, c: '); readln(a, b, c); delta := b*b - 4*a*c; { tính delta } if (delta >= 0) then x1 := (-b + sqrt(delta)) / (2*a); x2 := (-b - sqrt(delta)) / (2*a); { lệnh này có phải lệnh rẽ nhánh? } writeln('Nghiệm x1 = ', x1); { hiển thị nghiệm x1 } writeln('Nghiệm x2 = ', x2); readln; { dừng màn hình để xem kết quả } End. Mở phụ lục cuối SGK để tra cứu mã lỗi #207 khi chạy chương trình. d) Thêm "begin" sau "then" và "end;" sau lệnh tính nghiệm x2 và chạy lại chương trình. Program giaiptbac2; Var x1, x2 : real; { biến lưu nghiệm phương trình } delta : real; { biệt số delta } a, b, c : real; { các hệ số a, b, c } Begin write('Nhập a, b, c: '); readln(a, b, c); { nhập các hệ số a, b, c } delta := b*b - 4*a*c; { tính delta } if (delta >= 0) then begin x1 := (-b + sqrt(delta)) / (2*a); x2 := (-b - sqrt(delta)) / (2*a); writeln('Nghiệm x1 = ', x1:6:2); writeln('Nghiệm x2 = ', x2:6:2); end else writeln('PHUONG TRINH VO NGHIEM'); readln; { dừng màn hình để xem kết quả } End. Chương trình còn báo lỗi #207 không? Kết quả chạy chương trình của em có tương tự như video dưới đây không? e) Tham khảo SGK, mục "câu lệnh ghép" của bài học để biết cách xây dựng câu lệnh ghép và ý nghĩa của câu lệnh ghép.
f) Hãy giải thích ý nghĩa của câu lệnh ghép đối với chương trình trong bước (d) của nhiệm vụ 4. Nhiệm vụ 5: Hoàn thiện webquest của bài học.
|