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

