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ình dưới đây giải thích ý nghĩa của hai dòng lệnh trong chương trình. Hãy dự đoán khi thực hiện chương trình...
- Các em hãy sửa lại chương trình trên để màn hình kết quả có dạng như sau:
- Giải vnen tin 8 bài 2: Thực hành làm quen với Scratch
- Em hãy thực hiện lại chương trình ở mục B.3 và nhập vào giá trị của R là 3.141592. Hãy cho biết kết quả hiển thị...
- Chương trình ở hình bên thực hiện nhiệm vụ gì? Hãy chỉ ra từng loại biểu thức trong chương trình.
- Hãy sắp xếp các biểu tượng công cụ sau đây theo các nhóm...
- Hãy cho biết sau khi thực hiện chương trình sau, con cánh cam có hướng tương ứng với hình nào?...
- Trong các câu lệnh gán dưới đây, từng biến thuộc kiểu dữ liệu nào? Những biểu thức nào...
- Em hãy viết dòng khai báo phù hợp cho các biến sau đây: a, Biến a biểu diễn số học sinh...
- Chương trình Scracth dưới đây có điều khiển được nhân vật đưa ta chu vi và diện tích của hình tròn...
- Em hãy viết dòng khai báo phù hợp cho các hằng và biến sau đây a, Hằng số PI...
- 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....