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

Chapter1 giới thiệu c++

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 (249.17 KB, 21 trang )

Lập trình
C Ơ G
G Ớ Ệ
C

Ơ
N
G
1:
G
i

I THI

U
7/15/2012
Chương 1: Mở ₫ầu
1.1 Giới thiệu
1
2
Giớithiệ h ề kỹ th ậtlậ tì h
1
.
2
Giới

thiệ
u c
h
ung v



kỹ

th
u
ật

lậ
p
t
r
ì
n
h
1.3 Một số kỹ thuật lập trình cơ bản
1
4
Các bướcpháttriểnchương trình
1
.
4
Các

bước

phát

triển

chương


trình
1.5 Lịch sử ngôn ngữ C/C++
Chương 1: Mở đầu
2
1.1 Giới thiệu
 3 tín chỉ = 45 tiết
 Họctrênlớp+ thựchành
 Điểm=Điểmgiữakỳ (30%)+Điểmthicuốikỳ(70%)
Khô


it

ề hà
t

₫i

i

kỳ

Khô
ng

m

i


t

p v

n

:
t
r


₫i

m g
i

a
kỳ
.
 Thi: lậptrìnhtrêngiấy.

Mục
₫ích
môn
học
:
trang
bị
cho
sinh

viên
kiến
thức


Mục
₫ích
môn
học
:

trang
bị
cho
sinh
viên
kiến
thức

bảnvề C/C++, cấutrúcdữ liệu.
Chương 1: Mở đầu
3
Nguyên tắc học tập
 Tích cực, chủ ₫ộng họcthường xuyên
ế
 K
ế
thợpgiữanghegiảng, tham khảotàiliệuvàthực
hành.


Không nên học
thuộc
lòng
học
chay

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
Không


nên

dựa

dẫm
vào
các
bài
tập
mẫu
trong
sách
Chương 1: Mở đầu
4
Công cụ học tập
 Máy tính PC
 Côn
g
c

l
ập
trình:
V
isual C++ 6.0
(
Visual Studio
g

ập

(
6.0), Visual C++ .NET, Borland C++ Builder
 Nền ứng dụng: Win32 Console Application
 Tài liệuthamkhảo:
1. GS PhạmVăn Ất: Kỹ thuậtlập trình C/C++
2
Stanley B
Lippman
Josée
Lajoie
:
C++ Primer
3
rd
Edition
2
.
Stanley

B
.
Lippman
,
Josée
Lajoie
:

C++

Primer

.
3
Edition
.
Addison-Wesley 1998.
3. Bjarne Stroustrup: The C++ Programming Language.
3
rd
Edition Addison
-
Wesley
1997
3
Edition
.
Addison
Wesley

1997
.
4. David Musser,…:C++ Programming with Standard
Template Library. 2
nd
Edition, Addison-Wesley 1998.
5
Bruce
Eckel
:
Thinking in C++
www bruceeckel com

2003
Chương 1: Mở đầu
5
.
Bruce

Eckel
:

Thinking

in

C++
.
www
.
bruceeckel
.
com
,
2003
.
5
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ấutrúcdữ liệu
+
Giảithuật
+
Ngôn ngữ lậptrình

Cấu

trúc

dữ

liệu

Giải

thuật

Ngôn

ngữ

lập


trình
Chương 1: Mở đầu
6
Thế nào là lập trình
 Viết chương trình tính giai thừa của số 100?

Viếtmộtchương trình in ra
100
số nguyên tố ₫ầutiên?
Viết

một

chương

trình

in

ra

100

số

nguyên

tố

₫ầu


tiên?
Có phảilập trình không?
 Viết một hàm tính giai thừa?

Viếtmộtch ơng trình in ra N số ng ên tố ₫ầ tiên?

Viết

một

ch
ư
ơng

trình

in

ra

N

số

ng
uy
ên

tố


₫ầ
u
tiên?
Có phảilập trình không?
Chương 1: Mở đầu
7
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ươ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ẹ
H
iệ ất

H
iệ
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
Chương 1: Mở đầu
8
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 ₫ốitượng, tư duy tổng quát
hướng

₫ối

tượng,



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ữaCPU ch ơng trình à bộ 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 l
uyệ
n
t
r
ê
n m
áy

t
ính
ự èuyệ tê áyt
—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 ₫ẩysángtạo
Chương 1: Mở đầu
Thúc

₫ẩy

sáng

tạo
9
Các nguyên tắc cơ bản
Trừu tượng hóa

Chắtlọcranhững yếutố quan trọng bỏ qua những chi tiết


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
Ch iấ àbả ệ ádữ liệ t ộti diệ


Ch
e g
iấ
u v
à

bả
o v

c
á
c
dữ

liệ
u quan
t
rọng qua m
ột
g
i
ao
diệ
n
có kiểm soát
Module hóa
Chi hỏ ₫ốit / ấ ₫ề thà h hiề dl hỏ ₫ể dễ

Chi

a n
hỏ

₫ối

t
ượng
/
v

n
₫ề

thà
n
h
n
hiề
u mo
d
u
l
e n
hỏ

₫ể

dễ

can thiệp và giải quyết

Phân cấp
Phân hạng hoặcsắpxếptrậttự ₫ốitượng theo các quan hệ

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

Chương 1: Mở đầu
10
1.3 Một số kỹ thuật lập trình cơ bản
 Lập trình tuần tự
L ìhóấ ú

L
ập tr
ì
n
h
c
ó
c

u tr
ú
c
 Lập trình module

Lậptrìnhhướng ₫ốitượng

Lập

trình

hướng

₫ối


tượng
 Lập trình tổng quát



Chương 1: Mở đầu
11
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

khi

h
tì hbằ álệ h ẽ há h


Đi

u
khi

nc
h
ương
t
r
ì
n
h

bằ
ng c
á
c
lệ
n
h
r

n

n
h
,
lệnh nhảy, lệnh gọi chương trình con.


Ví dụ
ngôn ngữ ₫ặcthù
:


dụ
ngôn

ngữ

₫ặc

thù
:

— Ngôn ngữ máy
— ASSEMBLY
BASIC

BASIC
Chương 1: Mở đầu
12
Lập trình tuần tự: Ví dụ tính giai thừa
 1: MOV AX, n
2
DEC

2
:
DEC

n
 3: CMP n, 1

4
:
JMPI

4
:
JMPI
 5: MUL AX, n

6
:
JMP
2
6
:
JMP
2
 7: MOV n, AX
 8: RET
Chương 1: Mở đầu
13
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.
T

l

tì h ó ấ tú hỉ ử d á ấ tú

T
rong
l

p
t
r
ì
n
h
c
ó
c

u
t
r
ú
c c
hỉ
s


d
ụng c
á

c c

u
t
r
ú
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,
Chương 1: Mở đầu
14
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;
w
hile (n >
1
)

d
o
begin
dec(n);
g
t :=

g
t
*
n;
g
g
end
gthua := gt;
end
end;
Chương 1: Mở đầu
15
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
d ₫

l
dl
h
ơn,
d
ùng

ơn vị c

u trúc
l
à mo

d
u
l
e.
 Module:
Một ₫
ơ
nvị cấutrúc₫ộclập ₫ượcchuẩn hóa dùng ₫ể tạolập

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)
(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.
Vd b ể

V
í
d
ụ ngôn ngữ tiêu
b
i

u:
— 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
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ệutrừutượng (lớp), các thể nghiệmcủacác
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).
Blbả


B
a nguyên
l
ý cơ
bả
n:
— Đóng gói dữ liệu (data encapsulation)

Dẫn xuất/thừa kế
(
subt
yp
in
g
/inheritance
)
(ypg )
— Đa hình/₫a xạ (polymorphism)
 Ví dụ ngôn ngữ hỗ trợ tiêu biểu:
CC

C
++,
C
#
— Java,

Chương 1: Mở đầu
17
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 dob;
int code;
public:
Student(string n, Date d, int c);

};
class StudentList {
Student* list;
public:
void addStudent(Student*);

Chương 1: Mở đầu
18
};
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
ẫ iảihá
hhiề bài t á lậ tì h thể
m


u g
iải
p

p c
h
o n
hiề
u
bài

t
o
á
n
lậ
p
t
r
ì
n
h
cụ
thể
.
 Ưu ₫iểm:

Giảmtối ₫alượng mã nguồn
Giảm


tối

₫a

lượng



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í h khả h ể


n
h

khả
c
h
uy

n cao
 Các hình thức tổng quát hóa:

Kiểudữ liệu
Kiểu

dữ


liệu
— Phép toán cơ bản
—Cấu trúc dữ liệu
Q ả lý bộ hớ
Chương 1: Mở đầu

Q
u

n


bộ
n
hớ
,
19
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
Chương 1: Mở đầu
20
Môi trường/công cụ phát triển
 IDE (Integrated Development Environment)
—Hỗ trợ toàn bộ các bước phát triển chương trình

Ví dụ: MS Visual C++, Borland C++ (Builder), Visual studio

C++

Các công cụ tiêu biểu
Các

công

cụ

tiêu

biểu
— Trình soạn thảo (Editor)
— Trình biên dịch (Compiler)
T ì h liê kết(Li k )

T
r
ì
n
h

liê
n
kết

(Li
n
k
er

)
— Trình nạp (Loader)
— Trình gỡ rối (Debugger)

Trình quản lý dự án (Project Manager)
Chương 1: Mở đầu
21

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×