Tải bản đầy đủ (.pdf) (275 trang)

Kỹ thuật lập trình chương 1 5

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.15 MB, 275 trang )

KỸ THUẬT LẬP TRÌNH
Chương 1. Tổng quan

1


Chương trình học










Chương 1. Tổng quan
Chương 2. Biến, biểu thức và toán tử
Chương 3. Cấu trúc điều khiển
Chương 4. Hàm
Chương 5. Mảng và con trỏ
Chương 6. Lập trình hướng đối tượng
Chương 7. Lớp
Chương 8. Quá tải
Chương 9: Thừa kế

2


Nội dung chính


• A. Tổng quan.
• B. Cơ sở lập trình C++.
• C. Lập trình hướng đối tượng C++

3


Tài liệu tham khảo
• Osbone, “Borland C++ Builder: The Complete
Referent ”, McGraw Hill, 2001.
• Jarrod Hollingworth, Bob Swart, Mark Cashman, Paul
Gustavson , “Borland C++Builder 6 Developer's
Guide”, SAM, 2003.
• Charlie Calvert's, “Borland C++ Builder Unleashed”,
SAM.
• Frank B. Brokken, Karel Kubat, “C++ Annotations
Version 4.0.0”, University of Groningen, 1997
• Pham Van At, “C++ va Lap trinh huong doi tuong”,
NXB Khoa Hoc Ky Thuat, 2000.
• Jesse Liberty , “Teach Yourself C++ in 21 Days”, SAM,
• Absolute C++, 3rd edition, Walter Savitch, University of
California, San Diego
• Mot so bai giang cua dong nghiep o Dai Hoc Da Nang, 4
Dai Hoc Can Tho.


Mơi trường lập trình
• Borland C++ 3.1 for DOS.
• Visual C++ 6.0, Win32 Console
Application

• Code::Block
• Sublime Text 3, cài đặt bộ gcc
• Dev-C ++

5


Mơi trường lập trình
• Dev-C ++

6


Mơi trường lập trình
• Dev-C ++

7


Mơi trường lập trình
• Dev-C ++

8


A.Tổng quan

9



Lịch sử của C và C++
• Lịch sử của C
– Phát triển từ 2 ngôn ngữ khác : BCPL and B
– Dennis Ritchie (Phịng thí nghiệm Bell)
– Ngơn ngữ phát triển UNIX
– Độc lập với phần cứng
• Các chương trình khả chuyển
– 1989: tiêu chuẩn ANSI
– 1990: Phát hành tiêu chuẩn ANSI và ISO
• ANSI/ISO 9899: 1990
10


Lịch sử của C & C++
 Lịch sử của C


Mục tiêu:
 Đề cao tính hiệu quả
 Có khả năng truy xuất phần cứng ở cấp thấp
 Ngơn ngữ có cấu trúc (thay cho lập trình bằng hợp ngữ)

 C là ngơn ngữ trung gian giữa cấp thấp…



Có khả năng truy xuất bộ nhớ trực tiếp
Cú pháp ngắn gọn, ít từ khố

 … và cấp cao

 Khơng phụ thuộc phần cứng
 Cấu trúc, hàm, khả năng đóng gói
 Kiểm tra kiểu dữ liệu
11


Lịch sử của C và C++
• Lịch sử của C++
– Mở rộng của C
– Những năm đầu thập kỷ 1980:
• Bjarne Stroustrup (Phịng thí nghiệm Bell)
– Lý do cần thiết phải có C++: sự phức tạp, khó
quản lý trong các chương trình C
– Cung cấp khả năng lập trình hướng đối tượng
• Đối tượng: các thành phần phần mềm có thể
dùng lại
– Mơ hình cho các vật thể trong thế giới thực
• Lập trình hướng đối tượng
– Dễ hiểu, dễ sửa lỗi và thay đổi
12


Lịch sử của C và C++
– Ngơn ngữ lai
• Đặc trưng của C
• Đặc trưng hướng đối tượng

•  Sự ra đời của C++
• C++ được thiết kế dành cho lập trình
chun nghiệp  khơng dễ học

• C++ : ngơn ngữ lập trình mạnh nhất từ
trước đến nay
13


Tại sao chọn C/C++
• Ưu điểm
– Hiệu quả
– Linh hoạt, khả năng tuỳ biến cao
– Được hỗ trợ rộng rãi trên các môi trường
khác nhau nhiều thư viện và công cụ sẵn có.

• Nhược điểm:
– Ngơn ngữ [q] phức tạp
– Khó kiểm sốt lỗi hơn so với các ngơn ngữ
bậc cao (Java, .NET, script,…), nhất là
nguyên nhân từ sử dụng con trỏ

14


Một vài điểm chú ý về ngôn ngữ
C/C++
 Cú pháp có phân biệt chữ hoa/thường: int, Int, INT là
hồn tồn khác nhau
 Dấu ; dùng để phân tách các câu lệnh đơn
 Dấu { … } để quy định một khối câu lệnh
 Không được đặt tên biến/hằng/hàm… trùng với từ khố
có sẵn (void, int, char, struct, const,…)
 Trong một khối lệnh khơng có cấu trúc định hướng (if,

for, while,…) thì các lệnh sẽ thực hiện tuần tự từ trên
xuống
 Chú thích:
 trong C bằng: /* … */
 trong C++ có thêm ký hiệu // để chú thích đến hết dòng
15


Thư viện tiêu chuẩn C++
• Các chương trình C++
– Xây dựng từ các mảnh nhỏ (các lớp và các
hàm)

• Thư viện tiêu chuẩn C++
– Tập hợp phong phú các lớp và các hàm có
sẵn

• Viết chương trình theo cách xây dựng các
khối
– Khả năng dùng lại
16


Một mơi trường C++ điển hình
Các giai đoạn của
chương trình C++:
1. Soạn thảo

Editor


2. Tiền xử lý

Preprocessor

3. Biên dịch
4. Liên kết
5. Tải vào bộ nhớ

Disk

Loader

Disk
Disk

Compiler

Linker

Primary
Memory

Disk

Disk

CPU

..
..

..
Primary
Memory

..
..
..

6. Thực hiện
17


Một mơi trường C++ điển hình
Các giai đoạn của
chương trình C++:
1. Soạn thảo

Editor

2. Tiền xử lý

Preprocessor

3. Biên dịch
4. Liên kết
5. Tải vào bộ nhớ

Disk

Loader


Disk
Disk

Compiler

Linker

Primary
Memory

Disk

Disk

CPU

..
..
..
Primary
Memory

..
..
..

6. Thực hiện
18



Một mơi trường C++ điển hình
• Input/output
– cin
• Dịng vào chuẩn
• Thường là bàn phím

– cout
• Dịng ra chuẩn
• Thường là màn hình

– cerr
• Dịng lỗi chuẩn
• Trình bày các thông điệp lỗi

19


Biên dịch chương trình C/C++
• Là q trình chuyển đổi từ mã nguồn (do
người viết) thành chương trình ở dạng mã
máy để có thể thực thi được

20


Kỹ thuật lập trình
 Kỹ thuật lập trình là gì: Kỹ thuật thực thi một giải pháp
phần mềm (cấu trúc dữ liệu + giải thuật) dựa trên nền
tảng một phương pháp luận (methodology) và một hoặc

nhiều ngơn ngữ lập trình phù hợp với yêu cầu đặc thù
của ứng dụng.
Kỹ thuật lập trình
= Tư tưởng thiết kế + Kỹ thuật mã hóa
= Cấu trúc dữ liệu + Giải thuật (hay cịn gọi là thuật tốn)
+ Ngơn ngữ lập trình
Kỹ thuật lập trình
≠ Phương pháp phân tích & thiết kế (A&D)
21


Thế nào là lập trình tốt?
• Giải đúng đề bài, được khách hàng chấp nhận
Tin cậy
— Chương trình chạy đúng
— Chạy ít lỗi (số lượng lỗi ít, cường độ lỗi thấp)
— Mức độ lỗi nhẹ
Hiệu suất
— Chương trình nhỏ gọn, sử dụng ít bộ nhớ
— Tốc độ nhanh, sử dụng ít thời gian CPU
Hiệu quả:
— Thời gian lập trình ngắn,
— Khả năng bảo trì dễ dàng
— Giá trị sử dụng lại lớn
— Sử dụng đơn giản, thân thiện
— Nhiều chức năng tiện ích.

22



Qui trình cơng nghệ phần mềm
 Phát triển phần mềm thường trải qua các giai đoạn
(phases) sau:
 Giai đoạn 1: Phân tích tính khả thi
 Giai đoạn 2: Phân tích và đặc tả yêu cầu
 Giai đoạn 3: Thiết kế
 Giai đoạn 4: Lập trình và sửa lỗi
 Giai đoạn 5: Kiểm thử
 Giai đoạn 6: Cài đặt và bảo trì
 Giai đoạn 7: Cải tiến, nâng cấp
23


Phân tích u cầu (Requirement
analysis)
• Bởi vì: Khách hàng thường khơng biết là họ muốn gì,
nhưng họ biết chắc chắn là họ khơng muốn gì?
• Cho nên: Cần phải cùng với khách hàng làm rõ
những yêu cầu về phạm chức năng, về giao diện sử
dụng.
• Kết quả: Mơ hình đặc tả (Specification Model), một
phần của hợp đồng
• Cần một ngơn ngữ mơ hình hóa dễ hiểu để trao đổi
giữa khách hàng và nhóm phân tích
=> Trả lời câu hỏi: Khách hàng cần những gì?
24


Phân tích hệ thống (System
analysis)

• Phân tích mối liên hệ của hệ thống với mơi trường
xung quanh
• Định nghĩa chức năng cụ thể của các thành phần
• Nhận biết các đặc điểm của từng thành phần
• Phân loại các thành phần, tổng qt hóa, đặc biệt hóa
• Nhận biết mối liên hệ giữa các thành phần
• Kết quả: Mơ hình hệ thống (System model)
• Cần một ngơn ngữ mơ hình hóa để trao đổi giữa các
thành viên trong nhóm phân tích và với nhóm thiết kế
=> Trả lời câu hỏi: Những gì sẽ phải làm?
25


×