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?
Xem lời giải
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?
Xem lời giải
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:
Xem lời giải
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 |
Xem lời giải
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"
Xem lời giải
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');
Xem lời giải
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;
Xem lời giải
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;
Xem lời giải
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".
Xem lời giải
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?
Xem lời giải
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