BÀI 6: CÂU LỆNH ĐIỀU KIỆN

CÂU HỎI VÀ BÀI TẬP

Câu hỏi:

  1. Em hãy nêu một vài ví dụ về các hoạt động hàng ngày phụ thuộc vào điều kiện.

  2. Mỗi điều kiện hoặc biểu thức sau cho kết quả đúng hay sai?

a) 123 là số chia hết cho 3.

b) Nếu ba cạnh a,b và c của một tam giác thỏa mãn c2 > a2 + b2 thì tam giác đó có một góc vuông.

c) 152 > 200.

d) x2 < 1.

  1. Hai người bạn cùng chơi trò chơi đoán số. Một người nghĩ trong đầu một số tự nhiên nhỏ hơn 10. Người kia đoán xem bạn đã nghĩ số gì. Nếu đoán đúng, người đoán sẽ được cộng thêm 1 điểm, nếu sai sẽ không được cộng điểm. Luân phiên nhau nghĩ và đoán. Sau 10 lần, ai được nhiều điểm hơn, người đó sẽ thắng.

Hãy phát biểu quy tắc thực hiện một nước đi ở trò chơi. Hoạt động nào sẽ được thực hiện, nếu điều kiện của quy tắc đo thỏa mãn? Hoạt động nào sẽ được thực hiện, nếu điều kiện của quy tắc đó không thỏa mãn.

  1. Một trò chơi máy tính rất hứng thú đối với các em nhỏ là hứng trứng. Một quả trúng rơi từ một vị trí ngẫu nhiên trên cao. Người chơi dùng các phím mũi tên → hoặc ← để điều khiển một chiếc khay di chuyển theo chiều ngang để hứng quả trúng.

Mỗi lần người chơi phím mũi tên ( hoặc ) thì chiếc khay sẽ dịch chuyển (sang phải hoặc sang trái) một đơn vị khoảng cách. Nếu người chơi không nhấn phím khác hai phím nói trên thì chiếc khay sẽ đứng yên.

Điều kiện để điều khiển chiếc khay trong trò chơi là gì? Hoạt động nào sẽ được thực hiện, nếu điều kiện đó thỏa mãn? Hoạt động nào sẽ được thực hiện, nếu điều kiện đó không thỏa mãn?

  1. Các câu lệnh Pascal sau đây được viết đúng hay sai?

a) if x:=7 then a:=b;

b) if x > 5; then a:=b;

c) if x > 5 then; a:=b;

d) if x > 5 then a:=b; m:=n;

e) if x > 5 then a:=b; else m:=n;

f) if n > 0 then begin a:=0; m:=-1 end else c:=a;

  1. 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;

  1. Giả sử cần viết chương trình nhập một số tự nhiên vào máy tính và in ra màn hình kết quả số đã nhập chẵn hay lẻ, chẳng hạn “5 là số lẻ”, “8 là số chẵn”. Hãy mô tả các bước của thuật toán để giải quyết bài toán trên và viết chương trình Pascal để thực hiện thuật toán đó.

Trả lời:


Vài ví dụ về các hoạt động hàng ngày phụ thuộc vào điều kiện là:

Vd1. Nếu em bị ốm thì em sẽ không tập thể dục buổi sáng

• Điều kiện : Em bị ốm

• Hoạt động : em sẽ không tập thể dục buổi sáng

Vd2. Nếu sáng thứ hai không mưa thì lớp em sẽ sinh hoạt dưới cờ

• Điều kiện : sáng thứ hai không mưa

• Hoạt động : lớp em sẽ sinh hoạt dưới cờ


a) Đúng.

b) Sai. Vì c2 = a2 + b2 thì tam giác đó mới có góc vuông.

c) Đúng

d) Đúng nếu x=0 và Sai nếu x ≠ 0


Qui tắc của trò chơi:

  • Nếu người thứ nhất đoán đúng thì điểm sẽ tăng lên 1 điểm, nếu sai không bị trừ điểm rồi đến lượt người thứ hai đoán.

  • Nếu người thứ hai đoán đúng điểm sẽ tăng lên 1, nếu sai không bị trừ điểm rồi quay về lượt của người thứ nhất. Kết thúc 1 lượt đoán.

  • Sau 10 lượt đoán, nếu ai được nhiều điểm hơn thì người đó sẽ thắng.


  • Điều kiện để điều khiển chiếc khay trong trò chơi : người chơi nhấn phím mũi tên hoặc

  • Nếu điều kiện thỏa mãn (người chơi nhấn phím hoặc ) : biểu tượng chiếc khay sẽ di chuyển sang phải hoặc sang trái một đơn vị khoảng cách;

  • Nếu điều kiện không thỏa mãn (một phím khác ngoài hai phím mũi tên trên được nhấn), chiếc khay vẫn giữ nguyên vị trí.


a) Sai. Sửa lại: if x=7 then a:=b;

b) Sai Sửa lại: if x > 5 then a:=b;

c) Sai Sửa lại: if x > 5 then a:=b;

d) Đúng.

e) Sai Sửa lại: if x > 5 then a:=b else m:=n;

f) Đúng


a) Vì 45 chia hết cho 3, điều kiện được thỏa mãn nên giá trị của X được tăng lên 1, tức bằng 6;

b) Điều kiện không được thỏa mãn nên câu lệnh không được thực hiện, tức X giữ nguyên giá trị 5.


Thuật toán chương trình:

  • Bước 1: Nhập một số tự nhiên n và một biến m.

  • Bước 2: Gán giá trị m=n mod 2.

  • Bước 3: Nếu m=0 thì đấy là số chẵn, ngược lại thì đấy là số lẻ.

  • Bước 4. Kết thúc thuật toán.

Chương trình Pascal:

TÌM HIỂU MỞ RỘNG

Câu hỏi:

  1. Các câu lệnh điều kiện có thể sử dụng lồng nhau như trong ví dụ sau:

Ví dụ: Cho hai số thực a và b. Đoạn chương trình sau in kết quả so sánh hai số đó ra màn hình, chẳng hạn "a>b" , "a<b", hoặc "a=b":

if a>b then writeln ('a>b') else

if a=b then writeln ('a=b') else writeln ('a<b');

  1. Em hãy tìm hiểu thêm các ví dụ khác về các trường hợp sử dụng các câu lệnh lồng nhau.

  2. Mỗi câu lệnh điều kiện đủ có thể được thay thế tương đường bằng hai câu lệnh điều kiện thiếu. Em hãy thử làm điều đó với một câu lệnh điều kiện đủ.

Trả lời:

2.

Ví dụ về các trường hợp sử dụng các câu lệnh lồng nhau là:

  • Bài toán:

T: Tổng số tiền mua sách, SUM: tổng số tiền thanh toán

Nếu T> 200000 thì SUM được giảm 30%, nếu 200000>T>100000 thì SUM được giảm 10%, nếu T<100000 thì không giảm (SUM=T)

  • Chương trình Pascal

if T > 200000 then SUM:=70% * T

else if T<100000 then SUM:=T else SUM:=90% * T;

3.

  • Câu lệnh điều kiện dạng đủ:

if b <> 0 then x:=a/b else write(‘Khong chia duoc’);

  • Câu lệnh điều kiện dạng thiếu:

if b <> 0 then x:=a/b;

if b=0 then write(‘Khong chia duoc’);

Video bài giảng tin học lớp 8 - Bài 6: