Cấu trúc rẽ nhánh chỉ cho máy tính chọn thực hiện một dãy lệnh nào đó dựa vào kết quả của một điều kiện (biểu thức quan hệ hay biểu thức so sánh)
Gồm 2 dạng:
Chỉ xét trường hợp đúng
if (biểu thức điều kiện)
{
;
}
Nếu biểu thức điều kiện cho
kết quả true thì thực hiện khối lệnh bên trong if.
51 trang |
Chia sẻ: phuongt97 | Lượt xem: 427 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Nhập môn lập trình - Chương 3: Cấu trúc điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1CHƯƠNG 3 CẤU TRÚC ĐIỀU KHIỂNCÁC CẤU TRÚC ĐIỀU KHIỂN TRONG CHƯƠNG TRÌNH2TUẦN TỰRẼ NHÁNH CÓ ĐIỀU KIỆNLỰA CHỌNLẶPLệnh 1;Lệnh 2;Lệnh 3;.ifif elseswitch caseforwhiledo while3CẤU TRÚC TUẦN TỰTuần tự thực thi tiến trình, mỗi lệnh được thực thi theo một chuỗi từ trên xuống, xong lệnh này rồi chuyển xuống lệnh kế tiếp.4 void main() { int a, b, tong, hieu, tich; float thuong; cout>a; cout>b; tong = a + b; hieu = a - b; tich = a * b; thuong = (float)a / b; //Ép kiểu cout ;}Nếu biểu thức điều kiện chokết quả true thì thực hiện khối lệnh bên trong if. 6Ví dụ: Viết chương trình nhập vào một số nguyên từ 1 đến 10, nếu nhập sai thì thông báovoid main(){ int k; cout>k; if (k 10) { cout;}else{ ;}Nếu biểu thức điều kiện cho kết quả true thì thực hiện khối lệnh 1, ngược lại thì cho thực hiện khối lệnh thứ 28Ví dụ 1: Nhập vào số nguyên a và b, nếu a là bội số của b thì in thông báo “a là bội số của b”, ngược lại in “a khong la boi so cua b”cout>a;cout>b;{ cout>a; cout>b; if(a%b= =0) { cout>a; cout>b; if (a == 0) { if (b == 0) { cout ; break ; [default: các câu lệnh] Trường hợp giá trị biểu thức bằng n1Trường hợp giá trị biểu thức bằng n2Các trường hợp còn lại18Với:ni là các hằng số nguyên hoặc ký tự.Phụ thuộc vào giá trị của biểu thức viết sau switch, nếu:Giá trị này = ni thì thực hiện câu lệnh sau case ni.Khi giá trị biểu thức không thỏa tất cả các ni thì thực hiện câu lệnh sau default nếu có, hoặc thoát khỏi câu lệnh switch.Khi chương trình đã thực hiện xong câu lệnh của case ni nào đó thì nó sẽ thực hiện luôn các lệnh thuộc case bên dưới nó mà không xét lại điều kiện (do các ni được xem như các nhãn) Vì vậy, để chương trình thoát khỏi lệnh switch sau khi thực hiện xong một trường hợp, ta dùng lệnh break.19Ví dụ: Nhập vào số nguyên n có giá trị từ 1 đến 5. In cách đọc của số đó ra màn hình.void main(){ int n; cout>n; switch (n) { case 1: cout ; ; ){ ;}Khởi gán: Dùng để khởi gán giá trị ban đầu cho vòng lặpĐiều kiện lặp: Dùng để kiểm tra điều kiện trước khi thực hiện vòng lặpCập nhật: Dùng để cập nhật vòng lặp (tăng hoặc giảm chỉ số lặp) Bất kỳ biểu thức nào trong 3 biểu thức nói trên đều có thể vắng nhưng phải giữ dấu chấm phẩy (;)23SƠ ĐỒ HOẠT ĐỘNG24Bước 1: Khởi gán Bước 2: Kiểm tra điều kiện ― Nếu điều kiện bằng true thì cho thực hiện các lệnh của vòng lặp, thực hiện cập nhật vòng lặp. Quay trở lại bước 2. ― Ngược lại thoát khỏi lặp.25Ví dụ: In ra màn hình 10 dòng chữ “Xin chao”26void main(){ for (int dong = 1; dong 028VÒNG LẶP whilewhile ( ) lệnh/ khối lệnh; Lưu ý: Cách hoạt động của while giống for29Ví dụ: In ra màn hình 10 dòng chữ “Xin chao”void main(){ int dong = 1; while(dong do{ ; ;} while (điều kiện);31VÒNG LẶP do while Thực hiện khối lệnh cho đến khi biểu thức có giá trị bằng false. Cấu trúc lặp dowhile thường dùng cho trường hợp nhập có kiểm tra điều kiện32Ví dụ: Nhập vào một số nguyên dương, nếu nhập sai thì thông báo lỗi và yêu cầu nhập lại.void main(){ int n; do{ cout>n; if (n >n; if (n 0){ if(i%2 == 0) s+=i; else if(i > 5) s+=2*i; i--;}cout 20) break; } cout1)46XÁC ĐỊNH KẾT QUẢ CHƯƠNG TRÌNHXác định xem chương trình có sử dụng những biến nào;Giá trị ban đầu của mỗi biến;Những biến nào sẽ bị thay đổi trong quá trình chạy chương trình thì lập thành bảng có dạng sau:Bước (hoặc lần lặp hoặc dòng lệnh thực hiện)Biến 1Biến 2Biến kKết quả trả về(hoặc in ra màn hình)0Giá trị 0Giá trị 0Giá trị 01Giá trị 1Giá trị 1Giá trị 12Giá trị 2Giá trị 2Giá trị 2... Lưu ý từng lệnh và xét kỹ giá trị của biểu thức điều kiện trong đoạn chương trình47DÙNG CÔNG CỤ DEBUG XÁC ĐỊNH LỖI/ KẾT QUẢ CHƯƠNG TRÌNHDùng để xác định lỗi logic (lỗi giải thuật) trong chương trình. Mặc dù chương trình không còn lỗi nhưng khi chạy chương trình vẫn ra kết quả sai, những lỗi đó có thể là: Dùng chấm phẩy sau: if, else, for, while mà chưa thực hiện lệnh;Không dùng cặp dấu ngoặc ({}) để bao khối lệnh;Khai báo sai kiểu dữ liệu, không ép kiểu dữ liệu;Chia cho 0;Không có điều kiện dừng (điều kiện dừng sai);Phân tích giải thuật thiếu (chưa vét hết các trường hợp) hoặc sai;48Bước 1: Đặt dấu nháy vào vị trí bắt đầu cần kiểm tra lỗi 49Bước 2: Nhấn phím Ctrl + F1050Quan sát vị trí dấu mũi tên trên cửa sổ viết code để xác định dòng lệnh đang thực hiện.Cửa sổ Locals (View\ Debug Windows\ Variables hoặc nhấn phím Alt+4) sẽ thể hiện tên (name), giá trị (value) và kiểu (type) của các biến cục bộ trong đoạn chương trình. Cửa sổ Watch (View\ Debug Windows\ Watch hoặc nhấn Alt+3) cũng có thể quan sát chi tiết biến tương tự như cửa sổ Locals, nhưng chỉ thể hiện những biến nào mà ta nhập tên biến tương ứng vào cửa sổ này. 51Bước 3: Nhấn phím F10 để thực hiện lệnh kế tiếp (hoặc hàm kế tiếp). Nếu muốn xem lệnh thực hiện bên trong của hàm thì nhấn phím F11 (nếu lệnh là lời gọi thực hiện hàm – lưu ý: không nên nhấn phím F11 khi thực hiện các hàm thư viện (ví dụ: cin, cout)
Các file đính kèm theo tài liệu này:
- bai_giang_nhap_mon_lap_trinh_chuong_3_cau_truc_dieu_khien.ppt