NEW SOUTH AMERICA SCHOOL INFORMATICS Ñaëng Höõu Hoaøng LESSON CÂU LÊÊNH ĐIỀU KIÊÊN Thời gian tiết HOẠT ĐÔÊ NG PHỤ THUÔÊ C VÀO ĐIỀU KIÊÊN Sách giáo khoa trang 46_phần 1, em hãy đọc các ví dụ và cho biết “Những hoạt đô ông chỉ được thực hiê ôn nào? • Những hoạt đôÊng chỉ được thực hiêÊn môÊt điều kiêÊn cụ thể được xảy • Điều kiêÊn thường là môÊt sự kiêÊn được mô tả sau từ “nếu” TÍNH ĐÚNG HOĂÊC SAI CỦA CÁC ĐIỀU KIÊÊN Điều kiêÊn Kiểm tra Kết quả Hoạt đôÊng Trời mưa? Long nhìn ngoài trời và thấy trời mưa Đúng Long ở nhà (không đá bóng) Em bị ốm? Buổi sáng thức dâÊy, em thấy mình hoàn toàn khoẻ mạnh Sai Em tâÊp thể dục buổi sáng thường lêÊ •Khi kết quả kiểm tra là đúng, ta nói điều kiêÊn được thoả mãn, còn kết quả kiểm tra sai, ta nói điều kiêÊn không thoả mãn ĐIỀU KIÊÊN VÀ PHÉP SO SÁNH Phép so sánh thường được sử dụng thế nào? * Dùng để biểu diễn các điều kiêÊn Phép so sánh cho kết quả thế nào? •Kết quả Đúng điều kiêÊn được thoả mãn • Ngược lại, điều kiêÊn không được thoả mãn Ví dụ 1: Chương trình in màn hình có giá trị lớn số hai giá trị của các biến a và b Khi đó giá trị của biến a hoă ôc b được in phụ thuô ôc vào phép so sánh a > b là đúng hay sai Nếu a>b, in giá trị của biến a màn hình; ngược lại, in giá trị của biến b màn hình CẤU TRÚC RẼ NHÁNH Trong ngôn ngữ lâ ôp trình, cấu trúc rẽ nhánh được thể hiê ôn bằng dạngg? Kể ra? Cấu trúc rẽ nhánh dạng thiếu Cấu trúc rẽ nhánh dạng đủ SƠ ĐỒ KHỐI CẤU TRÚC RẼ NHÁNH DẠNG THIẾU Đúng Điều kiện Câu lệnh Sai Lưu ý: sau then chỉ có lệnh chương trì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.000 đồng, khách hàng sẽ được giảm 30% tổng số tiền phải toán Hãy mô tả hoạt đô ông tính tiền cho khách thuâÊt toán • Bước 1: Tính tổng số tiền T khách hàng đã mua sách • Bước 2: T>100000, số tiền phải toán là 70% x T • Bước 3: in hoá đơn SƠ ĐỒ KHỐI CẤU TRÚC RẼ NHÁNH DẠNG ĐỦ Sai Điều kiện Đúng Câu lệnh Câu lệnh Lưu ý: sau then và sau else chỉ có lệnh chương trình Ví dụ 3: 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.000 đồng, khách hàng sẽ được giảm 30% tổng số tiền phải toán Nếu mua sách với tổng số tiền không đến 100.000 đồng , khách hàng sẽ được giảm 10% tổng số tiền phải toán Hãy mô tả hoạt đô ông tính tiền cho khách thuâÊt toán • Bước 1: Tính tổng số tiền T khách hàng đã mua sách • Bước 2: T>100000, số tiền phải toán là 70% x T; Ngược lại, số tiền phải toán là 30% x T • Bước 3: in hoá đơn CÂU LÊÊNH ĐIỀU KIÊÊN Trong ngôn ngữ lâ ôp trình, các cấu trúc rẽ nhánh được thể hiê ôn bằng câu lê ônh gì? Câu lêÊnh điều kiêÊn CÂU LỆNH IF – THEN (DẠNG THIẾU) Hãy nêu dạng câu lê ônh của cấu trúc rẽ nhánh dạng thiếu? If then ; Điều kiện: là biểu thức quan hệ biểu thức logic Câu lệnh: là lệnh nào đó của Pascal Hãy trình bày ý nghĩa các câu lệnh của cấu trúc dạng thiếu? • Khi găÊp câu lêênh điều kiêên này, 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 Ví dụ 4: giả sử cần in số a màn hình nếu a > b If a > b then write (a); Ví dụ 5: Chương trình yêu cầu người dùng nhâ ôp mô ôt số hợp lê ô, chẳng hạn không lớn 5, từ bàn phím Chương trình đọc số, kiểm tra tính hợp lê ô và thông báo nếu không hợp lê ô thuâÊt toán • Bước 1: NhâÊp số a; • Bước 2: a > thì thông báo lỗi readln(a); If a > then write(‘So da nhap khong hop le.’); CÂU LỆNH IF – THEN – ELSE (DẠNG ĐỦ) Hãy nêu dạng câu lê ônh của cấu trúc rẽ nhánh dạng đủ? If then else ; điều kiện: là biểu thức quan hệ biểu thức logic câu lệnh 1, câu lệnh : là lệnh nào đó của Pascal Hãy trình bày ý nghĩa các câu lệnh của cấu trúc dạng đủ? • Khi găÊp câu lêênh điều kiêên này, 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 • Trong trường hợp ngược lại, câu lêênh sẽ thực hiêÊn Ví dụ 6: Chương trình viết kết quả của a chia cho b, với a và b là hai số bất kì Phép tính chỉ thực hiê ôn được b ≠ Chương trình cần kiểm tra giá trị của b Nếu b ≠ thì thực hiê ôn phép chia Nếu b = sẽ thông báo lỗi thuâÊt toán Nếu b ≠ thì tính kết quả ngược lại thì thông báo lỗi If b0 then x:=a/b else write(‘mau so bang 0, khong chia duoc’); MEMORIZE(Ghi nho) 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 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 đủ Trong lâÊp trình, điều kiêÊn 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 DẶN DÒ Trả lời câu hỏi 1, 2, 3, 4, 5, _ trang 51 _ sách giáo khoa Thực tháng 11 năm 2009 E_mail: Phanphu03@yahoo.co.uk