Lp trình căn bn
TNG QUAN
I. MC ĐÍCH YÊU CU
Môn Lp Trình Căn Bn A cung cp cho sinh viên nhng kiến thc cơ bn v
lp trình thông qua ngôn ng lp trình C. Môn hc này là nn tng để tiếp thu hu hết
các môn hc khác trong chương trình đào to. Mt khác, nm vng ngôn ng C là cơ
s để phát trin các ng dng.
Hc xong môn này, sinh viên phi nm được các vn đề sau:
- Khái nim v ngôn ng lp trình.
- Khái nim v kiu d liu
- Kiu d liu có cu trúc (cu trúc d liu).
- Khái nim v gii thut
- Ngôn ng biu din gii thut.
- Ngôn ng sơ đồ (lưu đồ), s dng lưu đồ để biu din các gii thut.
- Tng quan v Ngôn ng lp trình C.
- Các kiu d liu trong C.
- Các lnh có cu trúc.
- Cách thiết kế và s dng các hàm trong C.
- Mt s cu trúc d liu trong C.
II. ĐỐI TƯỢNG MÔN HC
Môn hc lp trình căn bn được dùng để ging dy cho các sinh viên sau:
- Sinh viên năm th 2 chuyên ngành Tin hc, Toán Tin, Lý Tin.
- Sinh viên năm th 2 chuyên ngành Đin t (Vin thông, T động hóa…)
III. NI DUNG CT LÕI
Trong khuôn kh 45 tiết, giáo trình đưc cu trúc thành 2 phn: Phn 1 gii
thiu v lp trình cu trúc, các khái nim v lp trình, gii thut… Phn 2 trình bày có
h thng v ngôn ng lp trình C, các câu lnh, các kiu d liu…
PHN 1: Gii thiu cu trúc d liu và gii thut
PHN 2: Gii thiu v mt ngôn ng lp trình - Ngôn ng lp trình C
Chương 1: Gii thiu v ngôn ng C & môi trường lp trình Turbo C
Chương 2: Các thành phn ca ngôn ng C
Chương 3: Các kiu d liu sơ cp chun và các lnh đơn
Chương 4: Các lnh có cu trúc
Chương 5: Chương trình con
Chương 6: Kiu mng
Chương 7: Kiu con tr
Chương 8: Kiu chui ký t
Chương 9: Kiu cu trúc
Trang 1
Lp trình căn bn
Chương 10: Kiu tp tin
IV. KIN THC LIÊN QUAN
Để hc tt môn Lp Trình Căn Bn A, sinh viên cn phi có các kiến thc nn
tng sau:
- Kiến thc toán hc.
- Kiến thc và k năng thao tác trên máy tính.
V. DANH MC TÀI LIU THAM KHO
[1] Nguyn Văn Linh, Giáo trình Tin Hc Đại Cương A, Khoa Công Ngh Thông Tin,
Đại hc Cn Thơ, 1991.
[2] Nguyn Đình Tê, Hoàng Đức Hi , Giáo trình lý thuyết và bài tp ngôn ng C;
Nhà xut bn Giáo dc, 1999.
[3] Nguyn Cn, C – Tham kho toàn din, Nhà xut bn Đồng Nai, 1996.
[4] Võ Văn Vin, Giúp t hc Lp Trình vi ngôn ng C, Nhà xut bn Đồng Nai,
2002.
[5] Brain W. Kernighan & Dennis Ritchie, The C Programming Language, Prentice
Hall Publisher, 1988.
VI. T KHÓA
Bài toán, chương trình, gii thut, ngôn ng gi, lưu đồ, biu thc, gán, r
nhánh, lp, hàm, mng, con tr, cu trúc, tp tin.
Trang 2
Lp trình căn bn
Phn 1: GII THIU V CU TRÚC D
LIU VÀ GII THUT
Hc xong chương này, sinh viên s nm bt được các vn đề sau:
- Khái nim v ngôn ng lp trình.
- Khái nim v kiu d liu
- Kiu d liu có cu trúc (cu trúc d liu).
- Khái nim v gii thut
- Ngôn ng biu din gii thut.
- Ngôn ng sơ đồ (lưu đồ), s dng lưu đồ để biu din các gii thut.
Trng tâm ca phn này là gii thut & cách biu din gii thut. Chính nh
điu này ta mi có th gii quyết các yêu cu bng chương trình máy tính.
I. T BÀI TOÁN ĐẾN CHƯƠNG TRÌNH
Gi s chúng ta cn viết mt chương trình để gii phương trình bc 2 có dng
hay viết chương trình để ly căn bc n ca mt s thc m (0
2=++ cbxax nm).
Công vic đầu tiên là chúng ta phi hiu và biết cách gii bài toán bng li gii thông
thường ca người làm toán. Để gii được bài toán trên bng máy tính (lp trình cho
máy tính gii) thì chúng ta cn phi thc hin qua các bước như:
o Mô t các bước gii bài toán.
o V sơ đồ x lý da trên các bước.
o Da trên sơ đồ xđể viết chương trình x lý bng ngôn ng gi (ngôn
ng bình thường ca chúng ta).
o Chn ngôn ng lp trình và chuyn chương trình t ngôn ng gi sang ngôn
ng lp trình để to thành mt chương trình hoàn chnh.
o Thc hin chương trình: nhp vào các tham s, nhn kết qu.
Trong nhiu trường hp, t bài toán thc tế chúng ta phi xây dng mô hình
toán ri mi xác định được các bước để gii. Vn đề này s được trình bày chi tiết
trong môn Cu Trúc D Liu.
II. GII THUT
II.1. Khái nim gii thut
Gii thut là mt h thng cht ch và rõ ràng các quy tc nhm xác định mt
dãy các thao tác trên nhng d liu vào sao cho sau mt s hu hn bước thc hin các
thao tác đó ta thu được kết qu ca bài toán.
Trang 3
Lp trình căn bn
Ví d 1: Gi s có hai bình A và B đựng hai loi cht lng khác nhau, chng
hn bình A đựng rượu, bình B đựng nước mm. Gii thut để hoán đổi (swap) cht
lng đựng trong hai bình đó là:
Yêu cu phi có thêm mt bình th ba gi là bình C.
Bước 1: Đổ rượu t bình A sang bình C.
Bước 2: Đổ nước mm t bình B sang bình A.
Bước 3: Đổ rượu t bình C sang bình B.
Ví d 2: Mt trong nhng gii thut tìm ước chung ln nht ca hai s a và b là:
Bước 1: Nhp vào hai s a và b.
Bước 2: So sánh 2 s a,b chn s nh nht gán cho UCLN.
Bước 3: Nếu mt trong hai s a hoc b không chia hết cho UCLN thì
thc hin bước 4, ngược li (c a và b đều chia hết cho UCLN) thì thc hin
bước 5.
Bước 4: Gim UCLN mt đơn v và quay li bước 3
Bước 5: In UCLN - Kết thúc.
II.2 Các đặc trưng ca gii thut
o Tính kết thúc: Gii thut phi dng sau mt s hu hn bước.
o Tính xác định: Các thao tác máy tính phi thc hin được và các máy tính khác
nhau thc hin cùng mt bước ca cùng mt gii thut phi cho cùng mt kết qu.
o Tính ph dng: Gii thut phi "vét' hết các trường hp và áp dng cho mt lot
bài toán cùng loi.
o Tính hiu qu: Mt gii thut được đánh giá là tt nếu nó đạt hai tiêu chun sau:
- Thc hin nhanh, tn ít thi gian.
- Tiêu phí ít tài nguyên ca máy, chng hn tn ít b nh.
Gii thut tìm UCLN nêu trên đạt tính kết thúc bi vì qua mi ln thc hin
bước 4 thì UCLN s gim đi mt đơn v cho nên trong trường hp xu nht thì
UCLN=1, gii thut phi dng. Các thao tác trình bày trong các bước, máy tính đều có
th thc hin được nên nó có tính xác định. Gii thut này cũng đạt tính ph dng vì
được dùng để tìm UCLN cho hai s nguyeên dương a và b bt k. Tuy nhiên tính
hiu qu ca gii thut có th chưa cao; c th là thi gian chy máy có th còn tn
nhiu hơn mt s gii thut khác mà chúng ta s có dp tr li trong phn lp trình C.
II.3 Ngôn ng biu din gii thut
Để biu din gii thut, cn phi có mt tp hp các ký hiu dùng để biu din,
mi ký hiu biu din cho mt hành động nào đó. Tp hp các ký hiu đó li to thành
ngôn ng biu din gii thut.
II.3.1 Ngôn ng t nhiên
Ngôn ng t nhiên là ngôn ng ca chúng ta đang s dng, chúng ta có th s
dng ngôn ng t nhiên để mô t gii thut ging như các ví d trên.
Ví d: Ta có gii thut gii phương trình bc nht dng 0
=
+
bax như sau:
Bước 1: Nhn giá tr ca các tham s a, b
Bước 2: Xét giá tr ca a xem có bng 0 hay không? Nếu a=0 thì làm bước 3,
nếu a khác không thì làm bước 4.
Trang 4
Lp trình căn bn
Bước 3: (a bng 0) Nếu b bng 0 thì ta kết lun phương trình vô s nghim,
nếu b khác 0 thì ta kết lun phương trình vô nghim.
Bước 4: ( a khác 0) Ta kết lun phương trình có nghim x=-b/a
II.3.2 Ngôn ng sơ đồ (Lưu đồ)
Ngôn ng sơ đồ (lưu đồ) là mt ngôn ng đặc bit dùng để mô t gii thut
bng các sơ đồ hình khi. Mi khi qui định mt hành động.
Khi Tác dng (Ý nghĩa ca
hành động)
Khi Tác dng (Ý nghĩa
ca hành động)
Bt đầu/ Kết thúc
Nhp / Xut
Thi hành
La chn
Đường đi
Chương trình con
Khi ni
Li chú thích
Chng hn ta dùng lưu đồ để biu din gii thut tìm UCLN nêu trên như sau:
Nhp a,b aMUCLN
bMUCLN
Sai Đúng
Đúng Sai
In UCLN
Begin
a<b
UCLN=a UCLN=b
UCLN=UCLN-1
End
A
A
II.3.3 Mt s gii thut cơ bn
Ví d 1: Cn viết chương trình cho máy tính sao cho khi thc hin chương trình
đó, máy tính yêu cu người s dng chương trình nhp vào các s hng ca tng (n);
nhp vào dãy các s hng ai ca tng. Sau đó, máy tính s thc hin vic tính tng các
s ai này và in kết qu ca tng tính được.
Yêu cu: Tính tng n s S=a1+ a2+a3+......+an .
Trang 5