s ở
GIÁO DỤC VÀ Đ À O TẠO H À
L Ê VĂN H U Ỳ N H (Chủ
G
I
A
O
T
R
N Ộ I
biên)
I
N
H
NGON NGỮ LẬP TRÌNH c
(Dùng
N H À
trong
các
trường
X U Ấ T B Ả N H À
THON)
N Ộ I - 2007
L ờ i giới
thiêu
ước ta dang bước vào thời kỳ cơng
đại hóa
nghiệp
vãn minh,
Trong
nhân
nhằm
hiện
đưa Việt
cách
mạng
Đại
hội
hành
Đảng
Trung
tồn
hiện
nước
to lớn đó, cơng
lực ln giữ vai trị quan
Chấp
trở thành
hóa,
cơng
đại.
sự nghiệp
Ban
Nam
nghiệp
ương
quốc
trọng.
Đảng
lần
tác đào
Báo cáo Chính
Cộng
sản
thứ IX đã chỉ
Việt
tạo
trị
của
Nam
tại
rõ: " P h á t t r i ể n
g i á o dục và đ à o tạo là m ộ t trong những đ ộ n g lực quan trọng
t h ú c đ ẩ y sự n g h i ệ p cơng
nghiệp
hóa,
hiện
đại
hóa,
là đ i ề u
k i ệ n đ ể p h á t t r i ể n n g u ồ n lực c o n n g ư ờ i - y ế u t ố c ơ b ả n đ ể
p h á t t r i ể n x ã h ộ i , tăng truồng k i n h t ế nhanh và b ề n vững".
Quán
và nhận
triệt chủ trương,
thức đúng
giáo
trình
nghị
của Sở Giáo
Uy ban
nhân
cho phép
án biên soạn
học chuyên
việc
nâng
lực Thủ
Trên
chương
nghiệp
cao chất
Hà
Sở Giáo
trình,
lượng
Hà Nội.
đào
đào
số
tạo thực hiện
đề
các trường
ủy, UBND
tạo và phát
định
định
Quyết
đề
231912003,
đã ra Quyết
trong
trình,
tạo, theo
ngày
dục và Đào
giáo trình
(THCN)
lượng
Nội
nước
thành
triển
Trung
này thể
hiện
phố
trong
nguồn
nhân
đơ.
cơ sở chương
và những
Sở Giáo dục và Đào
soạn
phô
và Nhà
của chương
tạo Hà Nội,
tâm sâu sắc của Thành
tạo ban hành
biển
thành
trọng
cao chất
dục và Đào
dân
của Đảng
quyết
đắn về tầm quan
đối với việc nâng
5620ỈQĐ-UB
sự quan
Nghị
chương
trình
khung
kinh nghiệm
của Bộ Giáo
dục và
Đào
rút ra từ thực tế đào
tạo,
tạo đã chỉ đạo các trường
trình,
giáo
trình
một
cách
THCN
tổ
khoa
học,
chức
hệ
3
ị
thống
và cập nhật
tượng
học sinh THCN
Bộ giáo
những
trình
các trường
Hà
ở Hà Nội,
hữu ích cho các trường
dạy
tiễn phù
đồng
dạy
và học
thời là tài liệu
có đào tạo các ngành
đáo bạn đọc quan
tổ chức
là một
trong
và đào
tạo Thủ
"50 năm
Thăng
đối
rập
trong
tham
khảo
kỹ thuật
-
nghiệp
tâm đến vấn để hướng
biên
hoạt
nhiều
bộ chương
động
lập ngành
- Hà
trình,
thực
thiết
đơ để kỷ niệm
thành
Long
soạn
"50 năm
nghiệp,
" và hướng
ủy, UBND,
nghiệp
chuyên
gia đầu
nhà doanh
gia Hội
đồng
nghiệm
Đây
biền
gắng
nhưng
Chúng
ngành,
ngành
các giảng
đồng
phản
giáo
dục
tới kỷ niệm
thành
soạn
chắc
tôi mong
bước
viên,
Thủ
đô ",
"1000
năm
cảm ơn
phô,
các
kiện giúp
biện,
thu các chương
để từng
của ngành
của Thành
đã tạo điều
là lần đầu
chức
này
Hội
trình,
tiên Sở Giáo
giáo
dục
nhà
quản
đỡ, đóng
đồng
Thành
Vụ Giáo
Bộ Giáo dục và Đào tạo, các nhà khoa
nghiệp
tham
trình
Nội".
các sở, ban,
chun
giáo
giải phóng
Sở Giáo dục và Đào tạo Hà Nội chân
bản
với
nghề.
Việc
đọc
hợp
Nội.
này là tài liệu giảng
THON
vụ và đơng
thức thực
kiến
thẩm
học,
các
lý,
các
góp ý
định
dục
và
kiến,
Hội
trình.
và Đào
tạo Hả Nội
tố
cố
chương
trình,
giáo
trình.
Dù
đã hết
chắn
khơng
tránh
khỏi
thiếu
sót,
bất
cập,
ý kiến
đóng
góp
của
bạn
nhận
được
hồn
thiện
những
bộ giáo
trình
trong
các
sức
lần
tái
sau.
GIÁM ĐỐC SỞ G I Á O DỤC V À Đ À O TẠO
Lời nói
đ ầ u
gịn ngữ c được
được phổ
năm
1978.
cơng
ngơn
ngữ đặc biệt
Ngày
nay,
năng.
cụ thông
hiệu
chuyên
thường
của
Ngược
cuốn
Ngôn
kế và lần đầu
thiết
ngữ
của các ngôn
quả và thành
nghiệp,
cài đặt trên
lẻo. Lỏng
trình.
rãi trong
c đã tiến bộ hơn nhiêu
Sức mạnh
và D. Ritchie
lập trình
trong
gia phẩn
tất cả các loại máy
ngữ c khơng
lại, sức mạnh
Rất gần với ngơn
phải
gị bó, khơng
nhà
cứng
và phần
tính
mềm
và
vạn
gọn và
lỏng
tạo của người
lập
từ tính cơ đọng,
ngắn
chế sự sáng
c khơng
lệ thuộc
vào phần
ứng dụng
nhắc,
vì ngồi
c hồn
dụng
tồn
ngữ Turbo
trình
nghiệp
thích
thức
trên các hệ thống
chun
c có tới khơng
c của hãng
Borland
với ANSỈ
học được
phần
này
c. Người
về ngôn
ngữ c trong
cứng hay phần
nhằm
giúp
cho
và các bạn yêu thích
học hồn
mềm thơng
các
bạn
ngơn
giáo
dụng
học
sinh
ngữ lập trình
và khám phá sức mạnh
của c. Ngơn
ngữC
sinh lại có ý đinh
sâu vào phía
sau của các dồng
nhìn
đó mới là cách
học ngơn
của mình
thích
muốn
trong
sao
cho
những
và ni
học
vấn
sinh
khơng
ngữ c. Tác giả thành
dưỡng
lịng
cho thấy rằng c là một ngơn ngữ
Một
là làm
kích
của
cả trình
biên
dưới 80%
mã
của
tác giả là có
cân
một số bổ sung về các hàm đồ hoa, âm thanh
các kiến
Giáo
viết bằng
cứng
đổi.
ngôn
tương
máy
chỉnh
dịch của c lẫn chương
Sự lựa chọn
thống.
cụ đắc lực của các
từ máy tính này sang máy tính khác,
cần thay
hệ
một
cơng
máy tính. Vì vậy, khi chuyển
lệnh khơng
c đã là
là sự đẩy đủ, hồn
hạn
ngữ máy nhưng
trình
trầm
tính.
của c bắt nguồn
c khơng
cao,
bản
hụt
vực lập trình
lĩnh
và trở thành
các chun
ngơn
lẻo nên
cơng
ngữ bậc
tiên
c xuất
từ khi ra đời, mặc dù nhỏ gọn và có vẻ như thiếu
những
và được
rộng
biến
Ngay
trọng
lập trình
B. Kernighan
ham
phải
tồn
có thể n tâm
trình
này để lập
sử
trình
khác.
các
trường
c bước
trung
học
lùm
quen
đầu
dễ học, nhất
là khi
học
lệnh.
thực
tình,
trình
bày
tâm muốn
mê của
và vào ra, Tui bo
Nhưng
qua
người
cách
học
chứ
khơng
trình
khó.
đề mà tác giả cố gắng
thể hiện
trong
giáo
khơng
ngữ
trình
c,
chỉ biết
về ngơn
lập
má
cịn
5
sử dụng
biết
hiệu
khơng
thể xem
dị gỡ
lỗi.
nhẹ,
Giáo trình
Mười
chương
quả
nhất
là khả
khung
phụ
ví dụ minh
bài tập đồ sộ chìa
từ đầu
đã được
hoa
cố gắng
dung
giáo
trình
đến
mơ phỏng
cuối
thực
bảo, góp ý từ phía
mong
Học
biết
tin, PGS.TS.
viện
Qn
qt
tồn
kiện
năng
và khả
năng
bài
tập.
cơ bản
theo
được
trình
Nội dung
từng chương,
minh
trình
và chạy
họa
để tiện
thử thành
ra trên
rất hữu ích với
đấm
các
báo để giáo
màn
đều
cơng.
hình
viên
tra.
được
sử dụng.
chắc chắn giáo trình
phục
Các
đánh
số
một
Các
ví dụ
đều
hình
ảnh
để người
học
minh
dễ
tác giả cũng
cảm
Phạm
chân
ơn Ban
cho
tác giả những
cuốn
giáo
trình
giám
để tác giả hồn
thành
hình
thiện
Nguyễn
Đồn
ý kiến
q
Văn
báu
Ban
hợp
việc dạy và học
nhận
mong
được
sự
các em học sinh và bạn
hiệu
Văn Ất - Đại học Giao
sự, PGS.TS.
cịn có chỗ chưa
vụ tốt nhất cho cơng
ơn sâu sắc PGS.TS.
dành
trường
ESTIH
bản thảo.
Đồng
Xn
- Viện
thơng,
- Viện
góp phần
Huy
Cơng
làm
nghệ
nên
này.
Lê Văn
thời,
Huỳnh
lý
của
chỉ
đọc.
đã hết
tác
Cơng
TS. Dương
Tác gia
6
kỹ
bộ nội dung
cao, tuy khó nhưng
các hình
tế diễn
muốn
thành
viên và tạo điều
thông
trợ giúp
phụ lục và phần
các thầy, các bạn đồng nghiệp,
giả xin chân
xin bày tỏ lòng
cầu
hoa.
giáo
nhưng
các thầy và các bạn học sinh,
động
các
u
chứng.
sai sót. Ngồi
Tác
một
cho q trình dạy, học và kiểm
dịch
Mặc dù đã rất cố gắng,
hoặc
thác
phẩn
theo nội dung
tra kỹ lưỡng,
và kiếm
như
mê.
ví dụ, các bài tập,
kiểm
khai
bao
lục gồm một số bài nâng
Tất cả các
trình
do Bộ Giáo dục và Đào tạo ban hành.
vã học sinh có đủ bài tập dùng
chiều
năng
trình
bạn học sinh giỏi và có lỏng say
Phần
lập
12 chương,
của giáo
bày chi tiết, với rất nhiều
Phần
trường
được chia thành
hai chương
trình
mơi
sức
giả
nghệ
Tử Cường
-
thơng
đã
chất
lượng
tin
của
C h ư ơ n g
Ì
CÁC KHÁI NIỆM Cơ BẢN
ì. CHƯƠNG TRÌNH (PROGRAM)
L à m ộ t g i ả i thuật đ ư ợ c v i ế t b ằ n g m ộ t n g ô n n g ữ l ậ p t r ì n h n à o đ ó m à sau k h i
đ ư ợ c d ị c h t h à n h n g ô n n g ữ của m ộ t m á y t í n h cụ t h ể c ó t h ể d ù n g đ ể g i ả i q u y ế t
m ộ t l ớ p c á c b à i t o á n . C á c bước x ử lý của g i ả i thuật t r o n g c h ư ơ n g t r ì n h đ ư ợ c
g ọ i là c á c c â u l ệ n h (statement) hoặc c á c chỉ l ệ n h ( i n s t r u c t i o n ) t ù y theo c ấ p bậc
của n g ô n ngữ. N g ư ờ i c h u y ê n soạn thảo ra c h ư ơ n g t r ì n h g ọ i là n g ư ờ i l ậ p t r ì n h .
li. NGƠN NGỮ LẬP TRÌNH
L à m ộ t t ậ p h ợ p đ ị n h nghĩa t ư ờ n g m i n h c á c k ý tự, c á c k ý h i ệ u v à c á c q u y
tắc k ế t hợp c h ú n g cho p h é p v i ế t c á c c h ư ơ n g t r ì n h m á y t í n h .
Số lượng c á c k ý tự, k ý h i ệ u trong m ộ t n g ô n n g ữ l ậ p t r ì n h là hữu
hạn.
N g ư ờ i l ậ p t r ì n h c h ỉ đ ư ợ c p h é p sử d ụ n g c á c k ý t ự , k ý h i ệ u đ ó . C á c q u y tắc
n h ằ m đ ả m b ả o đ ể n g ư ờ i l ậ p t r ì n h sử d ụ n g c á c k ý h i ệ u đ ú n g đ ắ n , t ạ o ra đ ư ợ c
c á c t ê n , c á c b i ể u t h ứ c , c á c c â u l ệ n h h ợ p l ệ . Q u y t ắ c đ ể t ạ o ra c á c c â u l ệ n h
g ọ i là c ú p h á p .
IU. TÍNH Cơ ĐỘNG (PORTABILITY)
T í n h c ơ đ ộ n g ( p o r t a b i l i t y ) của m ộ t n g ô n n g ữ l ậ p t r ì n h t h ể h i ệ n k h ả n ă n g
t h í c h ứng c ủ a m ộ t c h ư ơ n g t r ì n h v i ế t b ằ n g n g ô n n g ữ đ ó v ớ i n h i ề u l o ạ i m á y
t í n h v à n h i ề u h ệ đ i ề u h à n h k h á c nhau. N ế u m ộ t c h ư ơ n g t r ì n h v i ế t b ằ n g m ộ t
n g ô n n g ữ n à o đ ó k h i m a n g sang m á y t í n h n à o l ạ i p h ả i c h ỉ n h sửa đ ể p h ù h ợ p
v ớ i m á y t í n h đ ó t h ì ta n ó i là n g ô n n g ữ đ ể v i ế t c h ư ơ n g t r ì n h đ ó k h ơ n g c ó t í n h
cơ động.
7
IV. CÁC L O Ạ I NGƠN NGỮ LẬP TRÌNH
1. N g ô n n g ữ m á y
L à b ộ l ệ n h của c h í p v i x ử lý t r ê n m ộ t l o ạ i m á y t í n h cụ t h ể , t h ể h i ệ n b ằ n g
c á c m ã số, c á c q u y tắc sử d ụ n g c á c m ã s ố đ ó đ ể v i ế t c á c c h ư ơ n g t r ì n h đ i ề u
k h i ể n trực t i ế p h o ạ t đ ộ n g của m á y t í n h t ư ơ n g ứng.
V í d ụ , t r ê n b ộ v i x ử lý
80286, 0 5 0 1 0 0 c ó nghĩa là c ộ n g t h ê m m ộ t số 16 bít c ó g i á trị là Ì v à o thanh
ghi A X .
V i ế t c h ư ơ n g trình bằng n g ơ n ngữ m á y đòi h ỏ i n g ư ờ i lập trình phải am hiểu
sâu sắc c ấ u t r ú c v à h o ạ t đ ộ n g của m á y t í n h . C h ư ơ n g t r ì n h v i ế t b ằ n g n g ô n n g ữ
m á y chạy nhanh và h i ệ u q u ả n h ư n g k h ơ n g c ó tính c ơ đ ộ n g .
2. H ợ p n g ữ ( a s s e m b l y l a n g u a g e )
L à n g ô n n g ữ l ậ p t r ì n h m à m ỗ i c â u l ệ n h ứng v ớ i m ộ t l ệ n h t r o n g n g ô n n g ữ
m á y , n h ư n g thay cho c á c m ã m á y v à c á c đ ị a c h ỉ b ộ n h ớ l à c á c t ừ g ợ i n h ớ
( m e m o n i c s ) . V í d ụ , c ũ n g là l ệ n h c ộ n g t h ê m s ố Ì v à o t h a n h g h i A X , l ệ n h hợp
n g ữ n h ư sau:
A D D A X , 0001 h
L ậ p t r ì n h b ằ n g hợp n g ữ thực c h ấ t là l ậ p t r ì n h b ằ n g n g ô n n g ữ m á y n h ư n g đ ỡ
vất vả h ơ n . D ù n g t r ì n h h ợ p d ị c h (assembler) đ ể d ị c h c h ư ơ n g t r ì n h h ợ p n g ữ sang
n g ô n n g ữ m á y . C h ư ơ n g t r ì n h v i ế t b ằ n g hợp n g ữ c ũ n g k h ô n g c ó t í n h c ơ đ ộ n g .
3. N g ô n n g ữ b i ê n d ị c h
L à n g ơ n ngữ c ó thể được dịch thành n g ô n ngữ m á y b ở i m ộ t c h ư ơ n g trình
dịch (compiler). M ộ t c h ư ơ n g trình được viết bằng n g ơ n ngữ b i ê n dịch được g ọ i
là c h ư ơ n g t r ì n h n g u ồ n ( p r o g r a m source) c h ỉ c h ạ y đ ư ợ c t r ê n m á y t í n h sau k h i đ ã
đ ư ợ c d ị c h sang n g ô n n g ữ m á y . B ả n d ị c h h o à n c h ỉ n h của c h ư ơ n g t r ì n h n g u ồ n c ó
t h ể c h ạ y đ ư ợ c t r ê n m á y t í n h g ọ i là c h ư ơ n g t r ì n h k h ả t h i ( p r o g r a m e x e c u t a b l e ) .
C h ư ơ n g t r ì n h k h ả t h i c ó t h ể c h ạ y đ ư ợ c m à k h ô n g c ầ n đ ế n sự c ó m ặ t của t r ì n h
biên dịch.
4. N g ô n n g ữ t h ô n g d ị c h
Là ngôn ngữ d ù n g đ ể viết các chương trình có thể chạy được trên m á y tính
v ớ i đ i ề u k i ệ n ngay t r ư ớ c k h i thực h i ệ n m ộ t l ệ n h , p h ả i c ó m ộ t c h ư ơ n g t r ì n h
8
t h ô n g d ị c h (interpreter) d i ễ n g i ả i ý nghĩa c â u l ệ n h đ ó t h à n h m ã l ệ n h của m á y
t í n h t ư ơ n g ứng.
C h ư ơ n g t r ì n h v i ế t b ằ n g n g ô n n g ữ t h ô n g dịch p h ả i vừa c h ạ y vừa d ị c h n ê n
c h ạ y c h ậ m , t h i ế u t r ì n h t h ơ n g d ị c h thì k h ô n g c h ạ y đ ư ợ c .
5. N g ô n n g ữ b ậ c
cao
Người lập trình bằng ngơn ngữ bậc cao dùng ngơn ngữ này để trình bày
g i ả i thuật cho c á c b à i t o á n của m ì n h m à k h ô n g c ầ n quan t â m đ ế n c ấ u t r ú c và
hoạt đ ộ n g của m á y t í n h . C á c n g ô n n g ữ bậc cao c ó t h ể là n g ô n n g ữ t h ô n g dịch
hoặc b i ê n d ị c h v à t h ư ờ n g là n g ô n n g ữ b i ê n dịch, c ó t í n h c ơ đ ộ n g
cao.
V. c VÀ CÁC NGƠN NGỮ CÙNG DỊNG
1. c
D o B . K e r n i g h a n v à D . R i t c h i e t h u ộ c B e l l L a b o r a t o r i e s của h ã n g Á T &
T t h i ế t k ế n h ằ m p h ụ c vụ cho v i ệ c v i ế t h ệ đ i ề u h à n h Ư N I X . C h ị u ả n h h ư ở n g
của A L G O L n h ư P A S C A L , n h ư n g c đ ặ c b i ệ t t h u ậ n t i ệ n cho v i ệ c l ậ p t r ì n h
h ệ t h ố n g v à d u n g hoa t ố t t h ế m ạ n h của n g ô n n g ữ bậc cao v à t í n h h i ệ u q u ả
của n g ô n n g ữ m á y . c đ ư ợ c d ù n g n h i ề u đ ể v i ế t c á c h ệ đ i ề u h à n h , c á c c h ư ơ n g
t r ì n h d ị c h , k ể c ả c h ư ơ n g t r ì n h d ị c h của n g ô n n g ữ c . V ì l ậ p t r ì n h v i ê n c ó t h ể
đ ư a v à o c á c c h ỉ l ệ n h t á c d ụ n g trực t i ế p đ ế n v i ệ c b i ể u d i ễ n d ữ l i ệ u theo t ừ n g
bít b ê n t r o n g b ộ x ử l ý , n ê n c h ư ơ n g t r ì n h c đ ã đ ư ợ c b i ê n d ị c h sẽ c h ạ y n h a n h
h ơ n n h i ề u so v ớ i c á c c h ư ơ n g t r ì n h đ ư ợ c v i ế t b ằ n g c á c n g ô n n g ữ l ậ p t r ì n h
bậc cao k h á c . Đ ặ c t r ư n g của c là l ỏ n g l ẻ o n h ư n g n g ắ n g ọ n , t i ế t k i ệ m đ ể đ ủ
h i ệ u q u ả . C ó n g ư ờ i đ ã n ó i c là h ợ p n g ữ c ơ đ ộ n g , vì l à n g ơ n n g ữ l ậ p t r ì n h h ệ
t h ố n g n h ư n g c đ ộ c l ậ p v ớ i p h ầ n c ứ n g , v à h ỗ t r ợ cho v i ệ c l ậ p t r ì n h c ấ u t r ú c
v à m o d u l hoa.
N g ố n n g ữ c đ ã t r ả i qua hai giai đ o ạ n l ớ n trong l ị c h sử p h á t t r i ể n của n ó .
N ó đ ư ợ c t r ì n h b à y l ầ n đ ầ u t i ê n trong m ộ t c u ố n
s á c h c ó tiêu đ ề "The
c
P r o g r a m m i n g L a n g u a g e " x u ấ t b ả n n ă m 1978 của c á c t á c g i ả n g ô n n g ữ n à y .
P h i ê n b ả n c n à y đ ư ợ c g ọ i là " K e r n i g h a n & R i t c h i e 78", hay g ọ i tắt là " K & R
78", hay t h ư ờ n g g ọ i n h ấ t là " K & R " .
9
Sau n h ữ n g t h à n h tựu rực r ỡ của h ệ đ i ề u h à n h U N I X . d ẫ n đ ế n n h ữ n g
t h à n h c ô n g của n g ô n n g ữ c , t ì n h h ì n h trở n ê n phức t ạ p : N h i ề u n h à c u n g
c ấ p c á c b ộ t r ì n h b i ê n d ị c h đ ã đ ư a ra thị t r ư ờ n g c á c b ộ b i ê n d ị c h k h ô n *
t ư ơ n g t h í c h v ớ i K & R , vì c ó t h ê m n h i ề u m ở r ộ n g r i ê n g . Đ ế n c u ố i
1978, v i ệ c t h i ế t l ậ p l ạ i t r ậ t tự, c ũ n g n h ư t i ê u c h u ẩ n hoa n g ô n noữ
năm
c
trở
n ê n c ầ n t h i ế t . V i ệ n t i ê u c h u ẩ n hoa q u ố c gia M ỹ ( A N S I ) thực h i ệ n t r á c h
n h i ệ m n à y và c h u ẩ n A N S I c ra đ ờ i n ă m 1989. N á m
1990, t ổ chức t i ê u
c h u ẩ n hoa q u ố c t ế ( I S O ) c h ấ p n h ậ n c h u ẩ n A N S I c n h ư c h u ẩ n q u ố c t ế
và
g ọ i là c h u ẩ n ISO c .
P h i ê n bản t h ứ hai n à y của c l ẽ ra phải được g ọ i là ISO c , n h ư n g c ầ n
n h ư t o à n t h ế g i ớ i quen g ọ i đ ó là A N S I c . Vì v ậ y ta h i ể u A N S I c c h í n h là
ISO c.
T ừ đ ó đ ế n nay, c t i ế p tục c ó n h i ề u thay đ ổ i và c ả i t i ế n . T h a y đ ổ i r õ rệt
nhất là việc đ ư a k h á i n i ệ m lớp, đ ố i tượng v à o c đ ể trở t h à n h c hướno
đối
tượng và C + + .
2. C + +
C á c k h á i n i ệ m về lập trình hướng đ ố i tượng trong S I M U L A , A L G O L và
S M A L L T A L K n g à y nay đ ã phát triển thành một phong c á c h l ậ p trình h i ệ n đ ạ i
làm thay đ ổ i hẳn c á c h nhìn nhận, p h â n tích v ấ n để và thiết k ế c h ư ơ n g trình.
C + + là một n g ô n n g ữ lai, v ẫ n g i ữ l ạ i những ưu đ i ể m của c , n h ư n g t ă n g c ư ờ n °
k h ả n ă n g k i ể m soát k i ể u d ữ l i ệ u , cho p h é p thiết k ế c á c lớp đ ố i tượno và h ỗ trợ
lập trình hướng đ ố i tượng.
3. J A V A
J A V A l ộ t x á c t ừ C + + , t h o á t l y k h ỏ i m ọ i chi t i ế t n h ỏ nhặt t i n h v i của
c
đ ể trở t h à n h m ộ t
ngơn ngữ lập trình hồn tồn hướng
đối
tượng
C h ư ơ n g t r ì n h n g u ồ n J A V A c ó t í n h c ơ đ ộ n g cao, k h i b i ê n d ị c h cho
mã
n g u ồ n g ọ i là b y t e c o d e . M ã bytecode c ó t h ể c h ạ y t h ô n g d ị c h d ư ớ i m ọ i h ệ
đ i ể u h à n h t r ê n c á c p h ầ n c ứ n g k h á c nhau, k í c h t h ư ớ c n h ỏ , g ọ n .
JAVA
đ ư ợ c t h i ế t k ế đ ể c h u ẩ n bị cho k ỷ n g u y ê n của I n t e r n e t , k ỷ n g u y ê n của c á c
trang W E B .
10
4. c #
L à m ộ t n g ô n n g ữ lập trình hướng đ ố i tượng trong b ộ phần m ề m Visual
Studio N É T của M i c r o s o í t . G i ố n g J A V A v ớ i c ú p h á p r ắ n chắc, p h o n g c á c h l ị c h
l ã m l ẫ n ý t ư ở n g h ư ớ n g t ớ i m ô i t r ư ờ n g m ạ n g v à Internet, d ễ sứ d ụ n g v à n ă n g
suất cao g i ố n g n h ư V i s u a l Basic. N g ô n n g ữ n à y c ó p h á t t r i ể n t h ê m r ấ t n h i ề u ý
t ư ở n g m ớ i cao c ấ p l à m cho n ó m ạ n h h ơ n , h i ệ n đ ạ i h ơ n , an t o à n h ơ n so v ớ i Java
và C++.
li
C h ư ơ n g
2
MƠI TRƯỜNG LẬP TRÌNH c
BORLAND C++, là một mơi trường phát triển tích hợp (IDE - Intergrated
Development E n v i r o n m e n t ) đ ư ợ c p h á t t r i ể n l ê n t ừ c h ư ơ n g t r ì n h T u r b o c . T r o n g
m ô i t r ư ờ n g n à y , b ạ n c ó t r ì n h soạn t h ả o t o à n m à n h ì n h , g i a o d i ệ n đ a cửa sổ v ớ i
m e n u . h ộ p t h o ạ i , h ỗ trợ d ù n g c h u ộ t . B ạ n c ó t h ể v i ế t , d ị c h c h ư ơ n g t r ì n h , l i ê n k ế t
c á c m o d u l , c h ạ y t h ử c h ư ơ n g t r ì n h do m ì n h v i ế t ra, g ỡ l ỗ i c h ư ơ n g t r ì n h t ừ n g
d ò n g m ộ t v à k i ể m tra g i á trị của t ừ n g biến,
g i á trị của t ừ n g ô n h ớ , thay đ ổ i g i á
trị của c á c biến theo ý m u ố n n h ằ m x á c đ ị n h l ỗ i của c h ư ơ n g t r ì n h , k i ể m tra giá
trị của c á c thanh g h i sau m ỗ i l ệ n h đ ư ợ c thực h i ệ n . . . M ô i t r ư ờ n g cho p h é p t ạ o ra
c á c d ự á n ứng d ụ n g c h u ẩ n , c á c d ự á n t h ư v i ệ n h à m c h u ẩ n v i ế t t r ê n m ộ t hoặc
nhiều tệp nguồn.
Rất khó tìm chương
trước),
vì các chương
4.5 và BORLAND
đối tượng.
Học
3.0 đơn giản
bâng
ngơn
Visuaỉ
ngơn
trình
trình
C++
6.0.
bằng
Trong
C++
ngơn
như bằng
ngữ c là mơi trường
đến BORLAND
5.0
lỗi thời.
ỈDE,
giáo
BORLAND
nhưng
Mơi
trường
bản
2.0 trở
BORLAND
về
C+ +
hướng
ngữ c trong
C+ +
là mơi
C+ + . Tuy
trình
c (phiên
thì lại hỗ trợ chủ yếu cho lập trình
lợi hơn cả. Đây
ngữ c cũng
C++
c hay Microsoỷt
này đã q
Builder
lập trình
và thuận
Turbo
này,
mơi
mơi
trường
trường
BORLAND
lai, cho phép
nhiên
có thể sử dụng
trường
lập trình
C+ + IDE.
lập
trình
Microsoỷt
để giới thiệu
Vì vậy sau đây
nhớ là ngôn ngữ ta học là ngôn
ta sẽ chỉ
về
nói
ngữC.
T r ê n m ộ t m á y t í n h c ó c à i đ ặ t B O R L A N D C + + 3.0, c ó t h ể t h ấ y c á c t h ư m ụ c
v à c á c t ệ p sau đ â y t r o n g ổ đĩa C:
- T h ư m ụ c C : \ T C , hoặc C : \ B O R L A N D
- Trong đó có các thư mục
LIB,
12
EXAMPLES.
c
BIN, INCLUDE, INCLƯDEXSYS,
BGI,
- C á c thư mục I N C L U D E . INCLƯDEVSYS có các tệp tiêu đ ề v ớ i phần
m ở r ộ n g . H , ví d ụ S T D I O . H , C O N I O . H . ... C á c t ệ p n à y c h ứ a c á c k h a i
báo
c á c h à m và c á c m a c r o đ ể c h è n v à o đ ầ u c h ư ơ n g t r ì n h đ ể đ ỡ c ô n g v i ế t c á i gì
tương tự như thế.
- T h ư m ụ c L I B c ó c á c tệp - L I B . ví d ụ C C . L I B . M A T M . L I B . . . là c á c t ệ p t h ư
v i ệ n h à m . Đ â y là c á c t ệ p k h ô n g t h ể t h i ế u k h i h ọ c l ậ p t r ì n h c .
- Trong thư mục
GOTH.CHR.
B G I c ó c á c tệp . B Ĩ I , . C H R .
ví d ụ
EGAVGA.BGI,
C á c t ệ p n à y c ầ n t h i ế t k h i l ậ p t r ì n h đ ồ hoa t r o n g h ệ đ i ề u h à n h
D O S c ù a m á y PC.
- T h ư m ụ c E X A M P L E S c ó n h i ề u t h ư m ụ c con với r ấ t n h i ề u c h ư ơ n g t r ì n h
m ẫ u để bạn tham khảo.
- T r o n g t h ư m ụ c B I N c ó c á c tệp rất quan t r ọ n g sau đ â y :
• B C . E X E (hoặc T C . E X E ) : C á c c h ư ơ n g t r ì n h n à y m ở ra m ô i t r ư ờ n g p h á t
t r i ể n t ổ n g hợp I D E n ó i t r ê n .
• T ệ p T C H E L P . T C H : T h i ế u t ệ p n à y bạn sẽ m ấ t h ẳ n p h ầ n trợ g i ú p .
• C á c t ệ p T C C O N P I G . T C , là t ệ p c ấ u h ì n h , chứa c á c t h ô n g số c à i đ ặ t mặc
đ ị n h hoặc do b ạ n lựa c h ọ n cho m ô i trường I D E . N ế u k h ơ n g c ó t ệ p n à y thì khi
c h ạ y T C . E X E , n ó sẽ đ ư ợ c tạo ra. M ỗ i l ầ n bạn thay đ ổ i c ấ u h ì n h b ằ n g menu
Options thì t ệ p n à y sẽ đ ư ợ c cập nhật.
Chú ý: Nếu
trường,
bạn quá mạnh
đến mức chương
trình
dạn thay đổi cấu hình từmenu
của bạn đã từng chạy
tốt bồng
Options
nhiên
dược nữa thì có tììé xóa tệp này đi. Bạn sẽ cố tệp mới để thử lại từ
của
khơng
mỏ
dịcì
đầu.
• M ộ t số c h ư ơ n g t r ì n h t i ệ n ích n h ư T E M C . E X E , M A K E . E X E , T L I B . E X E ,
T L I N K . E X E . V ì b ạ n đ a n g sử d ụ n g m ô i trường I D E n ê n k h ô n g c ầ n p h ả i quan
t â m đ ế n 3 c h ư ơ n g t r ì n h sau. R i ê n g c h ư ơ n g t r ì n h T E M C . E X E là m ộ t c h ư ơ n g
t r ì n h lý t h ú . N ó d ù n g đ ể dịch m ộ t t ệ p " c h ư ơ n g t r ì n h " v i ế t b ằ n g m ộ t t h ứ n g ô n
n g ữ g ọ i là " T E M P L " , k ế t q u ả sẽ tạo ra m ộ t t ệ p c ấ u h ì n h k i ể u
TCCONFIG.TC,
trong đ ó quy đ ị n h c á c thao t á c sử d ụ n g p h í m của m ô i t r ư ờ n g I D E . B ạ n sẽ t ă n g
n ă n g suất k h i l ậ p t r ì n h và l à m bạn b è p h ả i ngạc n h i ê n v ớ i c á c c ú b ấ m .
Đ ể bước đ ầ u sử d ụ n g đ ư ợ c I D E , chí c ầ n c á c t ệ p sau:
• T C . E X E (hoặc B C E X E ) ,
• M ộ t số tệp . H (STTDIO.H, STTDLIB.H, C O N I O . R
A L L O C . H , STRING.H.
_DEFS.H. _ N U L L . H )
13
• M ộ t s ố t ệ p . L I B và .OBJ ( C S . L I B , M A T H S . L I B , F P 8 7 . L I B ,
C0S.OBJ c ó
trong thư mục L I B )
• M u ố n có trợ g i ú p thì t h ê m tệp T C H E L P . T C H .
C á c t ệ p n à y n ế u n é n l ạ i b ằ n g P K Z I P hoặc N e t h ì c h i ế m k h ô n g h ế t m ộ t đĩa
m ề m 1,44 M b . C ó t h ể đ ể c h u n g t ấ t cả t r o n g m ộ t t h ư m ụ c hay c h i a ra t h à n h c á c
t h ư m ụ c con n h ư đ ã n ê u ở t r ê n .
ì. MƠI TRƯỜNG PHÁT TRIỂN TÍCH HỢP BORLAND C++ IDE
1. K h ở i
động
N ế u b ạ n c h ư a t h ê m đ ư ờ n g d ẫ n t ớ i t h ư m ụ c chứa B C . E X E ( h o ặ c T C . E X E )
vào d ò n g lệnh P A T H trong c h ư ơ n g trình A U T O E X E C . B A T thì h ã y t h ê m vào
c u ố i d ò n g đ ó m ộ t d ấ u c h ấ m p h ẩ y v à ngay sau đ ó l à t ê n đ ư ờ n g d ẫ n .
Ví dụ:
D ò n g P A T H cũ:
PATH=C:\JDOS;C:\WINDOWS;C:\NC;C:\TF\BIN
BC.EXE
có mặt trong C : \ B O R L A N D C \ B I N chẳng
hạn.
V ậ y thì
dịng
P A T H sau k h i sửa sẽ là:
PATH=C:\DOS;C:\WINDOWS;C:\NC;C:\TP\BIN;C:\
BORLANDC \BIN
C ũ n g c ó t h ể k h ô n g c ầ n sửa d ò n g l ệ n h P A T H n h ư t r ê n , m à t h ê m v à o c u ố i
t ệ p A U T O E X E C . B A T l ệ n h sau:
PATH=%PATH%;C:\BORLANDC\BIN
Sau đ ó k h ở i đ ộ n g l ạ i m á y t í n h của b ạ n .
Đ ể t r á n h sự l ộ n x ộ n k h ô n g đ á n g c ó sau n à y , b ạ n h ã y t ạ o ra m ộ t t h ư m ụ c
d à n h r i ê n g cho v i ệ c h ọ c l ậ p t r ì n h c v à cất c á c c h ư ơ n g t r ì n h của b ạ n t r o n g đ ó .
Ví dụ thư mục
C:\MYPROG.
T ừ nay t r ở đ i , m ỗ i l ầ n l ậ p t r ì n h c , b ạ n h ã y d ù n g l ệ n h C D đ ể v à o t h ư m ụ c
M Y P R O G trước t i ê n , sau đ ổ c h ạ y c h ư ơ n g t r ì n h B C . E X E ( h o ặ c T C . E X E ) .
>CD\MYPROGỈĨWfi
>BC
M
I
N ế u d ù n g Shortcut t r o n g W i n d o w s thì b ạ n đ ặ t c á c t h u ộ c t í n h t r o n g b ả n g
Program của Shortcut n h ư sau:
- Close ô n e x i t : c h ọ n ( c ó g ạ c h c h é o )
- Working:
14
C:\MYPROG
- Nếu
bạn
đang
dùng
Windows
98
trở v ề
trước
thì
nên
vào
mục
A d v a n c e d . . . v à b ỏ c h ọ n m ụ c M s D O S mode.
N g o à i ra, c ó t h ể v à o b ả n g Screen và c h ọ n c h ế đ ộ F u l l Screen.
B ạ n sẽ t h ấ y m ở ra trước m ắ t b ạ n m ộ t cửa sổ m à u x a n h v ớ i m ộ t thanh M e n u
ở trên cùng. C ó thể có một
cửa
sổ con
g i ớ i t h i ệ u sản
p h ẩ m của
hãng
B O R L A N D n ế u đ â y là l ầ n đ ầ u tiên b ạ n c h ạ y B O R L A N D c . Ân p h í m Esc đ ể
cất cửa sổ đ ó đ i v à bắt đ ầ u l à m quen v ớ i m ô i t r ư ờ n g l ậ p t r ì n h .
2. Xem xét lại cấu hình
Mỗi lựa chọn trong hàng menu có thể được kích hoạt bằng cách click
c h u ộ t v à o m ụ c c h ọ n đ ó hoặc d ù n g t ổ hợp p h í m A L T v à p h í m n ó n g . P h í m n ó n g
là p h í m ứng v ớ i c h ữ c á i c ó m à u đ ỏ trong m ụ c c h ọ n . V í d ụ ta c ầ n k í c h hoạt
m e n u O p t i o n s , h ã y ấn t ổ hợp p h í m A L T - O .
_ • X
C-ebug Prcj
ĩd"'t Search Run Ccrp=[•>
ẹ s = = = .i4,:, -,.r,s * = CONST.CPP
ã ' * &t * en
#inelude <stdớo.h>
Corapiler
#defne PI 3.1416926
ôefine HI l o
le generatĩon.
dvancêd ccd« aenerat"ơn.
#dẹfine H2 l o
BiaĩnO
c— cctions...
{
f l ọ a t r = 5, 3 m HI, b = «2;
Cót r- 2át*ons...
pr-intf ("\fiHifiifc tron ban kinh r = 564.
ỊtriI»tfCXnChặ v i l a %ị.2f", r*PI*2);
pri ntf C"V»Hinh chu nhát canh a » 5W>
printf
#ụndef PI_ ị • ;
#defì ne PI "Previous Item"
#undef HI
11:1 H ì n h 1. M e n u O p t i o n s \ C o m p i l e r v à c á c m ụ c c h ọ n
? ĩ
-
s
Cần lưu ý bạn là nếu bạn chạy chương trình ở chế độ DOS thì chưa chắc có
t h ế sử d ụ n g đ ư ợ c c h u ộ t . Đ ừ n g b ă n k h o ă n v ề đ i ề u đ ó . N ế u sử d ụ n g b à n p h í m
t h à n h thạo, n ă n g suất sẽ cao h ơ n k h i d ù n g chuột. N ế u v ẫ n t h í c h d ù n g c h u ộ t thì
nên
tìm
một
chương
trình
tên
là
MOUSE.COM
và
khởi
động
nó
từ
A U T O E X E C . B A T . N h ư n g tốt h ơ n cả là h ã y tạo m ộ t shortcut của c h ư ơ n g t r ì n h
T C . E X E (hoặc B C . E X E ) t r ê n Desktop của W i n d o w s v à t h i ế t đ ặ t c h ế đ ộ l à m
việc d ư ớ i sự y ể m trợ của W i n d o w s . L à m n h ư v ậ y sẽ g i ú p b ạ n k h ô n g p h ả i b ă n
k h o ă n về c h u ộ t . H ơ n nữa n ế u c h ư ơ n g t r ì n h của b ạ n c ó bị treo t h ì c ũ n g k h ố n g
p h ả i tắt m á y k h ở i đ ộ n g l ạ i t ừ đ ầ u .
Đ ế thay đ ố i c ấ u h ì n h . b ạ n h ã y c h ọ n menu Options.
15
M e n u O p t i o n s sẽ t r ả i x u ố n g v à trong đ ó ta t h ấ y c ó r ấ t n h i ề u m ụ c
chọn.
Đ ừ n g tự ý c h ọ n bừa m à h ã y t u â n theo chỉ d ẫ n sau đ â y :
• Chọn C o m p i l e r , trong đ ó chọn Code generation..., trong đ ó c h ọ n
Small.
• Chọn C o m p i l e r , trong đ ó chọn Ạ d v a n c e d code g e n e r a t i o n . . .
Trong
Floating point chọn 80287.
• C h ọ n D i r e c t o r i e s . . . , t r o n g đ ó k i ế m tra x e m :
- Ịnclude
d i r e c t o r i e s c ó đ ú n g là đ ư ờ n g d ẫ n t ớ i t h ư m ụ c c h ứ a c á c t ệ p * . H
hay k h ô n g . N ế u sai t h ì sửa l ạ i cho đ ú n g , n ế u t h i ế u t h ì t h ê m v à o v ì c á c t ệ p n à y
c ó t h ể đ ể t r o n g n h i ề u t h ư m ụ c k h á c nhau. H a i đ ư ờ n g d ẫ n c á c h n h a u m ộ t d ấ u
c h ấ m phẩy.
- L i b r a r y d i r e c t o r i e s c ó đ ú n g là đ ư ờ n g d ẫ n t ớ i t h ư m ụ c c h ứ a c á c t ệ p
* . L I B hay k h ô n g . N ế u sai t h ì sửa l ạ i hoặc t h ê m v à o .
- O u t p u t d i r e c t o r y : Bạn n ê n tạo m ộ t thư mục r i ê n g n à o đ ó và đ ặ t đường
d ẫ n đ ầ y đ ủ của t h ư m ụ c đ ó t ạ i đ â y đ ể m ỗ i k h i b ạ n d ị c h c h ư ơ n g t r ì n h của b ạ n ,
b á n dịch sẽ đ ư ợ c x ế p g ọ n g à n g v à o n ơ i n à y .
• Chọn Options\Environment\Preferences, trong đ ó chọn A u t o
Save,
g ạ c h c h é o v à o E d i t o r F i l e s . Đ i ề u n à y đ ả m b ả o trước m ỗ i l ầ n c h ạ y t h ử c h ư ơ n g
t r ì n h đ ư ợ c l u n l ạ i t r ê n đĩa. K h i l ậ p t r ì n h c , chắc c h ắ n b ạ n sẽ n h i ề u l ầ n bị treo
m á y . N ế u k h ô n g l à m thao t á c n à y , b ạ n d ễ c ó n g u y c ơ t h ấ y m ấ t c h ư ơ n g t r ì n h
m à khơng có c á c h nào cứu l ạ i .
•
Đê
lưu l ạ i c á c thay đ ổ i , c h ọ n
Options\Save, gạch chéo vào
mục
E n v i r o n m e n t và chọn O K .
• N g o à i ra, c h ư a n ê n t h ử l à m đ i ề u g ì k h á c cả.
Đ ể chọn mục n à o đ ó trong các hộp thoại bạn t h ử d ù n g c á c p h í m
Tab
5
t
5
ị
5
<-
5
->
Đ ế thay đ ổ i lựa c h ọ n của m ụ c n à o đ ó , b ạ n d ù n g p h í m
SSBS^BB.
li. CÁCH SỬ DỤNG CÁC TRỢ GIÚP
M ô i t r ư ờ n g I D E của B O R L A N D c l u ô n l u ô n s ẵ n s à n g t r ợ g i ú p b ạ n n ế u
trong đĩa của b ạ n c ó c á c t ệ p * . T C H . T h ự c c h ấ t h i ệ n t ạ i b ạ n c h ỉ c ầ n
tệp
T C H E L P . T C H là đ ủ .
Đ ể g ọ i t ớ i p h á n t r ợ g i ú p , b ạ n chỉ c ầ n l à m c á c thao t á c sau:
- Ân p h í m SO- L ú c đ ó , con trỏ của b ạ n đ a n g ở trong cửa sổ n à o sẽ c ó ngay
m ộ t b ả n g c h i d ẫ n c ầ n t h i ế t v ề cửa sổ đ ó .
16
- H o ặ c ấn t ổ h ợ p p h í m A L T • C h ọ n m ụ c C o n t e n t s , sẽ t h ấ y m ộ t b ả n g t ổ n g quan v ề c á c t r ợ g i ú p c ủ a c .
Bạn có thể dùng chuột hoặc bàn phím để chọn vấn đề mà mình quan tâm. Mỗi
từ khoa có màu vàng trong cửa sổ này đều ẩn giấu sau nó cả một chuỗi các giải
thích tỉ mỉ, chi tiết.
• X
(32
CONST.CPP
ihncluđe <stđio. h>
#defĩne f >l 3.1416926
#define HtL 10
#define H2 l o ! = [ • ] =
HELP COKTEMTS
•ị
flọat
HOM t o Use Help L
_
prĩntf
pr"intf
Menus and Hót Keys I—
printf
prìnrtí
Editor Coraraands
#undẹf PI
Assembler (buịlt-in)
Functions
#đefine RI
Coranand
LÌ
ne
CTC)
Header Files
#undef m
• Caonand Line uCC)
l ữ5t re am classes
L_
_ 3:3
Container classes
Turbo C++ Language
Error Messages
utìlitĩes V
1
H ì n h 2. H ộ p t h o ạ i H E L P
CONTENTS
• Chọn mục Index, bạn sẽ có một danh mục các vấn đề xếp thành nhóm
theo vần ABC. Bạn có thể tìm trong danh mục đó vấn đề mà mình quan tâm.
Có thể gõ thẳng từ mà bạn muốn tìm hiểu. Nếu từ đó có trong danh sách thì
bạn sẽ tìm thấy nó ngay.
Đ ể tra c ứ u c á c h d ù n g c ủ a m ộ t t ừ khoa, v í d ụ s w i t c h , b ạ n h ã y đ ặ t c o n t r ỏ
v à o t ừ s w i t c h v àấn t ổ h ợ p p h í m C T R L - ị^Ị.
Đ ể x e m l ạ i c ử a sổ t r ợ g i ú p trước đ ó , h ã yấn t ổ h ợ p p h í m A L T - m ,
Thường ở cuối trang trợ giúp về một hàm có xuất hiện các dịng chữ màu vàng
cho tên một ví dụ nào đó, chẳng hạn ^ffi33aSĩuE' bạn hãy click vào đó và
tồn v ă n m ộ t c h ư ơ n g t r ì n h v í d ụ sẽ x u ấ t h i ệ n . B ạ n m ở menu E d i t v à c h ọ n lệnh
^aaf^MHifj^ để chép ví dụ đó. Mở một tệp mới và chọn lệnh dán bằng cách
nhấn tổ hợp phím Shift-Insert hoặc chọn lệnh Paste trong menu Edit và chạy thử.
2-Giáo trình NN lặp trình c
17
H I . C Á C L Ệ N H C ơ B Ả N C Ủ A B O R L A N D C++ I D E
1. c ử a s ổ l à m v i ệ c
1.1. C ấ u t r ú c m ộ t c ử a sổ
M ộ t cửa sổ l à m v i ệ c c ó c ấ u t r ú c n h ư sau:
* Đường
viền
Đ ó là đ ư ờ n g bao n é t k é p h ì n h c h ữ nhật bao q u a n h cửa sổ.
T h a n h t i ê u đ ề : C h í n h l à n é t v i ề n t r ê n c ạ n h t r ê n của cửa sổ. G i ữ a
đường
v i ề n n à y c ó t i ê u đ ề của cửa sổ. N ế u b ấ m n ú t t r á i c h u ộ t l ê n t h a n h n à y v à r ê đ i sẽ
l à m d i c h u y ể n cửa sổ.
N ú t Close: P h í a đ ầ u m ú t t r á i của thanh t i ê u đ ề c ó m ộ t n ú t c h ữ n h ậ t n h ỏ
m à u x a n h lá c â y . N ú t n à y d ù n g đ ể đ ó n g cửa sổ.
N ú t Z o o m : Đ ầ u m ú t p h ả i của thanh t i ê u đ ề cửa sổ c ó n ú t p h ó n g đ ạ i . K h i
n ú t n à y c ó h ì n h d ạ n g [ ĩ . ] t h ì c ó t á c d ụ n g p h ó n g to cửa sổ. K h i n ú t n à y c ó d ạ n g
[Xì
sẽ c ó t á c d ụ n g thu n h ỏ cửa sổ t r ở l ạ i k í c h t h ư ớ c trước k h i b ị p h ó n g to. B ê n
canh n ú t z o o m l à m ộ t c o n s ố c h ỉ s ố t h ứ t ư của cửa sổ.
ran
BU
• X
#ĩncluđe "ayheader. ti"
tinclude -cstdio. h>
t m c ỡ u d e ôXMtớo.h>
vcrd etainO
ớ
ã
f l o a t a = 1.5, b
printfr\rtML0.2f
prịntf("\i*l0.2f
pri o t f ("\n5O0.2f
p r i ntFr\n5O.0.2f
getchõ; •
= 2.7;
+ 50.0.2f
* KLQ,2f
+• KIO. 2f
+ %L0.2f
5KL0.2f"»
sao; 2? %
%w.2f"
í
ĩ ——— Project:
F i l e nạn®;
ARĨT.LI8
BRIT.CPP
Vãich
f l Htp
Alt-F9 Cowpi1e F3 Make n e Menu
tt
Save F3 ũpett
H ì n h 3. C á c l o ạ i cửa sổ v à c ấ u t r ú c cửa sổ của B O R L A N D C + + I D E
18
C h ỉ t h i v i trí: T r ê n c ạ n h d ư ớ i , p h í a trái của cửa sổ c ó hai s ố n g u y ê n , c á c h
nhau b ằ n g m ộ t g ạ c h c h é o . C á c s ố n à y cho b i ế t con t r ỏ v ă n b ả n đ a n g n h ấ p n h á y
ở d ò n g n à o , c ộ t n à o t r o n g cửa sổ.
N ú t Size: G ó c p h ả i p h í a d ư ớ i của m ỗ i cửa sổ c ó m ộ t đ o ạ n v i ề n đ ơ n . B ấ m
c h u ộ t v à o đ â y r ồ i r ê đ ể thay đ ổ i k í c h thước của cửa sổ.
* Thanh
cuốn dọc và thanh
cuốn
ngang
Đ â y là hai t h a n h n ằ m t r ê n c ạ n h p h ả i v à c ạ n h đ á y của cửa sổ. T r ê n hai đ ầ u
m ú t của m ỗ i t h a n h c ó hai n ú t h ì n h tam g i á c n h ỏ . ở giữa m ỗ i thanh c u ố n c ó
m ộ t con c h ạ y h ì n h c h ữ nhật. C á c n ú t tam g i á c d ù n g đ ể c u ố n cửa sổ theo c h i ề u
m ũ i của h ì n h tam g i á c t ừ n g d ò n g m ộ t . Con c h ạ y n ế u đ ư ợ c k é o r ê b ằ n g c h u ộ t sẽ
c u ố n n ộ i d u n g cửa sổ theo c h i ề u d i c h u y ể n t ớ i vị t r í t ư ơ n g ứng của n ộ i d u n g
cửa sổ t í n h t ỷ l ệ v ớ i c h i ề u d à i thanh c u ố n .
1.2. C á c l o ạ i c ử a sổ
B O R L A N D C + + I D E c ó 7 l o ạ i cửa sổ. Đ ó là:
* Cửa sổ soạn
thảo
Đ â y l à cửa sổ l à m v i ệ c m ặ c đ ị n h , t r ê n đ ó b ạ n sẽ v i ế t c á c d ò n g l ệ n h cho
c h ư ơ n g t r ì n h của b ạ n . M ỗ i cửa sổ n à y t ư ơ n g ứng v ớ i m ộ t t ệ p t r ê n đĩa. N ế u c ó
n h i ề u cửa s ố ứng v ớ i c ù n g m ộ t t ệ p thì c h ú n g sẽ đ ư ợ c đ á n h s ố b ê n c ạ n h tiêu đ ề
của cửa sổ.
* Cửa sổ thông
báo
L à n ơ i x u ấ t h i ệ n c á c t h ô n g b á o trong q u á t r ì n h d ị c h h o ặ c c h ạ y t h ử c h ư ơ n g
t r ì n h . T i ê u đ ề của cửa sổ n à y l u ô n l u ơ n là Message. B ạ n c ó t h ể c ấ t cửa sổ n à y
đ i cho k h ỏ i v ư ớ n g v í u , n h ư n g m ỗ i k h i c ó g ì c ầ n trao đ ổ i v ớ i b ạ n t h ì cửa sổ n à y
lại tự động xuất hiện.
* Cửa sổ
Output
L à m ộ t b ả n sao của cửa sổ h i ể n t h ị k ế t q u ả (User Screen). V ớ i cửa sổ n à y ,
b ạ n sẽ k h ô n g c ầ n d ù n g p h í m A l t - 0 3 đ ể n h ả y n h ó t giữa cửa sổ l à m v i ệ c v à
User Screen nữa.
* Cửa sổ
Watch
L à c h ỗ m à b ạ n c ó t h ể đ ă n g k ý c á c b i ế n c ầ n theo d õ i t r o n g q u á t r ì n h g ỡ l ỗ i .
Cửa sổ n à y sẽ h i ể n t h ị m ọ i thay đ ổ i của c á c b i ế n đ ư ợ c đ ă n g k ý theo q u á t r ì n h
thực h i ệ n c h ư ơ n g t r ì n h , hoặc cho k h ô n g n h ậ n b i ế t m ộ t b i ế n n ế u đ o ạ n t r ì n h
đ a n g thực h i ệ n n g o à i t ầ m t á c d ụ n g của b i ế n đ ó .
19
* Cửa sổ
Registers
N ế u b ạ n c ó h ứ n g t h ú theo d õ i x e m c á c thanh g h i b i ế n đ ổ i n h ư t h ế n à o sau
m ỗ i bước thực h i ệ n của c h ư ơ n g t r ì n h thì m ở cửa sổ n à y .
* Cửa sổ
Proịect
Đ â y là cửa sổ lưu g i ữ c á c t h ô n g t i n v ề m ộ t d ự á n , bao g ồ m t ê n v à đ ư ờ n g
d ẫ n của c á c t ệ p l i ê n quan đ ế n d ự á n . B ạ n c ó t h ể t r u y cập d ễ d à n g v à o b ấ t k ỳ t ệ p
n à o trong đ ó m à k h ô n g m ấ t c ơ n g t ì m k i ế m .
* Cửa sổ Project
notes
Trong q u á trình x â y dựng m ộ t d ự án, bạn cần ghi c h é p tất cả những gì cần
p h ả i l à m , n h ữ n g g ì đ a n g l à m , n h ữ n g gì đ ã l à m , k ế t q u ả c ô n g v i ệ c , n h ữ n g thắc
m ắ c , n h ữ n g p h á t h i ệ n , n h ữ n g thay đ ổ i . Cửa sổ n à y là c h ỗ l à m v i ệ c đ ó .
C h ú ý là: Đ ể m ở cửa sổ soạn t h ả o thì v à o m e n u F i l e . Đ ể m ở c á c cửa sổ
k h á c thì v à o m e n u W i n d o w .
* Các lệnh liên quan
đến cửa
sổ
T Ổ HỢP
L Ệ N H TRÊN
PHÍM
CƠNG
PHÍM
MENU
TẮT
DỤNG
Alt-F, 0
Alt-F, N
File\Open
F3
Mở
đã có.
Mở
File\New
tệp
GHI CHÚ
M ở h ộ p t h o ạ i Open,
tìm và m ở tệp
cửa
Cửa
sổ
mặc
sổ m ớ i
mới
có
định
tên
là
NONAMExx.C
N ế u tệp ghi lần đầu
t h ì h ộ p t h o ạ i Save A s
m ở ra. Đ ặ t t ê n hoặc
Alt-F, s
FileVỊave
F2
Lưu
v à o đĩa
tệp
t ì m tệp đ ể lưu.
Cẩn
thận, nếu chọn
một
t ê n c ó sẵn tức là g h i
đ è , c h ú ý trả l ờ i Yes
hay
No
cho
Nếu
không
đúng.
phải
là
lần đầu thì tệp được
cập nhật.
20
Hộp
thoại
Save
As
m ở ra. Đ ặ t t ê n hoặc
Alt-F, A
Lưu
File\Save Ạ s
vào
tệp m ớ i
t ì m tệp đ ể lưu.
Cẩn
thận,
một
nếu
chọn
tên c ó sẵn tức là ghi
đ è , c h ú ý trả l ờ i Yes
hay N o cho đ ú n g .
T ấ t cả c á c tệp
Alt-F, L
File\Save A U
G h i tất cả
hiện
đ a n g m ở sẽ được cập
nhật lên đĩa.
L ậ t m ộ t cửa số ở d ư ớ i
lên
trên.
Chú
ý:
K h ô n g nên m ở đổng
thời n h i ề u tệp, t r á n h
Alt-W, X
Window\Next
F6
Đ ổ i cửa sổ
m ộ t tệp m ở n h i ề u l ầ n .
làm việc
N ế u k h ô n g thấy
tệp
đ ã m ở trên m à n h ì n h
thì d ù n g l ệ n h n à y đ ể
tìm, k h ơ n g nên m ở l ạ i
b ằ n g l ệ n h F3.
Alt-W, z
Window\Zoom
F5
Phóng đại/
P h ó n g to cửa sổ hết
Phục
cỡ hoặc thu trở l ạ i v ề
hồi
cửa sổ l à m
k í c h thước ban đ ầ u .
việc
Cửa sổ trở t h à n h v i ề n
đ ơ n liên tục, tiêu đ ề ,
c á c thanh c u ố n và c á c
chi
Alt-W, s
Window 5ize/Move
N
Ctrl-F5
tiết
khác
trên
D i chuyển,
đường viền biên mất.
thay
M u ố n d i c h u y ể n thì
đối
kích thước
bấm
các
phím
mũi
tên. M u ố n
thay đ ổ i
k í c h thước
thì
dùng
c á c p h í m m ũ i tên k ế t
hợp v ớ i p h í m Shift.
21
xếp
C á c cửa sổ đ ư ợ c t h u
cửa sổ k i ể u
n h ỏ v à x ế p k ề nhau
ngói l ợ p
phủ k í n m à n hình.
Sắp
Alt-W, T
Window\Tile
Sắp
Alt-W, a
xếp
cửa sổ k i ể u
Window\Cascade
chồng m ũ
lưỡi trai.
Các
cửa
xếp
đè
sổ
được
lên
nhau,
m ỗ i cửa sổ l ệ c h đ i
m ộ t c h ú t sang
phải
và xuống dưới.
N ế u tệp chưa ghi thì
Alt-W, c
Window\Close
Alt-F3
Đ ó n g cửa
phải trả l ờ i câu h ỏ i c ó
sỗ
ghi
hay k h ơ n g . T r ả
l ờ i Yes hoặc N o .
Đóng
Alt-W, e
tất
cả
Window\Close A U
các
cửa sổ
Alt-W, M
Windo\\AMessage
Alt-W, 0
Window\Output
Alt-W, w
Window\Watch
Screen
Alt-W, R
Window\Registers
Alt-W, p
Window\Project
phải trả l ờ i câu h ỏ i c ó
ghi
Message
M ở cửa sổ
Output
M ở cửa sổ
Watch
Alt-F5
Mở
Ưser
Screen
M ở cửa sổ
Register
M ở cửa sổ
Project
M ở cửa sổ
Alt-W, n
WindoW\Project notes
Project
notes
H ì n h 4. C á c l ệ n h c h í n h t r ê n c ử a s ổ
22
hay k h ô n g . T r ả
lòi Yes hoặc N o .
M ở cửa sổ
Window\User
Alt-W, u
N ế u tệp chưa ghi thì
2. C á c l ệ n h s o ạ n t h ả o
C á c l ệ n h n à y đ ư ợ c thực h i ệ n bằng c á c p h í m hoặc t ổ hợp p h ú n t r ê n b à n p h ú n
nếu k h ô n g d ù n g chuột. C ó t h ể lựa chọn tập hợp l ệ n h bằng c á c h c h ọ n menu
O p t i o n s \ E n v i r o n m e n t \ P r e f e r e n c e s , trong đ ó c h ọ n C o m m a n d sét: C ó 2 tập hợp
lệnh, m ộ t theo giao d i ệ n C U A , m ộ t theo giao d i ệ n A l t e r n a t e . T ậ p hợp t h ứ 3 là tập
l ệ n h b ẩ m sinh của B O R L A N D C + + I D E , c h í n h là tập l ệ n h Alternate.
Sau đ â y là c á c l ệ n h c h ủ y ế u :
2.1. M e n u Edit
,
(Soạn thảo)
Ị
T ỏ HỢP
PHÍM
LỆNH
LỆNH TRÊN
GHI CHÚ
MENU
K h ô i phục m ộ t trạng t h á i cũ của
Alt-E, u
Ưnddo
Edit\Undo
Alt-BkSpace
cửa sổ soạn thảo. Thực h i ệ n thao
t á c n à y sau k h i m ắ c m ộ t sai l ầ m
n à o đ ó trong cửa sổ soạn thảo và
m u ố n cứu v ã n t ì n h t h ế . C ó t h ể
thực h i ệ n thao t á c n à y n h i ề u l ầ n
đ ể l ầ n n g ư ợ c v ề trạng thái ban
đ ầ u k h i m ớ i m ở cửa sổ.
Alt-E, R
Ị
ì Alt-E, T
Redo
Cút
Alt-E, c
Copy
Alt-E, p
Paste
Alt-E, L
._
•—
Clear
Edit\Redo
Shift-Alt-BkSpace
T r ở l ạ i t r ạ n g t h á i trước k h i thực
Edit\Cut
X o a m ộ t k h ố i đ ã c h ọ n v à lưu
Shift-Dd
vào Clipboard
EditXCopy
Ctrl-Ins
Lưu k h ố i đ ã chọn vào Clipboard
EditXPaste
D á n n ộ i d u n g C l i p b o a r d v à o vị
Shift-Ins
t r í con t r ỏ
EditXClear
Ctrl-Del
Xoa khối đã chọn, k h ô n g
hiện lệnh Unddo
lưu
vào Clipboard
K h i sử d ụ n g cửa sổ trợ g i ú p , n ế u
c ó c h ư ơ n g t r ì n h m ẫ u , c ó t h ể thực
Alt-E, E
Copy
example
Edit\Copy
example
h i ệ n c á c thao t á c sao c h é p t h ô n g
thường đ ể c h é p sang tệp m ớ i v à
chạy thử. N ế u d ù n g l ệ n h n à y thì
d ễ chịu h ơ n n h i ề u . B ạ n t i ế t k i ệ m
đ ư ơ c thao t á c đ á n h d ấ u chon
H ì n h 5. C á c l ệ n h s o ạ n t h ả o
23