Bài 6: Câu lệnh điều kiện

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. 

Câu 4-Câu 10: Xem thêm phần trắc nghiệm để làm thử Online

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 Chúng tôi 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 Chúng tôi

MGID

Tham khảo thêm

Bình luận

Có Thể Bạn Quan Tâm ?