Bài giảng Nhập môn lập trình - Chủ đề 3: Các cấu trúc điều khiển - Phần 1: Câu lệnh rẽ nhánh
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn lập trình - Chủ đề 3: Các cấu trúc điều khiển - Phần 1: Câu lệnh rẽ nhánh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_nhap_mon_lap_trinh_chu_de_3_cac_cau_truc_dieu_khie.pdf
Nội dung text: Bài giảng Nhập môn lập trình - Chủ đề 3: Các cấu trúc điều khiển - Phần 1: Câu lệnh rẽ nhánh
- NHẬP MÔN LẬP TRÌNH CÂU LỆNH RẼ NHÁNH 1
- Nội dung 1 Câu lệnh điềukiệnif 2 Câu lệnh rẽ nhánh switch 3 Mộtsố kinh nghiệmlậptrình 4 Mộtsố ví dụ minh họa Câu lệnh điều kiện và rẽ nhánh 2
- Câu lệnh if (thiếu) Đ Trong (), cho kếtquả (sai = 0, đúng ≠ 0) if ( ) ; Câu lệnh đơn hoặc Câu lệnh phức(kẹp giữa { và }) Câu lệnh điều kiện và rẽ nhánh 3
- Câu lệnh if (thiếu) void main() { if (a == 0) printf(“a bang 0”); if (a == 0) { printf(“a bang 0”); a = 2912; } } Câu lệnh điều kiện và rẽ nhánh 4
- Câu lệnh if (đủ) Logic> Đ Trong (), cho kếtquả (sai = 0, đúng ≠ 0) if ( ) ; Câu lệnh đơn hoặc else Câu lệnh phức(kẹp giữa { và }) ; Câu lệnh điều kiện và rẽ nhánh 5
- Câu lệnh if (đủ) void main() { if (a == 0) printf(“a bang 0”); else printf(“a khac 0”); if (a == 0) { printf(“a bang 0”); a = 2912; } else printf(“a khac 0”); } Câu lệnh điều kiện và rẽ nhánh 6
- Câu lệnh if - Mộtsố lưu ý Câu lệnh if và câu lệnh if else là một câu lệnh đơn. Câu lệnh điều kiện và rẽ nhánh 7
- Câu lệnh if - Mộtsố lưu ý Câu lệnh if có thể lồng vào nhau và else sẽ tương ứng vớiif gầnnónhất. if (a != 0) if (b > 0) printf(“a != 0 va b > 0”); else printf(“a != 0 va b 0) printf(“a != 0 va b > 0”); else printf(“a != 0 va b <= 0”); } Câu lệnh điều kiện và rẽ nhánh 8
- Câu lệnh if - Mộtsố lưu ý Nên dùng else để loạitrừ trường hợp. if (delta 0) printf(“PT co 2 nghiem”); if (delta = 0 if (delta == 0) printf(“PT co nghiem kep”); else printf(“PT co 2 nghiem”); Câu lệnh điều kiện và rẽ nhánh 9
- Câu lệnh if - Mộtsố lưu ý Không được thêm ; sau điềukiệncủa if. void main() { int a = 0; if (a != 0) printf(“a khac 0.”); if (a != 0); printf(“a khac 0.”); if (a != 0) { }; printf(“a khac 0.”); } Câu lệnh điều kiện và rẽ nhánh 10
- Câu lệnh switch (thiếu) switch ( ) { Đ case : ;break; = case : ;break; S Đ = } S là biến/biểuthứccho giá trị rờirạc. : đơn hoặc khốilệnh {}. Câu lệnh điều kiện và rẽ nhánh 11
- Câu lệnh switch (thiếu) void main() { int a; printf(“Nhap a: ”); scanf(“%d”, &a); switch (a) { case 1 : printf(“Mot”); break; case 2 : printf(“Hai”); break; case 3 : printf(“Ba”); break; } } Câu lệnh điều kiện và rẽ nhánh 12
- Câu lệnh switch (đủ) switch ( ) { Đ case : ;break; = case : ;break; S Đ default: = ; S } Câu lệnh điều kiện và rẽ nhánh 13
- Câu lệnh switch (đủ) void main() { int a; printf(“Nhap a: ”); scanf(“%d”, &a); switch (a) { case 1 : printf(“Mot”); break; case 2 : printf(“Hai”); break; case 3 : printf(“Ba”); break; default : printf(“Ko biet doc”); } } Câu lệnh điều kiện và rẽ nhánh 14
- Câu lệnh switch - Mộtsố lưu ý Câu lệnh switch là một câu lệnh đơn và có thể lồng nhau. Câu lệnh điều kiện và rẽ nhánh 15
- Câu lệnh switch - Mộtsố lưu ý Các giá trị trong mỗitrường hợpphải khác nhau. switch (a) { case 1 : printf(“Mot”); break; case 1 : printf(“MOT”); break; case 2 : printf(“Hai”); break; case 3 : printf(“Ba”); break; case 1 : printf(“1”); break; case 1 : printf(“mot”); break; default : printf(“Khong biet doc”); } Câu lệnh điều kiện và rẽ nhánh 16
- Câu lệnh switch - Mộtsố lưu ý switch sẽ nhảy đến case tương ứng và thực hiện đến khi nào gặp break hoặccuối switch sẽ kết thúc. Câu lệnh điều kiện và rẽ nhánh 17
- Câu lệnh switch - Mộtsố lưu ý switch nhảy đến case tương ứng và thựchiện đến khi nào gặp break hoặccuối switch sẽ kết thúc. Câu lệnh điều kiện và rẽ nhánh 18
- Câu lệnh switch - Mộtsố lưu ý Tậndụng tính chấtkhibỏ break; Câu lệnh điều kiện và rẽ nhánh 19
- Kinh nghiệmlậptrình Câu lệnh if Câu lệnh switch if (a == 1) switch (a) printf(“Mot”); { if (a == 2) case 1: printf(“Mot”); printf(“Hai”); break; if (a == 3) case 2: printf(“Hai”); printf(“Ba”); break; if (a == 4) case 3: printf(“Ba”); printf(“Bon”); break; if (a == 5) case 4: printf(“Bon”); printf(“Nam”); break; case 5: printf(“Nam”); } Câu lệnh điều kiện và rẽ nhánh 20
- Kinh nghiệmlậptrình Câu lệnh switch Câu lệnh if if (a == 3.14) printf(“OK”); if (a < 10) printf(“OK”); if (a == 1) printf(“OK”); if (a == 2 || a == 3) printf(“OK”); Câu lệnh điều kiện và rẽ nhánh 21
- Bài tập 1. Nhậpmộtsố bấtkỳ. Hãy đọc giá trị củasố nguyên đónếunócógiátrị từ 1 đến 9, ngược lại thông báo không đọc được. 2. Nhậpmộtchữ cái. Nếulàchữ thường thì đổi sang chữ hoa, ngược lại đổi sang chữ thường. 3. Giảiphương trình bậcnhất ax + b = 0. 4. Giảiphương trình bậc hai ax2 + bx + c = 0. Câu lệnh điều kiện và rẽ nhánh 22
- Bài tập 5. Nhập4 số nguyên a, b, c và d. Tìm số có giá trị nhỏ nhất (min). 6. Nhập4 số nguyên a, b, c và d. Hãy sắpxếpgiá trị của4 số nguyên này theo thứ tự tăng dần. 7. Tính tiền đi taxi từ số km nhập vào. Biết: a. 1 km đầu giá 15000đ b. Từ km thứ 2 đến km thứ 5 giá 13500đ c. Từ km thứ 6 trởđi giá 11000đ d. Nếu trên 120km được giảm 10% tổng tiền. Câu lệnh điều kiện và rẽ nhánh 23
- Bài tập 8. Nhập vào tháng và năm. Cho biết tháng đócó bao nhiêu ngày. 9. Nhập độ dài 3 cạnh 1 tam giác. Kiểmtrađócó phải là tam giác không và là tam giác gì? Câu lệnh điều kiện và rẽ nhánh 24
- Bài tập 1 (if) #include void main() { int n; printf(“Nhap mot so nguyen: ”); scanf(“%d”, &n); if (n == 1) printf(“Mot”); else if (n == 2) printf(“Hai”); else printf(“Khong biet doc”); } Câu lệnh điều kiện và rẽ nhánh 25
- Bài tập 1 (switch) #include void main() { int n; printf(“Nhap mot so nguyen: ”); scanf(“%d”, &n); switch (n) { case 1: printf(“Mot”); break; case 2: printf(“Hai”); break; case 3: printf(“Ba”); break; default: printf(“Ko biet doc”); } } Câu lệnh điều kiện và rẽ nhánh 26
- Bài tập2 #include void main() { char ch; printf(“Nhap mot ky tu: ”); scanf(“%c”, &ch); if (ch >= ‘a’ && ch = ‘A’ && ch <= ‘Z’) ch = ch + 32; printf(“Ky tu sau khi doi: %c”, ch); } Câu lệnh điều kiện và rẽ nhánh 27
- Bài tập3 #include #include void main() { int a, b; printf(“Nhap a, b: ”); scanf(“%d%d”, &a, &b); if (a == 0) if (b == 0) printf(“Phuong trinh VSN”); else printf(“Phuong trinh VN”); else printf(“Nghiem = %f”, float(-b)/a); } Câu lệnh điều kiện và rẽ nhánh 28
- Bài tập4 #include void main() { int a, b, c; printf(“Nhap a, b, c: ”); scanf(“%d%d%d”, &a, &b, &c); if (a == 0) { // Giai PT Bac 1 o day } else { // Giai PT Bac 2 o day } } Câu lệnh điều kiện và rẽ nhánh 29
- Bài tập5 #include void main() { int a, b, c, d, min; printf(“Nhap a, b, c, d: ”); scanf(“%d%d%d%d”, &a, &b, &c, &d); min = a; if (b < min) min = b; if (c < min) min = c; if (d < min) min = d; printf(“So nho nhat la %d”, min); } Câu lệnh điều kiện và rẽ nhánh 30
- Bài tập6 #include void main() { int a, b, c, d, tam; printf(“Nhap a, b, c, d: ”); scanf(“%d%d%d%d”, &a, &b, &b, &d); if (a > b) { tam = a; a = b; b = tam; } printf(“Cac so theo thu tu tang dan: ”); printf(“%d %d %d %d”, a, b, c, d); } Câu lệnh điều kiện và rẽ nhánh 31
- Bài tập7 Nên khai báo hằng số lưu giá tiềnvàkm #define G1 15000 #define G2 13500 #define G3 11000 Cách tính tiềndựatrênsố km n n = 1 Î T = G1 2 ≤ n ≤ 5 Î T = G1 + (n – 1)*G2; n > 5 Î T = G1 + 4*G2 + (n – 1 – 4)*G3; n > 120 Î T = T*0.9; Câu lệnh điều kiện và rẽ nhánh 32