Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Đề cương chi tiết kỹ thuật lập trình
Nội dung xem thử
Mô tả chi tiết
Bé c«ng th¬ng
Trêng §¹i häc c«ng nghiÖp hµ néi
--- ---
®Ò c¬ng chi tiÕt
m«n häc
kü thuËt lËp tr×nh
(Tµi liÖu gi¶ng d¹y)
hÖ: §¹i häc
(lu hµnh néi bé)
Hµ néi 4/2007 –
§Ò c¬ng chi tiÕt Ki thuat lap trinh
Tµi liÖu tham kh¶o
1. Kü thuËt lËp tr×nh C – GS.TS. Ph¹m V¨n Êt
2. Ng«n ng÷ lËp tr×nh C++ - GS. TS. Ph¹m v¨n Êt.
3. Kü thuËt lËp tr×nh - NguyÔn TiÕn Huy – TrÇn H¹nh Nhi.
4. Ng«n ng÷ lËp tr×nh C++ - Ng« Trung ViÖt.
….
Néi dung
Ch¬ng I. Tæng quan vÒ C++
Ch¬ng II. C¸c cÊu tróc ®iÒu khiÓn
Ch¬ng III. Kü thuËt lËp tr×nh ®¬n thÓ
Ch¬ng IV. Kü thuËt lËp tr×nh dïng m¶ng
Ch¬ng V. Kü thuËt lËp tr×nh dïng con trá
Ch¬ng VI. Kü thuËt lËp tr×nh víi tÖp
Ch¬ng VII. D÷ liÖu kiÓu cÊu tróc
Ph©n bæ thêi gian:
30 tiÕt lý thuyÕt + 60h thùc hµnh
§iÒu kiÖn tiªn quyÕt:
§· häc m«n NhËp m«n tin häc, Pascal
Thang ®iÓm: 10
Sè bµi kiÓm tra: 04 bµi
Sè bµi thi: 01 bµi thi gi÷a häc phÇn + 01 bµi thi hÕt häc phÇn.
Biªn so¹n: ThS. NguyÔn M¹nh Cêng
Tµi liÖu gi¶ng d¹y- Lu hµnh néi bé Trang 2
§Ò c¬ng chi tiÕt Ki thuat lap trinh
Ch¬ng I. tæng quan vÒ C++
I. Quy tr×nh lµm viÖc trong C++
I.1. C¸c bíc ®Ó lËp ch¬ng tr×nh b»ng C++
§Ó thùc hiÖn viÖc viÕt vµ thùc thi mét ch¬ng tr×nh ®¬n gi¶n trong C++, ngêi ta thêng lµm theo c¸c bíc sau:
- Vµo m«i trêng so¹n th¶o m· lÖnh cña C++: ®Ó lµm ®îc viÖc nµy, trªn
m¸y tÝnh ph¶i ®îc cµi ®Æt phÇn mÒm Turbo C 3.0 (hoÆc cao h¬n, hoÆc Booland
C ). T×m file TC.exe trong th … môc TC\BIN (hoÆc TC30\BIN) vµ thùc thi file nµy.
- So¹n th¶o m· lÖnh cña ch¬ng tr×nh: M«i trêng so¹n th¶o cña TC lµ mét
cöa sæ so¹n th¶o vµ hÖ thèng menu trî gióp qu¸ tr×nh so¹n th¶o còng nh dÞch vµ
thùc thi ch¬ng tr×nh. Ta tiÕn hµnh so¹n th¶o m· lÖnh cña ch¬ng tr×nh trong cöa sæ
nµy theo ®óng có ph¸p cña C++.
- So¸t lçi, dÞch ch¬ng tr×nh: Sau khi so¹n th¶o m· lÖnh b»ng ng«n ng÷ C+
+, ta tiÕn hµnh dÞch ch¬ng tr×nh thµnh ng«n ng÷ m¸y. Qu¸ tr×nh dÞch chØ thµnh
c«ng khi toµn bé m· lÖnh ta so¹n th¶o kh«ng cã lçi có ph¸p. V× vËy, trong qu¸
tr×nh dÞch, TC sÏ tiÕn hµnh so¸t lçi. Qu¸ tr×nh so¸t lçi ®îc tiÕn hµnh lÇn lît qua
c¸c dßng lÖnh tõ trªn xuèng. Khi gÆp lçi, ch¬ng tr×nh dÞch sÏ b¸o lçi t¹i vÞ trÝ gÇn
n¬i x¶y ra lçi. §Ó lµm c¸c c«ng viÖc dÞch – so¸t lçi, ta bÊm phÝm F9, nÕu ch¬ng
tr×nh b¸o lçi, h·y tiÕn hµnh söa lçi.
NÕu muèn qu¸ tr×nh dÞch cho ta mét file thùc thi ®îc cña ch¬ng tr×nh trªn
®Üa (file .exe) ta cÇn ®¶m b¶o trªn menu: Options\ Linker\ Settings\ Output\
Standard exe ®ang ®îc chän.
- Thùc thi ch¬ng tr×nh: Khi ch¬ng tr×nh ®· hÕt lçi ta cã thÓ thùc thi ch¬ng
tr×nh b»ng c¸ch bÊm tæ hîp phÝm Ctrl - F9. KÕt thóc qu¸ tr×nh thùc thi sÏ quay vÒ
m«i trêng so¹n th¶o m· lÖnh ban ®Çu.
C¸c thao t¸c khi so¹n th¶o:
Më file míi: Chän File\ New hoÆc bÊm phÝm chøc n¨ng F3, gâ tªn file míi vµo vµ
bÊm Enter.
Më file cã s½n: Chän File\ Open hoÆc bÊm phÝm chøc n¨ng F2 råi chän file cÇn më vµ
bÊm Enter.
Lu file: Chän File\ Save hoÆc bÊm phÝm chøc n¨ng F2 råi ®Æt tªn file vµ bÊm Enter.
Chó ý trong C++, phÇn më réng cña file m· nguån lµ .CPP.
§ãng file: BÊm tæ hîp phÝm Alt F3. NÕu file cha lu, C++ sÏ yªu cÇu lu file hoÆc bá
qua viÖc lu file, h·y bÊm Y hoÆc N nÕu muèn lu file hoÆc kh«ng lu file.
Phãng to, thu nhá cña sæ so¹n th¶o: BÊm phÝm chøc n¨ng F5.
Tµi liÖu gi¶ng d¹y- Lu hµnh néi bé Trang 3
§Ò c¬ng chi tiÕt Ki thuat lap trinh
ChuyÓn ®Õn cöa sæ so¹n th¶o bÞ Èn ®»ng sau cöa sæ hiÖn t¹i: bÊm phÝm chøc n¨ng F6.
Tho¸t khái m«i trêng C++: BÊm tæ hîp phÝm Alt X.
B«i ®en vïng m· lÖnh: kÝch, gi÷ vµ rª chuét lªn vïng cÇn b«i ®en hoÆc chuyÓn con trá
vÒ ®Çu vïng cÇn b«i ®en råi gi÷ phÝm Shift trong lóc di chuyÓn con trá qua vïng cÇn b«i ®en.
Sao chÐp vïng b«i ®en: Chän Edit\ Copy hoÆc bÊm tæ hîp phÝm Ctrl + Insert.
D¸n vïng m· lÖnh ®· sao chÐp: Chän Edit\ Paste hoÆc bÊm tæ hîp phÝm Shift + Insert.
Sao chÐp nhanh vïng b«i ®en: Di chuyÓn ®Õn vÞ trÝ míi vµ bÊm phÝm K råi C trong
lóc gi÷ phÝm Ctrl.
Di chuyÓn vïng b«i ®en: ChuyÓn ®Õn vÞ trÝ míi vµ bÊm phÝm K råi V trong lóc gi÷
phÝm Ctrl.
Xo¸ vïng m· lÖnh ®· b«i ®en: BÊm phÝm K råi Y trong lóc gi÷ phÝm Ctrl.
Bá b«i ®en: BÊm phÝm K råi K trong lóc gi÷ phÝm Ctrl hoÆc cã thÓ bÊm phÝm K råi H
trong lóc ®ang gi÷ phÝm Ctrl.
ChuyÓn con trá vÒ ®Çu dßng: BÊm phÝm Home.
ChuyÓn con trá vÒ cuèi dßng: BÊm phÝm End.
I.2. CÊu tróc mét ch¬ng tr×nh ®¬n gi¶n trong C++
Mét ch¬ng tr×nh ®¬n gi¶n trong C++ thêng ®îc viÕt trong mét cöa sæ so¹n
th¶o (®iÒu nµy kh«ng hoµn toµn ®óng trong c¸c ch¬ng tr×nh lín).
Mét ch¬ng tr×nh bÊt kú trong C++ ®Òu ®îc t¹o nªn tõ rÊt nhiÒu hµm (t¹m
gäi lµ nh÷ng ®¬n vÞ ch¬ng tr×nh), trong ®ã cã mét hµm ®Æc biÖt ®îc xem nh “ch-
¬ng tr×nh chÝnh” vµ ®îc gäi lµ hµm main. Th«ng thêng hµm main ®îc viÕt ra ®Ó
gäi (sö dông) c¸c hµm kh¸c nh»m gi¶i quyÕt bµi to¸n.
Tuy nhiªn, ë ®©y ta chØ xÐt mét ch¬ng tr×nh ®¬n gi¶n bao gåm duy nhÊt
mét hµm main, ta viÕt theo cÊu tróc sau:
Dßng 1: ®îc gäi lµ c¸c chØ thÞ tiÒn xö lý. Dßng nµy cã nhiÖm vô khai b¸o
c¸c th viÖn sÏ sö dông trong ch¬ng tr×nh.
Trong C++, c¸c lÖnh (hµm) thêng ®îc ®Æt trong c¸c th viÖn, lµ c¸c file .h
(cã thÓ t×m thÊy chóng trong th môc Include cña bé TC). NÕu trong ch¬ng tr×nh
Tµi liÖu gi¶ng d¹y- Lu hµnh néi bé Trang 4
#include <tªn th viÖn>
void main()
{
C¸c lÖnh trong th©n hµm main
}
1
2
3
4
5
§Ò c¬ng chi tiÕt Ki thuat lap trinh
muèn sö dông c¸c lÖnh nµy th× cÇn ph¶i khai b¸o sÏ sö dông c¸c th viÖn t¬ng øng
t¹i ®©y.
Cã rÊt nhiÒu th viÖn cã thÓ sö dông nhng nh÷ng th viÖn hay dïng lµ:
conio.h, stdio.h, iostream.h, math.h, iomanip.h, string.h, ofstream.h, ifstream.h,
fstream.h,…
Dßng 2: lµ tõ kho¸ void main() khai b¸o b¾t ®Çu hµm main.
Dßng 3 vµ 5: c¸c dÊu ‘{‘ vµ ‘}’ b¸o hiÖu b¾t ®Çu vµ kÕt thóc th©n hµm main
hoÆc b¾t ®Çu vµ kÕt thóc mét khèi lÖnh.
Dßng 4: lµ n¬i ta ®Æt c¸c lÖnh cña ch¬ng tr×nh chÝnh.
VÝ dô: ch¬ng tr×nh in ra mµn h×nh dßng ch÷ “Hello wold !”
#include “iostream.h”
void main()
{
cout<< “Hello world !”;
}
§Ó xem trong mét th viÖn cã chøa nh÷ng hµm nµo, trªn menu ta chän Help\ Index råi
gâ tªn th viÖn vµ bÊm Enter.
§Ó xem mét hµm ta ®ang sö dông thuéc vµo th viÖn nµo, ta còng chän help\ Index råi
gâ tªn hµm vµ bÊm Enter.
Trong C++ cã ph©n biÖt ch÷ hoa vµ ch÷ thêng. Sau mçi lÖnh ®Òu cã dÊu “;” ®Ó b¸o kÕt
thóc lÖnh.
§Æt l¹i ®êng dÉn tíi c¸c th viÖn: Trong mét ch¬ng tr×nh ta thêng sö dông c¸c hµm
trong c¸c th viÖn kh¸c nhau ®îc khai b¸o t¹i dßng 1 (nh trªn). Th«ng thêng, c¸c th viÖn ®Æt
trong c¸c th môc TC\INCLUDE. M«i trêng lËp tr×nh C++ tù thiÕt ®Æt ®êng dÉn tíi c¸c th viÖn
nµy. Tuy nhiªn, trong trêng hîp ®êng dÉn bÞ thay ®æi, ch¬ng tr×nh dÞch sÏ kh«ng t×m thÊy
chóng vµ b¸o lçi, khi ®ã ta cÇn ph¶i thiÕt ®Æt l¹i:
B1: Trong Menu chÝnh, chän Option\ Directories.
B2: Trong Include, ®Æt ®êng dÉn tíi c¸c th viÖn cã ®u«i .h(vÝ dô: C:\TC\INCLUDE).
Trong Libraries, ®Æt ®êng dÉn tíi c¸c th viÖn ®u«i .lib (vÝ dô: C:\TC\LIB).
II. BiÕn, biÓu thøc, c¸c lÖnh nhËp xuÊt
II.1. BiÕn
§Ó hiÓu kh¸i niÖm vµ b¶n chÊt biÕn, ta xÐt ch¬ng tr×nh ®¬n gi¶n sau:
NhËp vµo c¸c sè nguyªn a, b. Gäi P lµ tæng cña a vµ b, S lµ tÝch cña a vµ b.
TÝnh K=S*P/(S+P).
Ta dÔ dµng biÓu diÔn bµi to¸n b»ng m« h×nh sau:
Tµi liÖu gi¶ng d¹y- Lu hµnh néi bé Trang 5
§Ò c¬ng chi tiÕt Ki thuat lap trinh
Cã thÓ coi ®Çu vµo cña bµi to¸n lµ a, b vµ ®Çu ra lµ K. C¸c gi¸ trÞ P vµ S lµ
c¸c gi¸ trÞ trung gian.
Khi ngêi dïng nhËp vµo c¸c gi¸ trÞ a vµ b, chóng cÇn ®îc lu tr÷ trong bé
nhí. T¬ng tù nh vËy c¸c gi¸ trÞ P, S, K nÕu cÇn còng sÏ ®îc lu tr÷ trong bé nhí.
VËy tèi ®a ta cÇn sö dông 5 « nhí ®Ó lu tr÷ chóng. C¸c « nhí nµy gäi lµ c¸c biÕn.
BiÕn lµ mét vïng nhí ®îc ®Æt tªn.
Mçi « nhí (biÕn) ®Òu ®îc ®Æt 1 tªn tu©n theo quy íc ®Æt tªn nh sau:
- Tªn biÕn bao gåm ch÷ c¸i, ch÷ sè hoÆc dÊu g¹ch nèi ‘_’
- Ký tù ®Çu tiªn cña tªn biÕn kh«ng ®îc lµ mét ch÷ sè.
- Kh«ng ®îc trïng víi tõ kho¸.
- Trong cïng mét ph¹m vi kh«ng cã 2 biÕn trïng tªn.
Trong ch¬ng tr×nh, ta sö dông tªn biÕn ®Ó truy cËp vµo « nhí cña biÕn. Khi
®ã tªn biÕn chÝnh lµ gi¸ trÞ ®ang chøa trong « nhí cña nã.
TÊt c¶ c¸c biÕn khi sö dông ®Òu ph¶i khai b¸o. Có ph¸p nh sau:
<kiÓu biÕn> <tªn biÕn>;
Trong ®ã:
<kiÓu biÕn>: mçi biÕn dïng ®Ó chøa mét lo¹i gi¸ trÞ kh¸c nhau nh: sè
nguyªn, sè thùc, ký tù .v.v.., do vËy chóng ph¶i cã kiÓu t¬ng øng. Mét sè kiÓu c¬
b¶n nh sau:
KiÓu sè: bao gåm
+ Sè nguyªn int/ short int: lµ kiÓu d÷ liÖu cã ®é dµi 2 byte, dïng ®Ó khai
b¸o c¸c biÕn nguyªn cã gi¸ trÞ trong kho¶ng –32768 -> 32767
+ Sè nguyªn kh«ng dÊu: unsigned int: ®é dµi 2 byte, khai b¸o c¸c biÕn
nguyªn cã gi¸ trÞ tõ 0 tíi 65535.
+ Sè nguyªn dµi long: lµ kiÓu d÷ liÖu cã ®é dµi 4 byte, dïng khai b¸o c¸c
biÕn nguyªn cã gi¸ trÞ trong kho¶ng – 2.147.483.648 -> 2.147.483.647.
+ Sè nguyªn dµi kh«ng dÊu: unsigned long: ®é dµi 4 byte, khai b¸o c¸c
biÕn cã gi¸ trÞ tõ 0 tíi 4.294.967.295.
Tµi liÖu gi¶ng d¹y- Lu hµnh néi bé Trang 6
a
b
K
P S
§Ò c¬ng chi tiÕt Ki thuat lap trinh
+ Sè thùc (dÊu ph¶y ®éng) float: kÝch thíc 4 byte khai b¸o c¸c biÕn thùc tõ
3.4*10-38 -> 3.4*1038
.
+ Sè thùc (dÊu ph¶y ®éng, ®é chÝnh x¸c kÐp) double: kÝch thíc 8 byte, cã
ph¹m vi tõ 1.7*10-308 - > 1.7*10308
+ Sè thùc (dÊu ph¶y ®éng, ®é chÝnh x¸c kÐp) dµi long double: kÝch thíc 10
byte, khai b¸o c¸c biÕn tõ 3.4 * 10-4932 tíi 1.1 * 104932
.
KiÓu ký tù: bao gåm
+ KiÓu ký tù char: khai b¸o biÕn chøa mét ký tù.
+ KiÓu con trá ký tù char *: t¬ng ®¬ng víi chuçi ký tù.
<tªn biÕn>: ®îc ®Æt tuú ý tu©n theo c¸c quy íc ®Æt tªn biÕn ë trªn.
VÝ dô: int a, b; float c;
ë ®©y, ta khai b¸o 2 biÕn a vµ b cã cïng kiÓu sè nguyªn vµ biÕn c cã kiÓu
sè thùc. Khi ®ã ch¬ng tr×nh sÏ cÊp ph¸t 2 « nhí cã kÝch thíc 2 byte mçi « vµ ®Æt
tªn lµ a, b; mét « nhí kÝch thíc 4 byte ®îc ®Æt tªn c.
VÞ trÝ khai b¸o: Cã thÓ khai b¸o biÕn t¹i bÊt kú ®©u trong th©n ch¬ng tr×nh
tríc khi sö dông.
II.2. BiÓu thøc
Mét biÓu thøc bao gåm 2 thµnh phÇn: c¸c to¸n tö (phÐp to¸n) vµ c¸c to¸n
h¹ng (sè h¹ng).
C¸c to¸n tö:
Trong C++, c¸c to¸n tö ®îc t¹m ph©n chia lµm 4 lo¹i theo chøc n¨ng cña
chóng. Sau ®©y lµ mét sè to¸n tö hay dïng:
- C¸c to¸n tö sè häc:
Stt To¸n tö C¸ch viÕt
1 Céng +
2 Trõ -
3 Nh©n *
4 Chia /
5 §ång d %
6 T¨ng 1 ®¬n vÞ ++
7 Gi¶m 1 ®¬n vÞ - -
- C¸c to¸n tö Logic:
Stt To¸n tö C¸ch viÕt
1 Vµ &&
2 HoÆc | |
Tµi liÖu gi¶ng d¹y- Lu hµnh néi bé Trang 7
§Ò c¬ng chi tiÕt Ki thuat lap trinh
3 Phñ ®Þnh !
- C¸c to¸n tö so s¸nh:
Stt To¸n tö C¸ch viÕt
1 Lín h¬n >
2 Nhá h¬n <
3 Lín h¬n hoÆc b»ng >=
4 Nhá h¬n hoÆc b»ng <=
5 B»ng ==
6 Kh«ng b»ng !=
- To¸n tö g¸n:
Stt To¸n tö C¸ch viÕt
1 G¸n =
Mét b¶ng t¬ng ®èi ®Çy ®ñ c¸c to¸n tö trong C++ nh sau:
[ ] ( ) . -> ++ -- &
* + - ~ ! sizeof /
% << >> < > <= >=
== != ^ | && || ?:
= *= /= %= += -= <<=
>>= &= ^= |= , # ##
C¸c to¸n h¹ng:
Cã thÓ chia c¸c to¸n h¹ng lµm 3 lo¹i gåm: h»ng, biÕn vµ hµm.
H»ng: gåm h»ng sè, h»ng x©u ký tù vµ h»ng ký tù. H»ng x©u ký tù khi viÕt
cÇn ®îc ®Æt gi÷a hai dÊu nh¸y kÐp “”; h»ng ký tù ®îc ®Æt gi÷a hai dÊu nh¸y ®¬n ‘’
cßn h»ng sè th× kh«ng.
Hµm: gåm nh÷ng hµm tr¶ vÒ mét gi¸ trÞ nµo ®ã vµ gi¸ trÞ nµy ®îc sö dông
trong biÓu thøc. Cã rÊt nhiÒu hµm cã s½n trong c¸c th viÖn mµ ta cã thÓ sö dông
cho biÓu thøc. Sau ®©y lµ mét sè hµm to¸n häc (th viÖn math.h) thêng dïng:
STT Tªn hµm C¸ch viÕt
1. Sin(x) sin(x)
2. Cos(x) cos(x)
3. x
sqrt(x)
4. e
x
exp(x)
5. Ln(x) log(x)
6. Log10(x) log10(x)
Tµi liÖu gi¶ng d¹y- Lu hµnh néi bé Trang 8