Nội dung bài học Bài 6: Câu lệnh điều kiện dưới đây chúng ta sẽ cùng nhau tìm hiểu về cấu trúc rẽ nhánh trong lập trình; cú pháp, hoạt động của các câu lệnh điều kiện dạng thiếu và dạng đủ trong Pascal;... Mời các em cùng theo dõi bài học.
Tóm tắt lý thuyết
1.1. Hoạt động phụ thuộc vào điều kiện
Ví dụ về hoạt động phụ thuộc điều kiện:
- Nếu chiều nay trời không mưa, Long sẽ đi đá bóng
- Nếu em bị ốm, em sẽ không tập thể dục buổi sáng
Từ "nếu" trong các câu trên được dùng để chỉ một "điều kiện" và các hoạt động tiếp theo sau sẽ phụ thuộc vào điều kiện đó
- Các điều kiện: chiều nay trời không mưa, em bị ốm
- Các hoạt động phụ thuộc điều kiện: em sẽ đi chơi bóng, em sẽ không tập thể dục buổi sáng
Tóm lại: Có những hoạt động chỉ được thực hiện khi một điều kiện cụ thể được xảy ra.
1.2. Tính đúng hoặc sai của điều kiện
Xét tính đúng hoặc sai của điều kiện trong các ví dụ về hoạt động phụ thuộc điều kiện ở phần 1:
Điều kiện |
Kiểm tra |
Kết quả |
Hoạt động tiếp theo |
Trời mưa? |
Long nhìn ra ngoài và thấy trời mưa |
Đúng |
Long ở nhà (không đi đá bóng) |
Em bị ốm? |
Buổi sáng thức dậy, em thấy mình hoàn toàn khỏe mạnh |
Sai | Em tập thể dục buổi sáng như thường lệ |
Bảng 1. Minh họa tính đúng hoặc sai của điều kiện
- Khi đưa ra câu điều kiện, kết quả kiểm tra là đúng, ta nói điều kiện được thoả mãn; còn khi kết quả kiểm tra là sai, ta nói điều kiện không thoả mãn
- Kết quả kiểm tra điều kiện chỉ có thể là đúng hoặc sai
Ví dụ trong Tin học:
Hình 1. Ví dụ trong Tin học về tính đúng hoặc sai của điều kiện
Nếu chọn đúng thì chương trình dừng lại, chọn sai chương trình chạy tiếp.
1.3. Điều kiện và các phép so sánh
Để so sánh ta thường sử dụng các kí hiệu toán học như: <, >, =, <>, <=, >=.
Ví dụ 1: Nếu a > b, phép so sánh đúng thì in giá trị của a ra màn hình; ngược lại, in giá trị của b ra màn hình (có nghĩa là phép so sánh cho kết quả sai).
1.4. Cấu trúc rẽ nhánh
Ví dụ 2: 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:
- Bước 1. Tính tổng số tiền T khách hàng đã mua sách
- Bước 2. Nếu T ≥ 100000, số tiền phải thanh toán là \(70\% \times T\)
- Bước 3. In hoá đơn
Ví dụ 3: 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:
- Bước 1. Tính tổng số tiền T khách hàng đã mua sách.
- Bước 2. 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\)
- Bước 3. In hoá đơn
LƯU Ý:
- Cấu trúc rẽ nhánh được sử dụng để chỉ thị cho máy tính thực hiện các hoạt động khác nhau tuỳ theo một điều kiện cụ thể có được thoã mãn hay không
- Cấu trúc rẽ nhánh có hai dạng: dạng thiếu và dạng đủ
Hình 2. Cấu trúc rẽ nhánh dạng thiếu
Hình 3. Cấu trúc rẽ nhánh dạng đủ
1.5. Câu lệnh điều kiện
a. Dạng thiếu
Cú pháp:
If < Điều kiện > then
< Câu lệnh >;
Hoạt động: Chương trình sẽ kiêm tra điều kiện. Nếu điều kiện được thoã mãn, chương trình sẽ thực hiện câu lệnh sau từ khoá then, ngược lại câu lệnh đó bị bỏ qua.
b. Dạng đủ
Cú pháp:
If < Điều kiện > then
< Câu lệnh 1 >
Else
< Câu lệnh 2 >;
Hoạt động: Chương trình sẽ kiểm tra điều kiện. Nếu điều kiện được thoã mãn, chương trình sẽ thực hiện câu lệnh 1 sau từ khoá then, ngược lại câu lệnh 2 sẽ được thực hiện.
Bài tập minh họa
Bài tập 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à ghi ra màn hình kết quả số đã nhập là số 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 đó.
Gợi ý giải chi tiết:
Xác định bài toán:
- INPUT: Số tự nhiên n
- OUTPUT: n là số chẵn hoặc n là số lẻ
Mô tả thuật toán:
- Bước 1. Nhập số n
- Bước 2. Nếu n chia hết cho 2, ghi ra màn hình "n là số chẵn"; ngược lại, ghi ra màn hình "n là số lẻ"
- Bước 3. Kết thúc thuật toán
Bài tập 2
Hãy mô tả thuật toán nhập ba số thực A, B và C từ bàn phím vào máy tính, sau đó kiểm tra ba số đó có thể là các cạnh của tam giác đều, tam giác cân hoặc tam giác vuông hay không và ghi kết quả ra màn hình.
Gợi ý giải chi tiết:
Xác định bài toán:
- INPUT: Số thực A, B và C
- OUTPUT: A, B và C là ba cạnh của một tam giác vuông hoặc A, B và C là ba cạnh của một tam giác đều hoặc A, B và C là ba cạnh của một tam giác cân
Mô tả thuật toán:
- Bước 1. Nhập ba số A, B và C
- Bước 2. Nếu A + B < C hoặc B + C < A hoặc C + A < B, thông báo A, B và C không phải là ba cạnh của một tam giác và chuyển tới Bước 5
- Bước 3. Nếu A2 + B2 = C hoặc B2 + C2 = A2 hoặc C2 + A2 = B, thông báo A, B và C là ba cạnh của một tam giác vuông và chuyển tới Bước 5
- Bước 4. Nếu A = B và B = C, thông báo A, B và C là ba cạnh của một tam giác đều; ngược lại, nếu A = B hoặc B = C hoặc A = C, thông báo A, B và C là ba cạnh của một tam giác cân
- Bước 5. Kết thúc thuật toán
3. Luyện tập Bài 6 Tin học 8
Sau khi học xong Bài 6: Câu lệnh điều kiện, các em cần ghi nhớ:
- Cấu trúc rẽ nhánh được sử dụng để chỉ thị cho máy tính thực hiện các hoạt động khác nhau tùy theo một điều kiện cụ thể có được thỏa mãn hay không. Cấu trúc rẽ nhánh có hai dạng: Dạng thiếu và dạng đầy đủ
- Trong lập trình, điều kiện trong cấu trúc rẽ nhánh thường được biểu diễn bằng các phép so sánh
- Mọi ngôn ngữ lập trình đều có câu lệnh điều kiện để thể hiện các cấu trúc rẽ nhánh
3.1. Trắc nghiệm
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 8 Bài 6 cực hay có đáp án và lời giải chi tiết.
-
- A. if a := 1 then a := a + 1;
- B. if a > b else write(a);
- C. if (a mod 2) = 0 then write('So khong hop le');
- D. if x = y; then writeln(y);
-
- 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 >;
-
- A. 5
- B. 9
- C. 7
- D. 11
Câu 4- 10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
3.2. Bài tập SGK
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 8 Bài 6 để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Bài tập 1 trang 50 SGK Tin học 8
Bài tập 2 trang 50 SGK Tin học 8
Bài tập 3 trang 51 SGK Tin học 8
Bài tập 4 trang 51 SGK Tin học 8
Bài tập 5 trang 51 SGK Tin học 8
Bài tập 6 trang 51 SGK Tin học 8
4. Hỏi đáp Bài 6 Tin học 8
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 8 HỌC247