Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang
lượt xem 2
download
Bài giảng Kỹ thuật lập trình: Chương 4 - Cấu trúc rẽ nhánh, được biên soạn gồm các nội dung chính sau: Đặt vấn đề; Câu lệnh; Chương trình; Cấu trúc: if; Cấu trúc: if-else; Cấu trúc: if-else lồng nhau; Cấu trúc: switch-case. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang
- Chương 04 CẤU TRÚC RẼ NHÁNH Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 1
- Nội dung Đặt vấn đề Câu lệnh Chương trình Cấu trúc: if Cấu trúc: if-else Cấu trúc: if-else lồng nhau Cấu trúc: switch-case Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 2
- Đặt vấn đề Bài toán 1: nhập một ngày (gồm ngày, tháng, năm) Một chương trình tốt không được giả sử người dùng phải nhập đúng ngày, tháng, năm (đã thuộc miền giá trị cho phép) Để kiểm tra trường hợp nhập sai tháng, ta có thể sử dụng cấu trúc: if ( (tháng < 0) hoặc (tháng > 12) ) // Xử lý lỗi với tháng nhập sai endif Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 3
- Đặt vấn đề Bài toán 2: Giải phương trình bậc 2 Chương trình cần yêu cầu nhập các hệ số A, B, C Tuy nhiên A và B nhập vào không chắc sẽ khác 0 -> có thể suy biến về phương trình bậc 1 Dùng cấu trúc rẽ nhánh để kiểm tra các điều kiện nói trên Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 4
- Câu lệnh Câu lệnh là một câu viết bằng ngôn ngữ lập trình. Kết thúc câu lệnh là dấu chấm phẩy (;) Các loại câu lệnh Câu lệnh đơn (câu đơn) Ví dụ: câu khai báo biến, câu lệnh gán, … Câu lệnh phức (câu phức) Nhiều câu lệnh được đặt trong cặp ngoặc { … } Cạu lệnh thuộc cấu trúc điều khiển như: if, if- else, switch, for, while, do … while Câu lệnh rỗng: Chỉ có dấu ; đứng cuối Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 5
- Chương trình Chương trình là một danh sách tuyến tính (có thứ tự) của các câu lệnh (đơn, phức, …) Mặc định máy tính sẽ thực hiện lần lượt từ câu đầu tiên đến câu lệnh cuối cùng. Trừ khi gặp các cấu trúc điều khiển như: Rẽ nhánh if, if-else, switch Lặp for, while, do … while Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 6
- Câu lệnh: if Cú pháp: if () if () if () { } Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 7
- Câu lệnh: if : false Biểu thức luận lý hoặc phải chuyển đổi sang luận lý được true : một trong các loại câu lệnh đơn, kép hay rỗng Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 8
- Câu lệnh: if Cú pháp + phong cách lập trình: if () if () { //có thể có 1 hay nhiều câu lệnh if () } if () { TAB //có thể có 1 hay nhiều câu lệnh } TAB Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 9
- Câu lệnh: if-else Cú pháp: if () else Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 10
- Câu lệnh: if-else : false Biểu thức luận lý hoặc phải chuyển đổi sang luận lý được true , : một trong các loại câu lệnh đơn, kép hay rỗng Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 11
- Câu lệnh: if-else Cú pháp + phong cách lập trình if () else if () { if () { //... //... } } else else { { //... //... } } Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 12
- Cần phân rã các công việc con trong đó để có giải thuật hoàn thiện Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 13
- Giải Phương trình bậc 2 #include #include void main(){ float a, b, c, delta; printf("Nhap vao gia tri cac so a, b, c: \n"); scanf("%f%f%f", &a, &b, &c); if(a == 0) { // giai phuong trinh bac 1 } else { delta = b*b - 4*a*c; if(delta < 0) // tiep tuc giai phuong trinh bac 2 ... } getch(); } Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 14
- Câu lệnh: if-else lồng nhau Bài toán: xếp loại học sinh dựa theo điểm Yếu: điểm thuộc [0, 5] Trung bình: điểm thuộc [5, 6.5) Khá: điểm thuộc [6.5, 8) Giỏi: điểm thuộc [8, 9.5) Xuất sắc: điểm thuộc [9.5, 10] Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 15
- Câu lệnh: if-else lồng nhau Đầu vào: điểm false false false false diem < 5 diem < 6.5 diem < 8 diem < 9.5 true true true true loai = “G” loai = “XS” loai = “K” loai = “TB” loai = “Y” Đầu ra: loại Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 16
- Câu lệnh: if-else lồng nhau Có nhiều cách biểu diễn if () else if () else if () else if () else if () else if () else Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 17
- Câu lệnh: if-else lồng nhau if () else if () else if () else if () else if () else if () else Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 18
- Câu lệnh: if-else lồng nhau #include #include void main(){ float diem = 8.7f; Phong cách: if(diem < 5.0f) Canh lề thẳng đứng printf("%s", "Yeu"); else if(diem < 6.5f) printf("%s", "Trung Binh"); else if(diem < 8.5f) printf("%s", "Kha"); else if(diem < 9.5f) printf("%s", "Gioi"); else printf("%s", "Xuat sac"); getch(); } Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 19
- Biểu thức điều kiện ? : Cú pháp : ? : nếu đúng thì trả về , ngược lại trả về Ví dụ: lệnh if (hours > 40) rate = 0.45; else rate = 0.02; có thể thay bằng : rate = (hours > 40) ? 0.45 : 0.02; Trần Quang Kỹ thuật lập trình Chương 04: Cấu trúc rẽ nhánh © 2016 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Quang
39 p | 10 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 8 - Trần Quang
34 p | 9 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 7 - Trần Quang
28 p | 9 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang
37 p | 12 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Quang
52 p | 11 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang
25 p | 10 | 2
-
Bài giảng Kỹ thuật lập trình: Hàm nâng cao (Phần 1) - ThS. Đặng Bình Phương
26 p | 0 | 0
-
Bài giảng Kỹ thuật lập trình: Các kỹ thuật thao tác trên bit - ThS. Đặng Bình Phương
29 p | 1 | 0
-
Bài giảng Kỹ thuật lập trình: Tập tin - ThS. Đặng Bình Phương
48 p | 3 | 0
-
Bài giảng Kỹ thuật lập trình: Kỹ thuật lập trình đệ quy - ThS. Đặng Bình Phương
44 p | 1 | 0
-
Bài giảng Kỹ thuật lập trình: Dữ liệu kiểu cấu trúc - ThS. Đặng Bình Phương
33 p | 2 | 0
-
Bài giảng Kỹ thuật lập trình: Chuỗi ký tự - ThS. Đặng Bình Phương
20 p | 2 | 0
-
Bài giảng Kỹ thuật lập trình: Danh sách liên kết - ThS. Đặng Bình Phương
20 p | 2 | 0
-
Bài giảng Kỹ thuật lập trình: Chuyển đổi kiểu dữ liệu và cấp phát bộ nhớ động - ThS. Đặng Bình Phương
28 p | 3 | 0
-
Bài giảng Kỹ thuật lập trình: Dữ liệu kiểu con trỏ (Nâng cao) - ThS. Đặng Bình Phương
48 p | 0 | 0
-
Bài giảng Kỹ thuật lập trình: Giới thiệu môn học - ThS. Đặng Bình Phương
7 p | 1 | 0
-
Bài giảng Kỹ thuật lập trình: Hàm nâng cao (Phần 2) - ThS. Đặng Bình Phương
30 p | 0 | 0
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn