Giải vnen tin 8 bài 8: Cấu trúc rẽ nhánh
Giải bài 8: Cấu trúc rẽ nhánh - Sách VNEN tin học lớp 8 trang 133. Phần dưới sẽ hướng dẫn trả lời và giải đáp các câu hỏi trong bài học. Cách làm chi tiết, dễ hiểu, Hi vọng các em học sinh nắm tốt kiến thức bài học.
B. BÀI TẬP VÀ HƯỚNG DẪN GIẢI
Kiến thức thú vị
A. Hoạt động khởi động
Xét bài toán dưới đây và trả lời các câu hỏi:
Bài toán: Bạn Anh Quân muốn viết một chương trình để máy tính làm trọng tài cho một trò chơi. Người chơi thứ nhất sẽ nhập vào máy tính một số nguyên dương nào đó. Người chơi thứ hai phải nhập vào máy một ước số của số đó. Nếu người thứ hai nhập số đúng (là ước số mà người thứ nhất chọn) thì máy tính phải in ra màn hình dòng chữ "HOAN HO BAN", trường hợp ngược lại (số của người thứ hai không là ước của số do người thứ nhất đã chọn) thì máy tính in ra màn hình dòng chữ "SAI ROI".
Câu hỏi:
a, Để giải quyết bài toán trên, em có đồng ý với thuật toán của bạn Thùy Anh ở hình bên không?
b, Em có thể hiện được thuật toán này trong môi trường Scratch không?
c, Dòng chữ "HOAN HO BAN" sẽ được hiển thị trong điều kiện nào?
B. Hoạt động hình thành kiến thức
1. Cấu trúc rẽ nhánh
a, Xét bài toán dưới đây. Thuật toán của mỗi bài đều được mô tả theo hai cách. Em hãy tìm ghép đúng hai cách mô tả thuật toán với bài toán tương ứng bằng cách đánh dấu vào bảng bên dưới.
b, Trong mô tả của hai thuật toán trên, có một thuật toán chỉ thể hiện "cấu trúc tuần tự", còn thuật toán kia thể hiện "cấu trúc rẽ nhánh". Theo em thuật toán nào có thể hiện cấu trúc rẽ nhánh?
d, Dưới đây là hai mô tả thuật toán trong môi trường Scratch, em hãy cho biết thuật toán nào có cấu trúc rẽ nhánh dạng đủ và thuật toán nào có cấu trúc rẽ nhánh dạng thiếu:
2. Biểu diễn điều kiện
Em hãy viết các biểu thức điều kiện tương ứng với các phát biểu điều kiện đã cho
| Phát biểu điều kiện | Biểu thức điều kiện trong Pascal |
| a không nhỏ hơn b | |
| k lớn hơn hay bằng m và q nhỏ hơn n | |
| biến OK (thuộc kiểu boolean) có giá trị đúng |
3. Câu lệnh điều kiện trong Pascal
Bài toán 1: Hãy chuyển mô tả thuật toán sau thành một đoạn chương trình Pascal
Bước 1: Nhập 2 số thực a, b
Bước 2: Nếu a = b thì thông báo "Cần nhập hai số khác nhau"
Bài toán 2: Hãy điền vào chỗ trống sao cho kết quả nhận được là đoạn chương trình Pascal thể hiện thuật toán trong mô tả A (hoặc mô tả D) ở mục B.1 trên đây:
Readln (a); Readln (b);
If .............. then writeln (b) ............ writeln (a);
write ('Goodbye');
C. Hoạt động luyện tập
Bài tập 1: Hãy cho biết trong các câu lệnh Pascal sau đây, câu nào không hợp lệ và giải thích lý do.
a, if x := a then x := x + 1;
b, if x = a then x := x + 1;
c, if a > b then max := a; else max := b;
d, if a > b then max := a else max := b;
Bài tập 2: Với mỗi câu lệnh sau đây giá trị của biến x sẽ là bao nhiêu, nếu trước đó giá trị của x bằng 5?
a, if (45 mod 3) = 0 then x := x + 1;
b, if x > 10 then x := x + 1 else x := x - 1;
Bài tập 3: Hãy viết chương trình nhập chiều cao của hai bạn Anh Quân và Thùy Anh, in ra màn hình kết quả so sánh chiều cao của hai bạn, chẳng hạn "Bạn Anh Quân cao hơn" hay "Bạn Thùy Anh cao hơn".
D. Hoạt động vận dụng
Một hiệu sách thực hiện đợt khuyến mãi lớn với chính sách khuyến mãi như sau: Khách hàng nào mua sách với tổng số tiền từ 100 nghìn đồng trở lên sẽ được giảm 30%. Trường hợp ngược lại, những khách hàng mua với tổng số tiền nhỏ hơn 100 nghìn đồng chỉ được giảm 10%. Giả sử các bạn trong nhóm em chọn mua sách khách nhau những mỗi người đều mua 5 quyển. Em có thể viết một chương trình Pascal để tính số tiền phải trả cho hiệu sách của mỗi bạn không?
E. Hoạt động tìm tòi mở rộng
Bạn Thùy Anh mô tả một thuật toán bằng sơ đồ dưới đây. Trong sơ đồ, ta thấy cấu trúc rẽ nhánh với điều kiện "a=b" có câu lệnh 2 lại là một cấu trúc rẽ nhánh nữa. Trường hợp như vậy được gọi là cấu trúc rẽ nhánh lồng nhau, tức là câu lệnh trong một nhánh rẽ của thuật toán lại là một câu lệnh điều khiển khác nữa. Với câu lệnh IF-THEN ở Pascal em vẫn có thể biểu diễn được cấu trúc rẽ nhánh lồng nhau như vậy. Nếu em viết được đoạn chương trình Pascal để diễn đạt thuật toán mô tả bằng sơ đồ đã cho trên đây, Hãy chia sẻ với bạn và báo cáo với thầy cô thành công của em
Xem thêm bài viết khác
- Hãy gỡ bỏ lệnh move trong chương trình (bằng cách kéo thả trở lại khung điều khiển)...
- Giải vnen tin 8 bài 1: Giải bài toán bằng máy tính
- Theo em khi học một ngôn ngữ lập trình, có gì giống và khác so với quá trình học một ngoại ngữ?
- Em hãy cho biết trong hai đoạn chương trình sau, lệnh nào sai và sai chỗ nào?
- Em hãy cho biết một biến kiểu CHAR chiếm bao nhiêu byte trong bộ nhớ
- Giải vnen tin 8 bài 1: Vẽ hình với phần mềm Geogebra
- Theo quy ước đặt tên của ngôn ngữ lập trình pascal, em hãy chỉ ra tên nào không hợp lệ
- Viết chương trình điều khiển nhân vật mèo chuyển động ngẫu nhiên trên màn hình...
- Hãy sửa lại chương trình để nó điều khiển quả bóng chuyển động liên tục qua 4 vị trí A, B, C, D một số lần nào đó
- Giả thiết a và b là biến kiểu Integer, em hãy cho biết lệnh sau đây nhằm thực hiện việc gì?...
- Biểu thức Pascal nào dưới đây biểu diễn chính xác biểu thức toán học...
- Cần chèn thêm lệnh play sound meow vào vị trí nào trong chương trình ở bài thực hành 1...