1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Giới thiệu lập trình: Cấu trúc lựa chọn - TS. Lê Nguyên Khôi

31 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 235,8 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Giới thiệu lập trình: Cấu trúc lựa chọn do TS. Lê Nguyên Khôi biên soạn cung cấp cho người học các kiến thức về biểu thức lô-gic, luồng điều khiển, cấu trúc lựa chọn. Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

Giới Thiệu Lập Trình Cấu Trúc Lựa Chọn

TS Lê Nguyên KhôiTrường Đại học Công nghệ, ĐHQGHN

Trang 3

Biểu Thức Lô-gic

 Các phép toán logic

 PHỦ ĐỊNH (!), VÀ (&&), HOẶC (||)

 Mức độ ưu tiên: && cao hơn ||

 Kiểu dữ liệu cơ bản lô-gic bool

 đ úng (true), sai (false)

 Chuyển đổi kiểu dữ liệu:

Không ( 0 , 0.0 ) là sai ( false )

Khác không là đúng ( true )

Sai ( false ) là 0

Đ úng ( true ) là 1

Trang 5

Phép Toán Lô-gic

Phép Toán Toán Tử Ví Dụ Kết quả

&& a && b true && true true

Hoặc || a || b false || false false

Trang 6

Bảng Lô-gic (Toán Tử Lười)

int a = 0; bool b;

b = (false) && (1/a); cout << b;

b = (true) || (1/a); cout << b;

a b a && b

false false false

false true false

true false false

false false false false true true true false true

Trang 7

Độ Ưu Tiên Các Phép Toán

Trang 8

Luồng Điều Khiển

 Thứ tự các mệnh lệnh ch.tr thực hiện

 Thứ tự đơn giản: tuần tự

 Thực hiện theo thứ tự viết trong mã nguồn

 Thứ tự mệnh lệnh phụ thuộc dữ liệu đầu vào

 Ví dụ: nhập 2 số nguyên dương thì tính ucln, nếu

không, không tính, in ra thông báo, và dừng ch.tr.

Trang 9

Cấu Trúc Lựa Chọn Trong C++

 if

 if … else

 switch

Trang 10

Cấu Trúc Lựa Chọn if

 Cú pháp :

if ( BiểuThứcLôgic ) {

// thân if

MệnhLệnh;

MệnhLệnh;

… … … }

 Ý nghĩa: nếu BiểuThứcLôgic đ úng (true),

thân if đượ c thực hiện, nếu không, điều khiển chuyển sang mệnh lệnh tiếp theo ngay sau cấu trúc if

Trang 11

}

Trang 12

Cấu Trúc Lựa Chọn if … else

 Cú pháp :

if ( BiểuThứcLôgic ) {

// thân if

MệnhLệnh;

… … … }

else {

// thân else

MệnhLệnh;

… … …

Trang 13

Cấu Trúc Lựa Chọn if … else

 Cú pháp :

if ( BiểuThứcLôgic ) {

// thân if }

else {

// thân else }

 Ý nghĩa: nếu BiểuThứcLôgic đ úng (true),

thân if đượ c thực hiện, nếu BiểuThứcLôgic

sai (false), thân else đượ c thực hiện

Trang 14

Cấu Trúc Lựa Chọn if … else

Trang 15

Cấu Trúc Lựa Chọn if … else

Trang 16

Cấu Trúc Lựa Chọn if … else Lồng

Trang 17

Cấu Trúc Lựa Chọn if … else Lồng

Trang 18

Cấu Trúc Lựa Chọn if … else Lồng

xepHang = 'B';

} else {

… … … }

Sử dụng

{

… … … }

dễ đọc,

dễ gỡ lỗi

Trang 19

Cấu Trúc Lựa Chọn if … else Lồng

 Lỗi thường xảy ra:

error: ‘else’ without a previous if

Trang 20

Cấu Trúc Lựa Chọn if … else Lồng

 else của if nào?

 Khi x=5, mệnh lệnh nào thực hiện, in ra?

Trang 21

Cấu Trúc Lựa Chọn if … else

loại bỏ trường hợp không cần thiết

if (!a && !b) output = false;

else if (!a && b) output = true;

else if (a && !b) output = true;

else if (a && b) output = true;

Phân tích và loại trường hợp không cần thiết

if (!a && !b) output = false;

else output = true;

false false false

false true true

true false true

Trang 22

Cấu Trúc Lựa Chọn if … else

 Bài tập (xem mã nguồn)

1 Kiểm tra số nhập vào chẵn hay lẻ

2 Tìm số lớn nhất trong 3 số nhập vào

3 Đoán số

Trang 23

Một Số Lưu Ý

 Nhầm lẫn giữa gán (=) và so sánh bằng (==)

 Không lỗi khi dịch

if (a = 1) // luôn đúng

if (a = 0) // luôn sai

if (a = b) // tương đương

if ( (a = b) != 0 )

Không ( 0 , 0.0 ) là sai ( false )

Khác không là đúng ( true )

Trang 24

dịch không lỗi nhưng chạy sai!!!

 Biểu thức logic trong ngôn ngữ lập trình

 Phải sử dụng các phép toán lô-gic

(0 <= tuoi && tuoi <= 150)

 Lỗi thường gặp: biểu thức lô-gic luôn sai/đúng

(0 >= tuoi && tuoi >= 150)

Trang 25

Cấu Trúc Lựa Chọn switch

 Cú pháp :

switch ( BiểuThức ) {

case HằngSố1 : CụmMệnhLệnh1; break;

case HằngSố2 : CụmMệnhLệnh2; break;

case HằngSố3 : CụmMệnhLệnh2; break;

… … … default: CụmMệnhLệnhMặcĐịnh;

}

 Lưu ý : kiểu của BiểuThức là kiểu số nguyên

(bool, char, int, short, long)

Trang 26

Cấu Trúc Lựa Chọn switch

 Cú pháp :

switch ( BiểuThức ) {

… … … }

 Ý nghĩa:

BiểuThức , CụmMệnhLệnh của case đ ó thực hiện

 Khi gặp break , thì thoát khỏi cấu trúc switch

Trang 27

Cấu Trúc Lựa Chọn switch

 Ví dụ:

int ngay; std::cin >> ngay;

switch (ngay)

{

case 2: std::cout << "hoc chieu"; break;

case 3: std::cout << "hoc sang"; break;

case 4: std::cout << "di lam"; break;

case 5: std::cout << "hoc sang va chieu"; break; case 6: std::cout << "hoc chieu va toi"; break; case 7: std::cout << "choi the thao"; break;

case 0: std::cout << "di sang nha ban"; break; default: std::cout << "o nha ngu";

}

Trang 28

Cấu Trúc Lựa Chọn switch

int ngay; std::cin >> ngay;

case 6: std::cout << "di hoc"; break;

case 4: std::cout << "di lam"; break;

case 7:

case 0: std::cout << "di choi"; break;

default: std::cout << "o nha ngu";

}

Trang 29

Cấu Trúc Lựa Chọn switch

int nam, thang, soNgay;

Trang 30

Cấu Trúc Lựa Chọn switch

sử dụng thiết kế menu điều khiển

switch (comboKFC)

{

case 1: std::cout << "ga popcorn 10k"; break;

case 2: std::cout << "2 canh 1 nuoc 50k"; break; case 3: std::cout << "2 canh 2 dui 100k"; break; case 4: std::cout << "A U C E 200k"; break;

default: std::cout << "clean the kitchen";

}

Trang 31

Tham Khảo

 Đọ c sách:

 Chương 3, Lập Trình Cơ Bản C++

Ngày đăng: 08/05/2021, 15:28

🧩 Sản phẩm bạn có thể quan tâm

w