ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thông Tin
BÀI TH C HÀNH S
K THU T L P TRÌNH
1
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
M c tiêu
• Phân tích bài tốn m ng nhi u chi u,
• Li t kê các thông tin c n lưu ý khi áp d ng
vi c khai báo – truy xu t m ng nhi u
chi u,
• Xây d ng chương trình s d ng m ng
nhi u chi u.
2
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 1
• Bài tốn: nh p ñi m c a các sinh viên
trong 1 l p h c có m dãy bàn, m i dãy có
n ch ng i và tính đi m trung bình, cho
bi t thơng tin v sv có đi m cao nh t và
th p nh t.
• Bư c 1: phân tích các thành ph n c a
m ng nhi u chi u,
• Bư c 2: v lưu đ ,
• Bư c 3: vi t chương trình.
3
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 2
• Bài tốn: tính và in ra màn hình tam giác
Pascal b c n (0 < n ≤ 10)
• Bư c 1: phân tích các thành ph n c a
m ng nhi u chi u,
– Lưu ý v c u t o c a tam giác Pascal,
• Bư c 2: v lưu đ ,
• Bư c 3: vi t chương trình:
– Lưu ý khơng xu t s 0.
4
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 3
• Bài tốn: nh p vào ma tr n A có kích thư c m x
n và ma tr n B có kích thư c p x q. Hãy ki m tra
xem có th c ng 2 ma tr n này hay không, n u
có thì xu t ra k t qu ,
• Bư c 1: phân tích các thành ph n c a m ng
nhi u chi u,
• Bư c 2: v lưu ñ ,
– ði u ki n th c hi n phép c ng ma tr n,
– Cách th c hi n phép c ng ma tr n,
• Bư c 3: vi t chương trình.
5
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thông Tin
BÀI TH C HÀNH S
K THU T L P TRÌNH
2
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
M c tiêu
• Áp d ng m ng 2 chi u cho các bài toán
ma tr n,
• Ki m tra tính ch t c a ma tr n,
• Th c hi n các phép tính trên ma tr n.
2
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 1
• Bài tốn: nh p ma tr n A có kích thư c mxn.
Hãy ki m tra xem ma tr n A có ph i là ma tr n
vng, ma tr n đ i x ng, ma tr n chéo hay
khơng?
• Bư c 1: phân tích các thành ph n c a m ng 2
chi u,
• Bư c 2: v lưu đ và lưu ý các tính ch t:
– Ma tr n vng: m = n,
– Ma tr n ñ i x ng: A[i][j] = A[j][i] v i m i i,j
– Ma tr n chéo: A[i][i] != 0 v i m i i và A[i][j] = 0 v i m i
i!=j
• Bư c 3: vi t chương trình.
3
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 2
• Bài tốn: nh p ma tr n A có kích thư c mxn và
ma tr n B có kích thư c pxq. Hãy ki m tra xem
có th th c hi n AxB hay khơng, n u đư c hãy
tính C=AxB?
• Bư c 1: phân tích các thành ph n c a các m ng
2 chi u,
• Bư c 2: v lưu đ và lưu ý các tính ch t:
– Phép tính AxB ch x y ra khi: n=p
– K t qu C[i][j] = ΣA[i][k]xB[k][j] v i k=0..(n-1)
• Bư c 3: vi t chương trình.
4
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 3
• Bài tốn: nh p ma tr n A có kích thư c mxn. Trên m i
hàng c a ma tr n A, tính t ng các ph n t
các v trí
ng v i giá tr trong dãy Fibonacci. Vd: tính t ng c a các
v trí s 1 + v trí s 1 + v trí s 2 + v trí s 3 + v trí s
5…
• Bư c 1: phân tích các thành ph n c a các m ng 2
chi u,
• Bư c 2: Xác ñ nh các giá tr trong dãy Fibonacci và các
v trí trong m i hàng c n đư c tính t ng:
– G i F là dãy Fibonacci: F[0] = 1, F[1] = 1, F[2] = 2, F[3] = 3, F[4]
= 5…
– Tính t ng A[i][F[0]] + A[i][F[1]] + A[i][F[2]] + …
• Bư c 3: vi t chương trình.
5
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thông Tin
BÀI TH C HÀNH S
K THU T L P TRÌNH
3
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
M c tiêu
• Áp d ng m ng 2 chi u cho bài toán ma
tr n nâng cao,
• Áp d ng con tr thay th cho ma tr n 1
chi u trong các bài toán.
2
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 1
• Bài tốn: Nh p vào t
bàn phím hai s nguyên
dương m và n (0 < m, n < = 20). Hãy t o m t ma
tr n xo n c có kích thư c m x n, xu t phát t
đi m góc dư i ph i và theo hư ng ñi lên. Ví d
cho trư ng h p m = 4, n = 5 như sau:
8
7
• Bư c 1: phân tích các thành ph n c a m ng 2 chi u,
• Bư c 2: v lưu ñ và lưu ý các tính ch t:
9
6
5
4
18
17 16
3
10 19
20 15
2
– ð thay đ i theo chi u d c và ngang sau m i bư c,
– Quy lu t c a ñ thay ñ i theo chi u d c và chi u ngang, 11 12 13 14 1
– Lưu ý: ñi u ki n vư t ra ngoài gi i h n c a 4 góc,
• Bư c 3: vi t chương trình.
3
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 2
• Bài tốn: Nh p vào ñi m c a n sinh viên và cho
bi t thơng tin v đi m cao nh t và đi m trung
bình c a n sinh viên (s d ng con tr ),
• Bư c 1: phân tích bài toán v i trư ng h p m ng 1 chi u,
• Bư c 2: thay th m ng 1 chi u b ng con tr :
– Khai báo con tr ,
– Kh i t o con tr ,
– Truy xu t giá tr con tr ,
• Bư c 3: vi t chương trình.
4
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 3
• Bài tốn: Nh p vào ñi m c a n sinh viên và
s p x p l i theo th t t nh ñ n l n (s
d ng con tr ),
• Bư c 1: phân tích bài tốn v i trư ng h p m ng
1 chi u,
• Bư c 2: thay th m ng 1 chi u b ng con tr :
– Khai báo con tr ,
– Kh i t o con tr ,
– Truy xu t giá tr con tr ,
• Bư c 3: vi t chương trình.
5
Đại học Mở TP.Hồ Chí Minh
Khoa Cơng Nghệ Thơng Tin
KỸ THUẬT LẬP TRÌNH
BÀI THỰC HÀNH SỐ 4
KỸ THUẬT LẬP TRÌNH
Đại học Mở TP.Hồ Chí Minh
Khoa Cơng Nghệ Thơng Tin
MỤC TIÊU
• Sử dụng mảng và con trỏ để xuất nhập chuỗi ký
tự,
• Thực hiện các xử lý chuỗi ký tự.
2
KỸ THUẬT LẬP TRÌNH
Đại học Mở TP.Hồ Chí Minh
Khoa Cơng Nghệ Thơng Tin
BÀI 1
• u cầu: nhập, lưu trữ và xuất ra màn hình
chuỗi ký tự và sử dụng mảng để lưu trữ chuỗi,
• Lưu ý:
– Khai báo mảng,
– Sự khác biệt Nhập mảng ký tự và Chuỗi ký tự,
– Truy xuất Chuỗi ký tự.
3
KỸ THUẬT LẬP TRÌNH
Đại học Mở TP.Hồ Chí Minh
Khoa Cơng Nghệ Thơng Tin
BÀI 2
• u cầu: xây dựng hàm để xóa các khoảng
trắng ở đầu và cuối chuỗi (được nhập trong bài
1), xóa các khoảng trắng thừa ở giữa các từ
trong chuỗi,
• Lưu ý:
– Vị trí bắt đầu và vị trí cuối cùng của mảng,
– Sự thay đổi độ dài của chuỗi ký tự sau mỗi lần xóa 1
ký tự.
4
KỸ THUẬT LẬP TRÌNH
Đại học Mở TP.Hồ Chí Minh
Khoa Cơng Nghệ Thơng Tin
BÀI 3
• u cầu: xây dựng hàm để để đếm số lần xuất
hiện của một chuỗi s2 trong chuỗi đã được nhập
trước đó (trong bài 1),
• Lưu ý:
– Tìm vị trí đầu tiên của chuỗi s2 trong chuỗi chính,
– Tìm vị trí đầu tiên của chuỗi s2 trong phần cịn lại của
chuỗi chính sau khi đã tìm thấy lần trước…
5
KỸ THUẬT LẬP TRÌNH
Đại học Mở TP.Hồ Chí Minh
Khoa Cơng Nghệ Thơng Tin
BÀI 4
• u cầu: xây dựng hàm để viết hoa các ký tự
đầu mỗi từ trong chuỗi đã được nhập trước đó
(trong bài 1),
• Lưu ý:
– Kiểm tra ký tự là chữ cái,
– Nhận diện ký tự đầu của mỗi từ.
6
KỸ THUẬT LẬP TRÌNH
Đại học Mở TP.Hồ Chí Minh
Khoa Cơng Nghệ Thơng Tin
BÀI 5
• u cầu: thực hiện lại các bài từ 1-4 bằng cách
sử dụng con trỏ.
7
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thông Tin
BÀI TH C HÀNH S
K THU T L P TRÌNH
5
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
M c tiêu
• S d ng các ñ i tư ng xu t và nh p t
t p tin,
• Th c hi n vi c xu t nh p d li u t t p
tin.
2
ThS VÕ NH T VINH
ð i h c M TP.H Chí Minh
Khoa Cơng Ngh Thơng Tin
Bài 1
• Bài tốn: Nh p vào t
t p tin “input.txt” m t
chu i s và in chu i s ra t p tin “output.txt”
• Bư c 1: lưu ý các ñ i tư ng dùng đ nh p –
xu t t t p tin,
• Bư c 2: Lưu ý các thao tác ñ nh p – xu t t
t p tin,
• Bư c 3: vi t chương trình.
3