Bài giảng Kĩ thuật lập trình - Trần Ngọc Bảo

pdf 50 trang huongle 2120
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kĩ thuật lập trình - Trần Ngọc Bảo", để 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:

  • pdfbai_giang_ki_thuat_lap_trinh_tran_ngoc_bao.pdf

Nội dung text: Bài giảng Kĩ thuật lập trình - Trần Ngọc Bảo

  1. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học ÔNÔN THITHI TTỐỐTT NGHINGHIỆỆPP Kỹ thuật lập trình Trần Ngọc Bảo Email: tnbao.dhsp@gmail.com
  2. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học KKỸỸ THUTHUẬẬTT LLẬẬPP TRÌNHTRÌNH • Kỹ thuật lập trình căn bản • Kỹ thuật lập trình hướng đối tượng
  3. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học KKỸỸ THUTHUẬẬTT LLẬẬPP TRÌNHTRÌNH • Kỹ thuật lập trình căn bản • Kỹ thuật lập trình hướng đối tượng
  4. Kỹ thuật lập trình căn bản • Kiểu dữ liệu, hằng, biến P P • Biểu thức, câu lệnh, chú thích Ệ Ệ • Nhập/xuất dữ liệu T NGHI T NGHI • Các cấu trúc điều khiển Ố Ố P TRÌNH P TRÌNH – Cấu trúc điều kiện Ậ Ậ – Cấu trúc chọn T L T L – Cấu trúc lặp Ậ Ậ • Mảng 1 chiều, mảng 2 chiều NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – Nhập/xuất mảng Ỹ Ỹ I GI I GI K K – Một số thao tác cơ bản À À B B • Hàm/thủ tục – Tham số • Con trỏ, địa chỉ TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H4HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (4)(4)
  5. Kỹ thuật lập trình căn bản • Kiểu dữ liệu, hằng, biến P P • Biểu thức, câu lệnh, chú thích Ệ Ệ • Nhập/xuất dữ liệu T NGHI T NGHI • Các cấu trúc điều khiển Ố Ố P TRÌNH P TRÌNH – Cấu trúc điều kiện Ậ Ậ – Cấu trúc chọn T L T L – Cấu trúc lặp Ậ Ậ • Mảng 1 chiều, mảng 2 chiều NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – Nhập/xuất mảng Ỹ Ỹ I GI I GI K K – Một số thao tác cơ bản À À B B • Hàm/thủ tục – Tham số • Con trỏ, địa chỉ TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H5HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (5)(5)
  6. Kiểu dữ liệu, hằng, biến • Kiểu dữ liệu P P Ệ Ệ – Số nguyên • Số nguyên có dấu – 2 byte: int T NGHI T NGHI – 4 byte: long Ố Ố P TRÌNH P TRÌNH • Số nguyên không dấu Ậ Ậ – 2 byte: unsigned int T L T L – 4 byte: unsigned long Ậ Ậ – Số thực NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả • 4 byte: float Ỹ Ỹ • 8 byte: double I GI I GI K K À À B B – Ký tự • Có dấu: char • Không dấu: unsigned char – Chuỗi TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H6HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (6)(6)
  7. Kiểu dữ liệu, hằng, biến • Hằng P P Ệ Ệ – Hằng ký tự: • Được viết trong dấu nháy đơn ‘’ T NGHI T NGHI • Ví dụ: ‘A’, ‘a’ Ố Ố P TRÌNH P TRÌNH Ậ Ậ • Không viết “A” hoặc “a” T L T L – Hằng chuỗi Ậ Ậ • Được viết trong dấu nháy đơn “” NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả • Ví dụ: “Nguyen Van A”, “Ky thuat lap trinh” Ỹ Ỹ I GI I GI K K • Không viết ‘A’ hoặc ‘a’ À À B B – Hằng số TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H7HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (7)(7)
  8. Kiểu dữ liệu, hằng, biến • Hằng P P Ệ Ệ –Một số hằng ký tự đặc biệt: Hằng Ký tự T NGHI T NGHI Ố Ố ‘\n’ Xuống hàng P TRÌNH P TRÌNH Ậ Ậ ‘\r’ CR (về đầu dòng) ‘\t’ Tab T L T L Ậ Ậ ‘\b’ Backspace ‘\\’ \ NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả ‘\”’ “ Ỹ Ỹ I GI I GI K K ‘\’’ ‘ À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H8HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (8)(8)
  9. Kiểu dữ liệu, hằng, biến • Hằng P P Ệ Ệ – Định nghĩa hằng trong C • Cú pháp – #define T NGHI T NGHI Ố Ố • Ví dụ: P TRÌNH P TRÌNH – #define MAX 100 Ậ Ậ – #define Pi 3.14 T L T L Ậ Ậ – Định nghĩa hằng trong C++ • Cú pháp NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – const = ; Ỹ Ỹ I GI I GI – const = ; K K À À B B • Ví dụ: – const int MAX = 100; – const float Pi = 3.14 ; – const NMAX = 100; TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H9HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (9)(9)
  10. Kiểu dữ liệu, hằng, biến • Biến P P Ệ Ệ – Cú pháp • ; • , ; T NGHI T NGHI Ố Ố • = giá trị; P TRÌNH P TRÌNH Ậ Ậ – Ví dụ: T L – int a, A; T L Ậ Ậ – float x1, x2; – double y1 = 1.2, y2 = 2.3; NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – Phạm vi của biến Ỹ Ỹ I GI I GI K K • Biến toàn cục À À B B • Biến cục bộ TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN10 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (10)(10)
  11. Kỹ thuật lập trình căn bản • Kiểu dữ liệu, hằng, biến P P • Biểu thức, câu lệnh, chú thích Ệ Ệ • Nhập/xuất dữ liệu T NGHI T NGHI • Các cấu trúc điều khiển Ố Ố P TRÌNH P TRÌNH – Cấu trúc điều kiện Ậ Ậ – Cấu trúc chọn T L T L – Cấu trúc lặp Ậ Ậ • Mảng 1 chiều, mảng 2 chiều NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – Nhập/xuất mảng Ỹ Ỹ I GI I GI K K – Một số thao tác cơ bản À À B B • Hàm/thủ tục – Tham số • Con trỏ, địa chỉ TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN11 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (11)(11)
  12. Biểu thức, câu lệnh, chú thích • Biểu thức P P Ệ Ệ – Biểu thức là một dãy các biến, hằng và các phép toán (+, -, *, ) T NGHI T NGHI Ố Ố – Ví dụ: P TRÌNH P TRÌNH Ậ Ậ • A = (b+c)/(c+d) + 5; T L T L • A > B Ậ Ậ • C == B NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – Các phép toán trong biểu thức Ỹ Ỹ I GI I GI K K • Phép toán số học: +, -, *, /, À À B B • Phép toán so sánh: >, <, ==, !=, • Các phép toán khác: ++, , +=, -=, TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN12 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (12)(12)
  13. Biểu thức, câu lệnh, chú thích •Biểu thức P P Ệ Ệ –Phép toán số học: +, -, *, /, T NGHI T NGHI Ký hiệu Phép toán Ố Ố P TRÌNH P TRÌNH Ậ Ậ + Phép cộng T L T L - Phép trừ Ậ Ậ * Phép nhân NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả / Phép chia nguyên Ỹ Ỹ I GI I GI K K À À % Phần dư B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN13 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (13)(13)
  14. Biểu thức, câu lệnh, chú thích •Biểu thức - Phép toán số học: +, -, *, /, P P Ệ Ệ Phép chia / trên số thực float a = 3, b = 2, C; T NGHI T NGHI Ố Ố C = a/b; P TRÌNH P TRÌNH Ậ Ậ Kết quả C = a/b = 3/2 = 1.5 T L T L Ậ Ậ NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN Phép chia / trên số nguyên THU THU Ả Ả Ỹ Ỹ I GI int a = 3, b = 2, C; I GI K K À À B C = a/b; B Kết quả C = a/b = 3/2 = 1 3 chia cho 2 được 1(dư 1) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN14 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (14)(14)
  15. Biểu thức, câu lệnh, chú thích •Biểu thức - Phép toán số học: +, -, *, /, P P Ệ Ệ Phép chia / trên số thực, số nguyên int a = 3, b = 2; T NGHI T NGHI Ố Ố float C; P TRÌNH P TRÌNH Ậ Ậ C = a/b; T L T L Kết quả C = a/b = 3/2 = 1 Ậ Ậ NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN Ép kiểu THU THU Ả Ả Ỹ Ỹ I GI int a = 3, b = 2 I GI K K À À B float C; B C = float(a)/b; C = a/float(b);C = float(a/b); Kết quả C = 1.5 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN15 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (15)(15)
  16. Biểu thức, câu lệnh, chú thích •Biểu thức - Phép toán số học: +, -, *, /, P P Ệ Ệ Lấy phần dư % trong phép chia nguyên ™ Ví dụ 1 T NGHI T NGHI int a = 10, b = 5, C; Ố Ố P TRÌNH P TRÌNH C = a%b; Ậ Ậ Kết quả C = a%b = 10%5 = 0 T L T L Ậ Ậ 10 chia cho 5 dư 0 NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả ™ Ví dụ 2 Ỹ Ỹ I GI I GI K K int a = 10, b = 4, C; À À B B C = a%b; Kết quả C = a%b = 10%4 = 2 10 chia cho 4 dư 2 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN16 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (16)(16)
  17. Biểu thức, câu lệnh, chú thích •Biểu thức P P Ệ Ệ –Phép toán so sánh: >, Phép so sánh lớn hơn (>) Ậ Ậ = Phép so sánh lớn hơn hoặc NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN bằng (≥) THU THU Ả Ả Ỹ Ỹ <= Phép so sánh nhỏ hơn hoặc I GI I GI K K bằng (≤) À À B B == Phép so sánh bằng (=) != Phép so sánh không bằng (≠) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN17 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (17)(17)
  18. Biểu thức, câu lệnh, chú thích •Biểu thức P P Ệ Ệ –Phép toán logic: &&, ||, ! Ký hiệu Phép toán T NGHI T NGHI Ố Ố P TRÌNH P TRÌNH && Phép AND Ậ Ậ || Phép OR T L T L Ậ Ậ ! Phép NOT NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả Ỹ Ỹ I GI I GI K K À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN18 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (18)(18)
  19. Biểu thức, câu lệnh, chú thích •Biểu thức P P Ệ Ệ –Phép toán khác: ++, , +=, -=, T NGHI T NGHI Ký hiệu Phép toán Ố Ố P TRÌNH P TRÌNH Ậ Ậ ++ i++ ⇔ i = i+1 T L T L i ⇔ i = i-1 Ậ Ậ += i+= 4 ⇔ i = i+4 NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả -= i-= 4 ⇔ i = i-4 Ỹ Ỹ I GI I GI K K À À *= i*= 4 ⇔ i = i*4 B B /= i/= 4 ⇔ i = i/4 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN19 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (19)(19)
  20. Biểu thức, câu lệnh, chú thích • Câu lệnh P P Ệ Ệ – Lệnh trong C/C++ kết thúc bởi dấu ; • Khối lệnh T NGHI T NGHI Ố Ố – Khối lệnh trong C/C++ bắt đầu bằng ký P TRÌNH P TRÌNH Ậ Ậ tự { và kết thúc bởi ký tự } T L T L – Ví dụ Ậ Ậ int a, b, Max, Min; NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả if (a>b) Ỹ Ỹ I GI { I GI K K À À Max =a; B B Min = b; } TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN20 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (20)(20)
  21. Biểu thức, câu lệnh, chú thích • Chú thích P P Ệ Ệ – Chú thích một dòng • Cú pháp T NGHI T NGHI //Nội dung dòng chú thích Ố Ố P TRÌNH P TRÌNH • Ví dụ: Ậ Ậ int a;//Khai bao bien a co kieu so nguyen T L T L Ậ Ậ //Nhap gia tri cho bien a cin>>a; NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả Ỹ Ỹ I GI I GI K K À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN21 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (21)(21)
  22. Biểu thức, câu lệnh, chú thích • Chú thích P P Ệ Ệ – Chú thích nhiều dòng • Cú pháp T NGHI T NGHI /* Ố Ố P TRÌNH P TRÌNH Nội dung các dòng chú thích Ậ Ậ */ T L T L Ậ Ậ • Ví dụ: /* NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả Khai bao bien a co kieu so nguyen Ỹ Ỹ I GI I GI Va nhap gia tri cho bien a K K À À B B */ int a; cin>>a; TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN22 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (22)(22)
  23. Kỹ thuật lập trình căn bản • Kiểu dữ liệu, hằng, biến P P • Biểu thức, câu lệnh, chú thích Ệ Ệ • Nhập/xuất dữ liệu T NGHI T NGHI • Các cấu trúc điều khiển Ố Ố P TRÌNH P TRÌNH – Cấu trúc điều kiện Ậ Ậ – Cấu trúc chọn T L T L – Cấu trúc lặp Ậ Ậ • Mảng 1 chiều, mảng 2 chiều NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – Nhập/xuất mảng Ỹ Ỹ I GI I GI K K – Một số thao tác cơ bản À À B B • Hàm/thủ tục – Tham số • Con trỏ, địa chỉ TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN23 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (23)(23)
  24. Nhập/xuất dữ liệu Lệnh xuất dữ liệu printf P P Ệ Ệ ™ Cú pháp print(“formatstring”,danh sach cac bien); T NGHI T NGHI Ố Ố P TRÌNH P TRÌNH ™ Ví dụ Ậ Ậ T L T L printf(“Chao cac ban”); Ậ Ậ int n=10; NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN printf(“So nguyen n = %d”,n); THU THU Ả Ả Ỹ Ỹ float f1 = 10.2; I GI I GI K K À À printf(“So thuc f1 = %f”,f1); B B long m = 10,k = 12; printf(“So nguyen long m = %ld, k = %ld”,m,k); TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN24 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (24)(24)
  25. Nhập/xuất dữ liệu Lệnh xuất dữ liệu cout P P Ệ Ệ ™ Cú pháp cout<<bien1<<bien2; T NGHI T NGHI cout<<“chuoi”; Ố Ố P TRÌNH P TRÌNH ™ Ví dụ Ậ Ậ T L T L cout<<“Chao cac ban”; Ậ Ậ int n=10; NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN cout<<“So nguyen n = “<<n; THU THU Ả Ả Ỹ Ỹ float f1 = 10.2; I GI I GI K K À À cout<<“So thuc f1 =”<<f; B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN25 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (25)(25)
  26. Nhập/xuất dữ liệu Lệnh nhập dữ liệu scanf P P Ệ Ệ ™ Cú pháp scanf(“formatstring”,&bien1, &bien2); T NGHI T NGHI Ố Ố P TRÌNH P TRÌNH Ậ Ậ ™ Ví dụ T L T L printf(“Nhap so nguyen”); Ậ Ậ int n; NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả scanf(“%d”,&n); Ỹ Ỹ float f1; I GI I GI K K À À scanf(“%f”,&f1); B B long m,k; scanf(“%ld%ld”,&m,&k); TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN26 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (26)(26)
  27. Nhập/xuất dữ liệu Lệnh nhập dữ liệu cin P P Ệ Ệ ™ Cú pháp cin>>bien1>>bien2; T NGHI T NGHI cin>>bien; Ố Ố P TRÌNH P TRÌNH ™ Ví dụ Ậ Ậ T L T L cout >n; THU THU Ả Ả Ỹ Ỹ float f1; I GI I GI K K À À cout >f; TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN27 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (27)(27)
  28. Kỹ thuật lập trình căn bản • Kiểu dữ liệu, hằng, biến P P • Biểu thức, câu lệnh, chú thích Ệ Ệ • Nhập/xuất dữ liệu T NGHI T NGHI • Các cấu trúc điều khiển Ố Ố P TRÌNH P TRÌNH – Cấu trúc điều kiện Ậ Ậ – Cấu trúc chọn T L T L – Cấu trúc lặp Ậ Ậ • Mảng 1 chiều, mảng 2 chiều NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – Nhập/xuất mảng Ỹ Ỹ I GI I GI K K – Một số thao tác cơ bản À À B B • Hàm/thủ tục – Tham số • Con trỏ, địa chỉ TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN28 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (28)(28)
  29. Cấu trúc điều khiển • Cấu trúc điều kiện P P Ệ Ệ – Nếu (biểu thức điều kiện ) thì • Lệnh/khối lệnh S T NGHI T NGHI Ố Ố P TRÌNH P TRÌNH ifif (bieu(bieu thucthuc dieudieu kien)kien) Ậ Ậ {{ S DKDK T L T L //Lenh/Khoi//Lenh/Khoi lenhlenh SS Ậ Ậ }} Đ //Lenh/khoi lenh P NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN //Lenh/khoi lenh P THU THU Ả Ả Ỹ Ỹ SS I GI I GI K K À À B B PP TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN29 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (29)(29)
  30. Cấu trúc điều khiển • Cấu trúc điều kiện P P Ệ Ệ – Ví dụ tìm Max trong 2 số a, b int a,b, Max; MaxMax == a;a; T NGHI int a,b, Max; T NGHI Ố Ố MaxMax == a;a; P TRÌNH P TRÌNH Ậ Ậ ifif (a >”Maxcout>>”Max == ”>>Max”>>Max Đ THU Đ THU Ả Ả Ỹ Ỹ I GI I GI K K À À MaxMax == b;b; B B cout<<cout<< TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN30 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (30)(30)
  31. Cấu trúc điều khiển • Cấu trúc điều kiện P P Ệ Ệ – Nếu (biểu thức điều kiện ) thì • Lệnh/khối lệnh S1 S T NGHI T NGHI – Ngược lại Ố DK Ố DKDK P TRÌNH P TRÌNH • Lệnh/khối lệnh S2 Ậ Ậ Đ T L T L ifif (bieu(bieu thucthuc dieudieu kien)kien) Ậ Ậ {{ S1S1 S2S2 //Lenh/Khoi//Lenh/Khoi lenhlenh S1S1 NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả }} Ỹ Ỹ elseelse PP I GI I GI K K À À {{ B B //Lenh/khoi//Lenh/khoi lenhlenh S2S2 }} //Lenh/khoi//Lenh/khoi lenhlenh PP TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN31 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (31)(31)
  32. Cấu trúc điều khiển • Cấu trúc điều kiện P P Ệ Ệ – Ví dụ tìm Max trong 2 số a, b intint a,b,a,b, Max;Max; T NGHI T NGHI Ố Ố ifif (a>b)(a>b) P TRÌNH P TRÌNH S {{ Ậ Ậ a>ba>b MaxMax == a;a; T L T L }} Đ Ậ Ậ elseelse { Max=b; NG ÔN THI T NG ÔN Max=a; Max=b; NG ÔN THI T NG ÔN { Max=a;Max=a; THU THU Ả Ả Max=b;Max=b; Ỹ Ỹ I GI I GI }} K K À À cout<<“Maxcout<<“Max == ”<<Max;”<<Max; cout<<cout<< B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN32 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (32)(32)
  33. Cấu trúc điều khiển • Cấu trúc chọn P P Ệ Ệ switchswitch (bien)(bien) {{ casecase 1:1: T NGHI T NGHI Ố Ố break;break; P TRÌNH P TRÌNH casecase 2:2: Ậ Ậ break;break; T L T L casecase 3:3: Ậ Ậ break;break; . NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN . THU THU Ả Ả casecase n:n: Ỹ Ỹ I GI I GI break;break; K K À À default:default: B B break;break; }} //Lenh/khoi//Lenh/khoi lenhlenh sausau switchswitch TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN33 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (33)(33)
  34. Cấu trúc điều khiển • Cấu trúc lặp P P Ệ Ệ – Cấu trúc for( ) – Cấu trúc while T NGHI T NGHI Ố Ố – Cấu trúc do while P TRÌNH P TRÌNH Ậ Ậ • Ví dụ: T L T L Ậ Ậ – Viết chương trình tính tổng s= 1+2+ +n NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN – Viết chương trình tính tổng s= 1+3+ +2n-1 THU THU Ả Ả Ỹ Ỹ – Viết chương trình tính tổng s= 2+4+ +2n I GI I GI K K À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN34 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (34)(34)
  35. Cấu trúc điều khiển • Cấu trúc lặp for P P Ệ Ệ forfor (giatridau(giatridau;bieuthuc;bieuthuc logiclogic;buocnhay);buocnhay) {{ //Lenh/Khoi//Lenh/Khoi lenhlenh SS T NGHI T NGHI Ố Ố }} P TRÌNH P TRÌNH Ậ Ậ //Lenh/khoi//Lenh/khoi lenhlenh sausau forfor T L T L Ậ Ậ • Vídụ NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN – Viết chương trình tính tổng s= 1+2+ +n THU THU Ả Ả Ỹ Ỹ I GI I GI K K for(intfor(int i=1,s=0;i<=n;i++)i=1,s=0;i<=n;i++) À À B B {{ ss == s+i;s+i; }} cout<<“Scout<<“S == ”<<s;”<<s; TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN35 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (35)(35)
  36. Cấu trúc điều khiển • Cấu trúc lặp while P P Ệ Ệ whilewhile (bieuthuc(bieuthuc logic)logic) {{ //Lenh/Khoi//Lenh/Khoi lenhlenh SS T NGHI T NGHI }} Ố Ố P TRÌNH P TRÌNH //Lenh/khoi//Lenh/khoi lenhlenh sausau whilewhile Ậ Ậ T L T L • Vídụ Ậ Ậ – Viết chương trình tính tổng s= 1+2+ +n NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả intint i=1,s=0;i=1,s=0; Ỹ Ỹ while(i<=n)while(i<=n) I GI I GI K K À À {{ B B ss == s+i;s+i; i++;i++; }} cout<<“Scout<<“S == ”<<s;”<<s; TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN36 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (36)(36)
  37. Cấu trúc điều khiển • Cấu trúc lặp do while P P dodo Ệ Ệ {{ //Lenh/Khoi//Lenh/Khoi lenhlenh SS } T NGHI } T NGHI Ố Ố whilewhile (bieuthuc(bieuthuc logic)logic);; P TRÌNH P TRÌNH Ậ Ậ //Lenh/khoi//Lenh/khoi lenhlenh sausau do whiledo while T L T L • Vídụ Ậ Ậ – Viết chương trình tính tổng s= 1+2+ +n NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU intint i=1,s=0;i=1,s=0; Ả Ả Ỹ do Ỹ do I GI I GI K K {{ À À B B ss == s+i;s+i; i++;i++; }} whilewhile (i<=n)(i<=n);; cout<<“Scout<<“S == ”<<s;”<<s; TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN37 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (37)(37)
  38. Kỹ thuật lập trình căn bản • Kiểu dữ liệu, hằng, biến P P • Biểu thức, câu lệnh, chú thích Ệ Ệ • Nhập/xuất dữ liệu T NGHI T NGHI • Các cấu trúc điều khiển Ố Ố P TRÌNH P TRÌNH – Cấu trúc điều kiện Ậ Ậ – Cấu trúc chọn T L T L – Cấu trúc lặp Ậ Ậ • Mảng 1 chiều, mảng 2 chiều NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – Nhập/xuất mảng Ỹ Ỹ I GI I GI K K – Một số thao tác cơ bản À À B B • Hàm/thủ tục – Tham số • Con trỏ, địa chỉ TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN38 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (38)(38)
  39. Cấu trúc mảng • Khai báo mảng 1 chiều P P – Cú pháp Ệ Ệ [số phần tử]; – Ví dụ: T NGHI T NGHI Ố Ố P TRÌNH P TRÌNH //Khai báo mảng a chứa 100 số nguyên Ậ Ậ int a[100]; T L T L Ậ • Truy xuất phần tử trong mảng 1 chiều: Ậ – Cú pháp: NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả [chỉ số] Ỹ Ỹ I GI I GI K K À À – Vídụ: B B • a[0]: truy xuất phần tử đầu tiên trong mảng a • a[10]: truy xuất phần tử thứ 11 trong mảng a TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN39 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (39)(39)
  40. Cấu trúc mảng • Nhập/xuất mảng 1 chiều P P Ệ Ệ – Nhập mảng intint A[100],N;A[100],N; T NGHI T NGHI Ố Ố cout >N;cin>>N; for(intfor(int i=0;i >A[i];cin>>A[i]; THU THU Ả Ả }} Ỹ Ỹ I GI I GI K K . . À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN40 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (40)(40)
  41. Cấu trúc mảng • Nhập/xuất mảng 1 chiều P P Ệ Ệ – Xuất mảng intint A[100],N;A[100],N; T NGHI T NGHI //Nhap//Nhap mangmang Ố Ố P TRÌNH cout<<“Mang A co “<<N<<” phan tu: ”; P TRÌNH cout<<“Mang A co “<<N<<” phan tu: ”; Ậ Ậ for(intfor(int i=0;i<N;i++)i=0;i<N;i++) {{ T L T L Ậ Ậ cout<<A[i]<<“cout<<A[i]<<“ ”; ”; }} NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU . THU . Ả Ả Ỹ Ỹ I GI I GI K K À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN41 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (41)(41)
  42. Cấu trúc mảng • Các thao tác khác: P P Ệ Ệ – Tính tổng các phần tử trong mảng – Tính tổng các phần tử chẵn trong mảng T NGHI T NGHI Ố – Tính tổng các phần tử lẻ trong mảng Ố P TRÌNH P TRÌNH Ậ Ậ – Tính tổng các phần tử là số nguyên tố T L T L trong mảng Ậ Ậ – Đếm các phần tử dương/âm trong mảng NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả Ỹ Ỹ – Đếm các phần tử chẵn, lẻ trong mảng I GI I GI K K À À – Đếm các phần tử là số nguyên tố trong B B mảng – Tìm phần tử x trong mảng TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN42 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (42)(42)
  43. Cấu trúc mảng • Khai báo mảng 2 chiều P P – Cú pháp Ệ Ệ [số dòng][số cột]; – Ví dụ: T NGHI T NGHI Ố //Khai báo mảng các số nguyên a có 10 dòng và Ố P TRÌNH P TRÌNH 20 cột Ậ Ậ int a[10][20]; T L T L Ậ Ậ • Truy xuất phần tử trong mảng 2 chiều: NG ÔN THI T NG ÔN – C NG ÔN THI T NG ÔN úpháp: THU THU Ả Ả [chỉ số dòng][chỉ số cột] Ỹ Ỹ I GI I GI K K À À – Vídụ: B B • a[0][1]: truy xuất phần tử dòng đầu tiên, cột thứ 2 trong mảng a • a[1][1]: truy xuất phần tử thứ 2, cột thứ 2 trong mảng a TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN43 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (43)(43)
  44. Kỹ thuật lập trình căn bản • Kiểu dữ liệu, hằng, biến P P • Biểu thức, câu lệnh, chú thích Ệ Ệ • Nhập/xuất dữ liệu T NGHI T NGHI • Các cấu trúc điều khiển Ố Ố P TRÌNH P TRÌNH – Cấu trúc điều kiện Ậ Ậ – Cấu trúc chọn T L T L – Cấu trúc lặp Ậ Ậ • Mảng 1 chiều, mảng 2 chiều NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả – Nhập/xuất mảng Ỹ Ỹ I GI I GI K K – Một số thao tác cơ bản À À B B • Hàm/thủ tục – Tham số • Con trỏ, địa chỉ TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN44 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (44)(44)
  45. Thủ tục/hàm • Khai báo thủ tục P P – Cú pháp Ệ Ệ void (danh sách tham số); – Ví dụ: T NGHI T NGHI Ố //Khai báo thủ tục nhập mảng a có n phần tử Ố P TRÌNH P TRÌNH Ậ void Nhap(int a[],int &n); Ậ • Khai báo hàm: T L T L Ậ Ậ – Cúpháp: NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN (danh sách tham số); THU THU Ả Ả Ỹ Ỹ – Vídụ: I GI I GI K K À À //Khai báo hàm tính tổng các phần tử trong B B mảng a long TinhTong(int a[],int n); TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN45 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (45)(45)
  46. Thủ tục/hàm • Phân loại tham số P P Ệ Ệ – Tham trị – Tham biến T NGHI T NGHI Ố • Khai báo tham trị: Ố P TRÌNH P TRÌNH Ậ Ậ – Cú pháp: T L T L Ậ Ậ – Vídụ: NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả //Khai báo hàm tính tổng các phần tử Ỹ Ỹ I GI I GI K K trong mảng a À À B B long TinhTong(int a[],int n); TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN46 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (46)(46)
  47. Thủ tục/hàm • Khai báo tham biến: P P Ệ Ệ – Cú pháp: & T NGHI T NGHI – Vídụ: Ố Ố P TRÌNH P TRÌNH //Khai báo thủ tục nhập mảng a Ậ Ậ void Nhap(int a[],int &n); T L T L Ậ Ậ NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả Ỹ Ỹ I GI I GI K K À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN47 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (47)(47)
  48. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học KKỸỸ THUTHUẬẬTT LLẬẬPP TRÌNHTRÌNH • Kỹ thuật lập trình căn bản • Kỹ thuật lập trình hướng đối tượng
  49. Kỹ thuật lập trình hướng đối tượng • Khai báo và cài đặt lớp P P Ệ Ệ – Thuộc tính: private, protected, public – Phương thức/xử lý/hàm T NGHI T NGHI Ố Ố P TRÌNH P TRÌNH • Quan hệ giữa các lớp, Sơ đồ lớp Ậ Ậ T L T L • Kế thừa, đa xạ Ậ Ậ – Phân loại kế thừa: private, protected, NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả public Ỹ Ỹ I GI I GI K K À À – Phương thức Override B B – Phương thức Virtual – Lớp trừu tượng TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN49 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (49)(49)
  50. P P Ệ Ệ T NGHI T NGHI Ố Ố P TRÌNH P TRÌNH Ậ Ậ T L T L Ậ Ậ NG ÔN THI T NG ÔN NG ÔN THI T NG ÔN THU THU Ả Ả Ỹ Ỹ I GI I GI K K À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN50 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (50)(50)