TR : : g và C++ : 17209 TRÌNH : DÙNG CHO SV NGÀNH : - 2008 i : Lp trình h tng . : 3 : Khoa hc máy tính. : CNTT : 15508 : 3 75 45 30 0 0 0 : K thut lp trình Pascal, K thut lp trình C. : c phng pháp lp trình h tng lp trình . - rng c lp trình h tng. - tng và l. - gói, th k, a hình. - B mu TS LT BT KT : ++ 3 3 1.1 c l h tng 1.2 Gi thi ngôn ng C++ : 9 6 3 2.1 Cài t ngôn ng C++ 2.2 C trúc mt chng trình C++ 2.3 Ki d li c s 2.4 Quy t s dng t khóa, tên chu, tên t t. 2.5 Các ch th gán, so sánh, i kin n thì , 6 3 3 3.1 Khai báo hàm con, hàm chính. 3.2 Quy t ki d li, ki tr. 3.3 ngh ch hàm, tham s ng 3.5 . ++ 9 5 3 1 4.1 tng vào ra cout, cin 4.2 dòng d li lên màn hình 4.3 Nhp dòng d li t bàn phím 4.4 d dòng d li hi th 4.5 Vào ra v tp 18 8 9 1 5.1 ngh tng 5.2 Khai báo l ii 5.3 Hàm thi lp, hu b 5.4 Thành ph t, hàm bn, l bn 5.5 ngh ch toán t Chng 6: Th k 9 6 3 6.1 L c s, l dn xu 6.2 Quy t tha k 6.3 Tng thích l c s và l d xu 6.4 n tha k, a tha k 6 3 3 7.1 Hàm , ràng buc t, ng 7.2 a th : 12 5 6 1 8.1 Hàm b m 8.2 u khuy i c hàm b m 8.3 L b m Chng 9: 3 3 : 2. Ph Vn . K thut lp trình h tng. NXB KHKT. 1998 3n. : - thc hành. - . 1 ++ 1. . . : . 1.1 ( ) . ( ). : : . . , . . . , . 1.2 . . . . 2 . , . . , . . , . , : . , , . , , . 1.3 . . 3 . . . . . Tuy . : . . . . . . . , . . . 1.4 . 4 i (object) , (class) , . (instance) , . (struct hay record ) . : . , . 70% . , . . . ( ) ( . . 2. 1.1 (Astract Data Type) . . 5 . . : t() . . . . (data type) (data structure). ( ) . au theo . : . : ADT Integer: : + . : constructor: sub(k): k. add(k): + k. End 1.2 (Objects) (Classes) . . . data member . function. (instance) . . . ADT, . , . 1.3 (Inheritance) . . . () 6 ( class). . function . . 1.4 Dynamic Binding ( ) ( ) . , . (). . : int main() { Shape shape_list[4]; int choose; int i; for(i=0;i<4;i++) { cin >> choose; if(choose==0) { shape_list[i] = new Circle(); }else{ shape_list[i] = new Rectange(); } } for(i=0;i<4;i++) { shape_list[i]->draw(); } } (file .exe) _ . , . . (polymorphism). [...]... trong số chúng là C++ và Java Mỗi ngôn ngữ đề u có đă ̣c điể m riêng của nó và thích hợp với các lĩnh vực khác nhau nhưng có lẽ C++ là ngôn ngữ cài đặt nhiều đặc điể m của OOP nhấ t 1.2 Ngôn ngƣ̃ lâ ̣p trinh C++ ̀ C++ là một ngôn ngữ lập trình hướng đối tượng được Bjarne Stroustrup (AT & T Bell Lab) (giải thưởng ACM Grace Murray Hopper năm 1994) phát triển từ ngôn ngữ C C++ kế thừa cú... hàm trong một file ph ải truy cập tới các hàm và dữ liệu trong các file khác Khi biên dich mô ̣t file , trình biên dịch C hoặc ̣ C++ phải biết về các hàm và dữ liệu trong các file khác đặc biệt là tên và cách dùng chúng Trình biên dịch đảm bảo c ác hàm và dữ liệu được sử dụng đúng đắn Qúa trình báo cho trình biên dịch tên và nguyên mẫu của các hàm và dữ liệu bên ngoài được gọi là khai báo (declaration)... u (tracing) quá trình thực hiện của nó qua toàn bộ mã nguồn Mô ̣t vài trình biên dich giải quyế t vấ n đề tố c đô ̣ biên dich bằ ng cách thực hiê ̣n quá ̣ ̣ trình biên dịch trong bộ nhớ (in-memory compilation) Các tr ình biên dịch theo kiểu này lưu trình biên dịch trong bộ nhớ RAM Đối với các chương trình nhỏ , quá trình này có thể xem như là một trình thông dịch Quá trình biên dịch... đặc điểm gỡ lỗi của trình biên dịch đã cải tiến một cách đáng kể qua thời gian Các trình biên dịch đầu tiên chỉ sinh ra mã máy , và lập trình viên phải chèn các câu lê ̣nh in vào để xem thực sự chương trinh đang làm gì Điề u này không phải lúc nào ̀ cũng hiệu quả Các trình biên dịch hi ện đại có thể chèn các thông tin về mã nguồn vào mã thực hiện của chương trình Thông tin này... một chương trình có thể thực hiện ̣ đươ ̣c và hê ̣ điề u hành có thể na ̣p vào bô ̣ nhớ và cha ̣y Đây là pha cuố i cùng trong quá trình biên dịch Các đặc điểm của các tr ình liên kết thay đổi phụ thuộc vào các hệ thống khác nhau Nói chung chúng ta chỉ cần chỉ rõ cho trình liên kết biết tên của các module object và các thư viện mà chúng ta muốn liên kết , và tên của chương trình khả... ra chúng ta cầ n chỉ rõ tên thư viê ̣n cho trình liên kết (chẳ ng ha ̣n thư viê ̣n graphics không phải là mô ̣t thư viê ̣n chuẩ n ) 1.2 Chƣơng trinh đầ u tiên ̀ Cách tốt nhất để học lập trình là xem các chƣơng trình của n gƣời khác viế t và học tập các kỹ thuật lập trình của họ Sau đây là chƣơng trinh HelloWorld đƣơ ̣c ̀ viế t bằ ng C++, mô ̣t chƣơng trinh mà hầ u hế t các sách... vì cần sử dụng đối tượng cout trong thư viê ̣n iostream Tiế p theo là hàm main () có kiểu trả về là int và không nhận tham số nào Giố ng như C tấ t cả các chương trình C ++ đều có một và duy nhất một hàm main () và nếu chúng ta không nói gì có nghĩa là hàm main sẽ trả về m ột giá trị có kiểu int nên để tránh một vài rắc rối chúng ta nên xác định kiểu của hàm main là int và trả về 0 trước... ta thấy rõ lời gọi tới hàm draw sẽ được gửi tới cho các đối tượng của hai lớp Circle và Rectange ta ̣i thời điể m chương trinh đươ ̣c thực hiê ̣n ̀ Ngoài các khái niệm cơ bản trên OOP còn có thêm một số khái niệm khác chẳng hạn như name space và exception handling nhưng không phải là các khái niệm bản chấ t 3 Ngôn ngƣ̃ lâ ̣p trinh C++ và OOP ̀ Giố ng như bấ t kỳ mô ̣t ngôn ngữ nào của... đinh da ̣ng chuẩ n cho phép các ̣ tên file header có thể dài hơn 8 ký tự và bỏ đi phần tên mở rộng Để phân biê ̣t mô ̣t chương trinh C và C ++ đôi khi người ta còn dùng cách thêm mô ̣t ̀ ký tự “c” vào trước tên của các file header , chi tiế t này cũng đươ ̣c chấ p nhâ ̣n đố i với C và C++ Quá trình liên kết Trình liên kết tập hợp các module object (thườ ng là các file có phầ n mở... thái tự nhiên của thế giới thực và xây ̀ ̀ dựng các chương trinh dựa trên các mô hinh đó ̀ ̀ Các chương trình thực hiện chức năng mô tả phương pháp cài đặt của mô hình Các thế hệ ngôn ngữ lập trình: Có thể phân chia các thế hê ̣ ngôn ngữ lâ ̣p trình thành 4 thế hê ̣: 1: vào năm 1954 – 1958 (Fortran I) với đă ̣c điể m là các biể u thức toán ho ̣c 2: vào năm 1959 – 1961 (Fortran II, . K thut lp trình Pascal, K thut lp trình C. : c phng pháp lp trình h tng lp trình . . 1.2 Gi thi ngôn ng C++ : 9 6 3 2.1 Cài t ngôn ng C++ 2.2 C trúc mt chng trình C++ 2.3 Ki d. : g và C++ : 17209 TRÌNH : DÙNG CHO SV NGÀNH :