Xem mẫu
- om
.c
Lập trình
ng
co
an
th
ng
CHƯƠNG 1: GiỚI THIỆU
o
du
u
cu
2/10/2017
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chương 1: Mở đầu
1.1 Giới thiệu
om
1.2 Giới thiệu chung về kỹ thuật lập trình
.c
1.3 Một số kỹ thuật lập trình cơ bản
ng
co
1.4 Các bước phát triển chương trình
an
1.5 Lịch sử ngôn ngữ C/C++
th
o ng
du
u
cu
Chương 1: Mở đầu 2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1.1 Giới thiệu
3 tín chỉ = 45 tiết
om
Học trên lớp + thực hành
.c
ng
Điểm=Điểm giữa kỳ (30%)+Điểm thi cuối kỳ(70%)
co
Không làm bài tập về nhà: trừ điểm giữa kỳ.
an
Mục đích môn học: trang bị cho sinh viên kiến thức cơ
th
bản về C/C++, cấu trúc dữ liệu.
o ng
du
u
cu
Chương 1: Mở đầu 3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Nguyên tắc học tập
om
Tích cực, chủ động học thường xuyên
.c
Kết hợp giữa nghe giảng, tham khảo tài liệu và thực
hành.
ng
co
Không nên học thuộc lòng, học chay
an
Không nên mong đợi nhiều vào ôn tập
th
Không nên dựa dẫm vào các bài tập mẫu trong sách
o ng
du
u
cu
Chương 1: Mở đầu 4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Công cụ học tập
Máy tính PC
om
Công cụ lập trình: Visual C++, Visual studio C++
.c
.NET, Dev C++.
ng
Nền ứng dụng: Win32 Console Application
co
Tài liệu tham khảo:
an
1. GS Phạm Văn Ất: Kỹ thuật lập trình C/C++
th
2. Stanley B. Lippman, Josée Lajoie: C++ Primer. 3rd Edition.
ng
Addison-Wesley 1998.
o
du
3. Bjarne Stroustrup: The C++ Programming Language.
3rd Edition. Addison-Wesley 1997.
u
cu
4. David Musser,…:C++ Programming with Standard
Template Library . 2nd Edition, Addison-Wesley 1998.
5. Bruce Eckel: Thinking in C++. www.bruceeckel.com, 2003.
Chương 1: Mở đầu 5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1.2 Giới thiệu về kỹ thuật lập trình
Kỹ thuật lập trình là gì?
om
– Là kỹ thuật thực thi một giải pháp phần mềm
.c
– Dựa trên nền tảng một phương pháp luận
ng
– Dùng một hoặc nhiều ngôn ngữ lập trình phù hợp với đặc
thù của ứng dụng
co
an
Kỹ thuật lập trình= Kỹ thuật mã hóa?
th
o ng
Kỹ thuật lập trình = Tư tưởng thiết kế + Kỹ thuật mã hóa
du
= Cấu trúc dữ liệu + Giải thuật + Ngôn ngữ lập trình
u
cu
Chương 1: Mở đầu 6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Thế nào là lập trình
Viết chương trình tính giai thừa của số 100?
om
Viết một chương trình in ra 100 số nguyên tố đầu tiên?
.c
ng
Có phải lập trình không?
co
an
Viết một hàm tính giai thừa?
th
Viết một chương trình in ra N số nguyên tố đầu tiên?
o ng
Có phải lập trình không?
du
u
cu
Chương 1: Mở đầu 7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Thế nào là lập trình tốt?
Đúng yêu cầu của khách hàng
Tin cậy
om
– Chương trình chạy đúng
.c
– Chạy ít lỗi (số lượng lỗi ít, cường độ lỗi thấp)
ng
– Mức độ lỗi nhẹ
co
Hiệu suất
an
– Chương trình nhỏ gọn, sử dụng ít bộ nhớ
th
– Tốc độ nhanh, sử dụng ít thời gian CPU
ng
Hiệu quả:
o
– Thời gian lập trình ngắn,
du
– Khả năng bảo trì dễ dàng
u
– Giá trị sử dụng lại lớn
cu
– Sử dụng đơn giản, thân thiện
– Nhiều chức năng tiện ích
Chương 1: Mở đầu 8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Làm thế nào để lập trình tốt?
Học cách tư duy và phương pháp lập trình
om
– Tư duy toán học, tư duy logic, tư duy có cấu trúc, tư duy
hướng đối tượng, tư duy tổng quát
.c
– Tìm hiểu về cấu trúc dữ liệu và giải thuật
ng
Hiểu sâu về máy tính
co
– Tương tác giữa CPU, chương trình và bộ nhớ
an
– Cơ chế quản lý bộ nhớ
th
Nắm vững ngôn ngữ lập trình ng
– Biết rõ các khả năng và hạn chế của ngôn ngữ
o
– Kỹ năng lập trình (đọc thông, viết thạo)
du
Tự rèn luyện trên máy tính
u
cu
– Hiểu sâu được các điểm nêu trên
– Rèn luyện kỹ năng lập trình
– Thúc đẩy sáng tạo
Chương 1: Mở đầu 9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các nguyên tắc cơ bản
om
Trừu tượng hóa
Chắt lọc ra những yếu tố quan trọng, bỏ qua những chi tiết
.c
kém quan trọng
ng
Đóng gói
co
Che giấu và bảo vệ các dữ liệu quan trọng qua một giao diện
an
có kiểm soát
th
Module hóa ng
Chia nhỏ đối tượng/ vấn đề thành nhiều module nhỏ để dễ
can thiệp và giải quyết
o
du
Phân cấp
Phân hạng hoặc sắp xếp trật tự đối tượng theo các quan hệ
u
cu
trên dưới
Chương 1: Mở đầu 10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1.3 Một số kỹ thuật lập trình cơ bản
Lập trình tuần tự
om
Lập trình có cấu trúc
.c
Lập trình module
ng
co
Lập trình hướng đối tượng
an
Lập trình tổng quát
…
th
o ng
du
u
cu
Chương 1: Mở đầu 11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lập trình tuần tự (Sequential Programming)
Phương pháp cổ điển nhất.
om
Chương trình gồm một chuỗi các lệnh kế tiếp nhau.
.c
ng
Mức trừu tượng thấp
co
Điều khiển chương trình bằng các lệnh rẽ nhánh,
an
lệnh nhảy, lệnh gọi chương trình con.
th
Ví dụ ngôn ngữ đặc thù:
ng
– Ngôn ngữ máy
o
du
– ASSEMBLY
– BASIC
u
cu
Chương 1: Mở đầu 12
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lập trình tuần tự: Ví dụ tính giai thừa
1: MOV AX, n
om
2: DEC n
.c
3: CMP n, 1
ng
co
4: JMPI
an
5: MUL AX, n
th
6: JMP 2
ng
7: MOV n, AX
o
du
8: RET
u
cu
Chương 1: Mở đầu 13
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lập trình có cấu trúc (structured programming)
Cấu trúc hóa dữ liệu (xây dựng kiểu dữ liệu) và cấu
om
trúc hóa chương trình để tránh các lệnh nhảy.
.c
Phân tích và thiết kế theo trật tự từ trên xuống và
ng
thực hiện từ dưới lên.
co
Trong lập trình có cấu trúc chỉ sử dụng các cấu trúc
an
điều khiển rẽ nhánh ( if then else...), vòng lặp
th
(while...) và thoát ra (exit). ng
Ví dụ các ngôn ngữ đặc thù:
o
du
– PASCAL, FORTRAN, C,...
u
cu
Chương 1: Mở đầu 14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lập trình có cấu trúc: Ví dụ tính giai thừa (PASCAL)
function gthua(n: interger) : interger
om
var gt: interger;
.c
begin
gt := n;
ng
while (n > 1) do
co
begin
an
dec(n);
th
gt := gt * n; ng
end
o
gthua := gt;
du
end
u
end;
cu
Chương 1: Mở đầu 15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lập trình module (modular programming)
Lập trình module là một dạng cải tiến của lập trình
om
có cấu trúc. Chương trình được cấu trúc nghiêm ngặt
.c
hơn, dùng đơn vị cấu trúc là module.
Module:
ng
co
– Một đơn vị cấu trúc độc lập, được chuẩn hóa dùng để tạo lập
một hệ thống.
an
– Mỗi module bao gồm phần giao diện (mở) và phần thực hiện
(che giấu)
th
ng
– Các module giao tiếp với nhau thông qua các giao diện được
o
du
đặc tả rất chính xác.
Ví dụ ngôn ngữ tiêu biểu:
u
cu
– Modula-2, xây dựng trên cơ sở PASCAL, do Niclaus Wirth
thiết kế năm 1977.
Chương 1: Mở đầu 16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lập trình hướng đối tượng (object-oriented programming)
Xây dựng chương trình ứng dụng dựa trên các cấu
om
trúc dữ liệu trừu tượng (lớp), các thể nghiệm của các
.c
cấu trúc đó (đối tượng) và quan hệ giữa chúng (quan
ng
hệ lớp, quan hệ đối tượng).
co
Ba nguyên lý cơ bản:
an
– Đóng gói dữ liệu (data encapsulation)
th
– Dẫn xuất/thừa kế (subtyping/inheritance)
ng
– Đa hình/đa xạ (polymorphism)
o
du
Ví dụ ngôn ngữ hỗ trợ tiêu biểu:
u
– C++, C#
cu
– Java,
– ...
Chương 1: Mở đầu 17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Ví dụ minh họa: Quản lý sinh viên (C++)
class Date {
om
int Day, Month, Year;
public:
.c
void setDate(int, int, int);
...
ng
};
class Student {
co
string name;
an
Date dob;
int code;
th
public: ng
Student(string n, Date d, int c);
...
o
du
};
class StudentList {
u
Student* list;
cu
public:
void addStudent(Student*);
...
};
Chương 1: Mở đầu 18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lập trình tổng quát (generic programming)
Một tư duy lập trình mở, trên quan điểm tổng quát
om
hóa tất cả những gì có thể nhằm đưa ra một khuôn
mẫu giải pháp cho nhiều bài toán lập trình cụ thể.
.c
Ưu điểm:
ng
co
– Giảm tối đa lượng mã nguồn
an
– Tăng nhiều lần giá trị sử dụng lại của phần mềm
th
– Có thể kết hợp tùy ý với các phương pháp luận khác
ng
– Tính khả chuyển cao
o
Các hình thức tổng quát hóa:
du
– Kiểu dữ liệu
u
cu
– Phép toán cơ bản
– Cấu trúc dữ liệu
– Quản lý bộ nhớ,...
Chương 1: Mở đầu 19
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1.4 Các bước phát triển chương trình
Tạo mã nguồn chương trình
om
Biên dịch chương trình mã đích
.c
Liên kết chương trình với các thư viện chương
ng
trình chạy được
co
Nạp và chạy chương trình
an
th
o ng
du
u
cu
Chương 1: Mở đầu 20
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn