Tin học 8 Bài 6: Câu lệnh điều kiện
Lý thuyết tổng hợp Tin học lớp 8 Bài 6: Câu lệnh điều kiện chọn lọc năm 2021 – 2022 mới nhất gồm tóm tắt lý thuyết và hơn 500 bài tập ôn luyện Tin 8. Hy vọng bộ tổng hợp lý thuyết Tin học lớp 8 sẽ giúp học sinh củng cố kiến thức, ôn tập và đạt điểm cao trong các bài thi trắc nghiệm môn Tin học 8.
Bài 6: Câu lệnh điều kiện
A. Lý thuyết
• Nội dung chính
- Cấu trúc rẽ nhánh và hai dạng cấu trúc rẽ nhánh.
- Câu lệnh điều kiện thể hiện cấu trúc rẽ nhánh.
1. Hoạt động phụ thuộc vào điều kiện
- Là việc điều chỉnh hành động tùy theo hoàn cảnh cụ thể.
- Ví dụ:
- Khi kết quả là đúng, ta nói điều kiện được thỏa mãn
- Khi kết quả là sai, ta nói điều kiện không thỏa mãn.
2. Điều kiện và phép so sánh
- Điều kiện được biểu diễn bằng phép so sánh, phép so sánh cho kết quả đúng có nghĩa điều kiện được thỏa mãn; ngược lại, điều kiện không được thỏa mãn.
- Để so sánh 2 giá trị số hoặc 2 biểu thức, sử dụng các kí hiệu toán học. các phép so sánh sẽ cho kết quả là đúng hoặc sai.
3. Cấu trúc rẽ nhánh
- Là cấu trúc khi một điều kiện cụ thể nào đó được thỏa mãn thì chương trình sẽ thực hiện 1 lệnh; ngược lại, nếu điều kiện không thỏa mãn thì câu lệnh bị bỏ qua.
- Cấu trúc rẽ nhánh cho phép thay đổi thứ tự thực hiện tuần tự các bước của thuật toán.
- Gồm 2 loại:
+ Cấu trúc rẽ nhánh dạng thiếu
+ Cấu trúc rẽ nhánh dạng đủ.
- Xét 2 ví dụ:
Ví dụ 1: Một hiệu sách thực hiện đợt khuyến mãi lớn với nội dung sau: Nếu mua sách với tổng số tiền ít nhất là 100 nghìn đồng, khách hàng sẽ được giảm 30% tổng số tiền phải thanh toán.
Mô tả hoạt động tính tiền cho khách:
- B1: Tính tổng số tiền T khách hàng đã mua sách
- B2: Nếu T ≥ 100000, số tiền phải thanh toán là \(70\% \times T\)
- B3: In hoá đơn
Ví dụ 2: Trong ví dụ 2, chúng ta biết rằng nếu tổng số tiền không nhỏ hơn 100 nghìn đồng, khách hàng sẽ được giảm 30% tổng số tiền phải thanh toán. Giả sử thêm vào đó, cửa hàng giảm 10% cho những khách chỉ mua với tổng số tiền không đến 100 nghìn đồng.
Mô tả hoạt động tính tiền cho khách:
- B1: Tính tổng số tiền T khách hàng đã mua sách.
- B2: Nếu T ≥ 100000, số tiền phải thanh toán là \(70\% \times T\); ngược lại, số tiền phải thanh toán là \(90\% \times T\)
- B3: In hoá đơn
- Sự khác nhau giữa 2 dạng này đó là ở dạng đầy đủ, khi điều kiện đầu không thỏa mãn nó sẽ bỏ qua các câu lệnh 1 và thực hiện luôn câu lệnh 2 mà không cần xét điều kiện nữa.
4. Câu lệnh điều kiện
- Các cấu trúc rẽ nhánh được thể hiện bằng câu lệnh điều kiện.
- Cú pháp dạng thiếu: if < điều kiện > then < câu lệnh>;
Nếu điều kiện thoản mãn, chương trình sẽ thực hiện các câu lệnh sau từ khóa then.
- Cú pháp dạng đủ: if < điều kiện> then <câu lệnh 1> else < câu lệnh 2>;
Nếu điều kiện thoản mãn, chương trình sẽ thực hiện các câu lệnh 1 sau từ khóa then. Nếu không, chương trình sẽ thực hiện câu lện 2.
- Ví dụ 1: viết chương trình yêu cầu người dùng nhập 1 số từ bàn phím, nếu số này là số chẵn thì in ra thông báo, ngược lại in ra thông báo là số lẻ.
+ B1: nhập số a;
+ B2: nếu a mod 2 = 0 thì thông báo là số chẵn
+ B3: nếu không thì thông báo a là số lẻ
B. Bài tập trắc nghiệm
Câu 1:Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh ?
A. A:= B
B. A > B
C. N mod 100
D. “A nho hon B”
các phép toán điều kiện như >, <, >=, <=, <>.
Vậy A>B là biểu thức điêu kiện ( chứa phép toán điều kiện).
Đáp án: B
Câu 2:Câu lệnh điều kiện dạng đầy đủ là:
A. If < Điều kiện> then < Câu lệnh 1 >; Else < Câu lệnh 2 >;
B. If < Điều kiện> then < Câu lệnh >;
C. If < Điều kiện> then < Câu lệnh 1 >, < Câu lệnh 2 >;
D. If < Điều kiện > then < Câu lệnh 1 > Else < Câu lệnh 2 >;
cấu trúc rẽ nhánh dạng đủ là:
IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>;
Trong đó: Câu lệnh 1 được thực hiện khi điều kiện là đúng, câu lệnh 2 được thực hiện khi biểu thức điều kiện sai.
Đáp án: D
Câu 3:Hãy cho biết giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:
if (45 mod 3 ) = 0 then X :=X+2;
( Biết rằng trước đó giá trị của biến X = 5)
A. 5
B. 9
C. 7
D. 11
ta có 45 mod 3 =0 ( phép lấy dư)→ đúng nên thực hiện câu lệnh sau then→ x= x + 2 = 5 +2 =7
Đáp án: C
Câu 4:Ta có 2 lệnh sau:
x:= 8;
If x>5 then x := x +1;
Giá trị của x là bao nhiêu?
A. 5
B. 9
C. 8
D. 6
Ta có 8 > 5 nên ta thực hiện câu lệnh sau Then là x= x+1 = 8 +1 =9 ;
Đáp án: B
Câu 5:Các câu lệnh Pascal nào sau đây được viết đúng:
A. If x:= 5 then a = b;
B. If x > 4; then a:= b;
C. If x > 4 then a:=b else m:=n;
D. If x > 4 then a:=b; else m:=n;
Cấu trúc rẽ nhánh dạng thiếu là: IF <điều kiện> THEN <câu lệnh >;
Cấu trúc rẽ nhánh dạng đủ là: IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>;
Trong đó điều kiện là các phép toán điều kiện. Các phép toán điều kiện như >, <, >=, <=, <>.
Đáp án: C
Câu 6:Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:
A. Max:=a; If b>Max then Max:=b;
B. If a>b then Max:=a else Max:=b;
C. Max:=b; If a>Max then Max:=a;
D. Cả 3 câu đều đúng.
Trong câu A, C sử dụng lệnh gán và cấu trúc rẽ nhánh dạng thiếu
Câu B dử dụng cấu trúc dạng đủ.
Đáp án: D
Câu 7:Hãy chọn cách dùng sai . Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau :
A. if A <= B then X := A else X := B;
B. if A < B then X := A;
C. X := B; if A < B then X := A;
D. if A < B then X := A else X := B;
Câu lệnh if A < B then X := A; → chỉ đưa ra được trường hợp A B thì không đưa ra được giá trị nhỏ nhất trong hai biến.
Đáp án: B
Câu 8:
IF a>8 THEN b:=3 ELSE b:=5;
Khi a nhận giá trị là 0 thì b nhận giá trị nào?
A. 0
B. 5
C. 8
D. 3
ta có 0 < 8 nên điều kiện a>8 là sai vậy sẽ thực hiện câu lệnh sau Else → b=5;
Đáp án: B
Câu 9:Chọn câu lệnh Pascal hợp lệ trong các câu sau:
A. If x : = a + b then x : = x + 1;
B. If a > b then max = a;
C. If a > b then max : = a else max : = b;
D. If 5 := 6 then x : = 100;
Theo sau If là các phép toán điều kiện. Các phép toán điều kiện như >, <, >=, <=, <> → loại A, D
Phép gán phải là dấu := → loại B
Vậy câu lệnh If a > b then max : = a else max : = b; là đúng
Đáp án: C
Câu 10:Hãy cho biết giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:
X:= 10;
IF (91 mod 3 ) = 0 then X :=X+20;
A. 10
B. 30
C. 2
D. 1
Ta có 91: 3 dư 1 nên không thực hiện câu lệnh sau then. Vậy X vẫn nhận giá trị ban đầu là 10.
Đáp án: A