
TR NG Đ I H C K THU T CÔNG NGHI PƯỜ Ạ Ọ Ỹ Ậ Ệ
KHOA ĐI N TỆ Ử
B MÔN: K THU T PH N M MỘ Ỹ Ậ Ầ Ề
Đ C NG TH C HÀNH Ề ƯƠ Ự
H C PH N: NGÔN NG L P TRÌNH B C CAOỌ Ầ Ữ Ậ Ậ
DÙNG CHO ĐÀO T O B C Đ I H C THEO H C CH TÍN CHẠ Ậ Ạ Ọ Ọ Ế Ỉ
CHO CÁC NGÀNH TRONG TOÀN TR NGƯỜ
THÁI NGUYÊN 10/2008
1

TR NG ĐHKTCNƯỜ C NG HOÀ XÃ H I CH NGHĨA VI T NAMỘ Ộ Ủ Ệ
KHOA ĐI N TỆ Ử Đ c l p – T do – H nh phúcộ ậ ự ạ
BM K THU T PH N M MỸ Ậ Ầ Ề Thái Nguyên, ngày 12 tháng 10 năm 2008
Đ C NG TH C HÀNHỀ ƯƠ Ự
NGÔN NG L P TRÌNH B C CAOỮ Ậ Ậ
I. BÀI 1
M c tiêu: ụ
-Làm quen v i môi tr ng l p trình C++ớ ườ ậ
-Làm quen v i các thành ph n c b n, các ki u d li u và các phép toán.ớ ầ ơ ả ể ữ ệ
-Th c hi n thao tác nh p xu t d li u.ự ệ ậ ấ ữ ệ
-S d ng toán t đi u ki n, s d ng h ngử ụ ử ề ệ ử ụ ằ
Bài 1. Nêu th t th c hi n các phép toán trong bi u th c câu l nh cout và cho bi tứ ự ự ệ ể ứ ở ệ ế
k t qu in ra màn hình sau khi th c hi n ch ng trình sau:ế ả ự ệ ươ
#include <iostream.h>
void main(){
cout<<(2+3*5/2-3<<1&5|7);
}
Bài 2. Nêu th t th c hi n các phép toán trong bi u th c câu l nh cout và cho bi tứ ự ự ệ ể ứ ở ệ ế
k t qu in ra màn hình sau khi th c hi n ch ng trình sau:ế ả ự ệ ươ
#include <iostream.h>
void main(){
cout<<(6^3||4+3-6&&7/3);
}
Bài 3. Nêu th t th c hi n các phép toán trong bi u th c câu l nh cout và cho bi tứ ự ự ệ ể ứ ở ệ ế
k t qu in ra màn hình sau khi th c hi n ch ng trình sau:ế ả ự ệ ươ
#include <iostream.h>
void main(){
int a=2,b=2;
cout<<(--a-5+b++*4>>2&7);
}
Bài 4. Nêu th t th c hi n các phép toán trong bi u th c câu l nh cout và cho bi tứ ự ự ệ ể ứ ở ệ ế
k t qu in ra màn hình sau khi th c hi n ch ng trình sau:ế ả ự ệ ươ
#include <iostream.h>
void main(){
int a=2,b=2;
cout<<(2+--a>b?1:2);
}
Bài 5. Nêu tác d ng c a t ng câu l nh trong hàm main và cho bi t k t qu in ra mànụ ủ ừ ệ ế ế ả
hình sau khi th c hi n ch ng trình sau:ự ệ ươ
2

#include <iostream.h>
void main(){
char *s="abcdefgh",*st=s;
st+=4; *st=0;
s+=1; *s+=1;
cout<<s;
}
Bài 6. Nêu tác d ng c a t ng câu l nh trong hàm main và cho bi t k t qu in ra mànụ ủ ừ ệ ế ế ả
hình sau khi th c hi n ch ng trình sau:ự ệ ươ
#include <iostream.h>
void main(){
unsigned char c=200; float f=4.5;
c+=100; f+=0.5;
cout<<f/2+c/3;
}
Bài 7. Nêu tác d ng c a t ng câu l nh trong hàm main và cho bi t k t qu in ra mànụ ủ ừ ệ ế ế ả
hình sau khi th c hi n ch ng trình sau:ự ệ ươ
#include <iostream.h>
void main(){
char *s="abcdefgh",*st=s;
st+=4; *st+=4;
s+=1; *s+=1;
cout<<s;
}
Bài 8. Vi t ch ng trình đ c 2 s nguyên và in ra k t qu c a phép (+), phép tr (-),ế ươ ọ ố ế ả ủ ừ
phép nhân (*), phép chia (/) ra màn hình. Nh n xét k t qu chia 2 s nguyên.ậ ế ả ố
Bài 9. Vi t ch ng trình nh p vào bán kính hình c u, tính và in ra di n tích, th tích c aế ươ ậ ầ ệ ể ủ
hình c u đó. H ng d n: ầ ướ ẫ
2
R*PI*4S =
, và
3
R*PI*(4/3) V =
Bài 10. Vi t ch ng trình nh p vào m t s a b t kỳ và in ra giá tr bình ph ng (ế ươ ậ ộ ố ấ ị ươ
2
a
), l pậ
ph ng (ươ
3
a
) c a a và giá tr ủ ị
4
a
.
Bài 11. Vi t ch ng trình nh p vào s giây t 0 đ n 86399, đ i s giây nh p vào thànhế ươ ậ ố ừ ế ổ ố ậ
d ng "gio:phut:giay", m i thành ph n là m t s nguyên có 2 ch s . Ví d : 02:11:05ạ ỗ ầ ộ ố ữ ố ụ
II. BÀI 2
M c tiêu: ụ
-S d ng c u trúc r nhánh if, swidth.ử ụ ấ ẽ
-S d ng c u trúc l p for, while, do ... whileử ụ ấ ặ
Bài 12. Vi t ch ng trình nh p vào s nguyên d ng, in ra thông báo s ch n hay l . ế ươ ậ ố ươ ố ẵ ẻ
Bài 13. Vi t ch ng trình nh p vào 4 s th c a, b, c, d. Tìm và in ra s l n nh t trong 4ế ươ ậ ố ự ố ớ ấ
s đó (s d ng toán t đi u ki n, và c u trúc if).ố ử ụ ử ề ệ ấ
Bài 14. Vi t ch ng trình gi i ph ng trình b c 2: ế ươ ả ươ ậ
0 c bx ax
2
=++
, v i a, b, c nh p vàoớ ậ
t bàn phím (tính c nghi m ph c).ừ ả ệ ứ
Bài 15. Vi t ch ng trình nh p vào tháng, in ra tháng đó có bao nhiêu ngày.ế ươ ậ
3

H ng d nướ ẫ : Nh p vào thángậ
N u là tháng 1, 3, 5, 7, 8, 10, 12 thì có 31 ngàyế
N u là tháng 4, 6, 9, 11 thì có 30 ngàyế
N u là tháng 2 và là năm nhu n thì có 29 ngày ng c l i 28 ngàyế ậ ượ ạ
(Năm nhu n là năm chia ch n cho 4)ậ ẵ
Bài 16. Vi t ch ng trình nh p vào 2 s x, y và 1 trong 4 toán t +, -, *, /. N u là + thì inế ươ ậ ố ử ế
ra k t qu x + y, n u là – thì in ra x – y, n u là * thì in ra x * y, n u là / thì in ra x / y (n u yế ả ế ế ế ế
= 0 thì thông báo không chia đ c).ượ
Bài 17. Vi t ch ng trình nh p vào 1 s t 0 đ n 9. In ra ch s t ng ng. Ví d : nh pế ươ ậ ố ừ ế ữ ố ươ ứ ụ ậ
vào s 5, in ra "Năm".ố
Bài 18. Vi t ch ng trình nh p vào đi m 3 môn thi: Toán, Lý, Hóa c a h c sinh. N uế ươ ậ ể ủ ọ ế
t ng đi m >= 15 và không có môn nào d i 4 thì in k t qu đ u. N u đ u mà các môn đ uổ ể ướ ế ả ậ ế ậ ề
l n h n 5 thì in ra l i phê "H c đ u các môn", ng c l i in ra "H c ch a đ u các môn",ớ ơ ờ ọ ề ượ ạ ọ ư ề
các tr ng h p khác là "Thi h ng".ườ ợ ỏ
Bài 19. Vi t ch ng trình nh p s gi làm và l ng gi r i tính s ti n l ng t ng c ng.ế ươ ậ ố ờ ươ ờ ồ ố ề ươ ổ ộ
N u s gi làm l n h n 40 thì nh ng gi làm dôi ra đ c tính 1,5 l n.ế ố ờ ớ ơ ữ ờ ượ ầ
Bài 20. Vi t ch ng trình nh p vào 3 giá tr nguyên d ng a, b, c. Ki m tra xem a, b, c cóế ươ ậ ị ươ ể
ph i là 3 c nh c a tam giác không? N u là 3 c nh c a tam giác thì tính di n tích c a tamả ạ ủ ế ạ ủ ệ ủ
giác theo công th c sau:ứ
S =
)cp*)bp(*)ap(*p −−−
, v i ớ
2/)( cbap ++=
H ng d n: a, b, c là 3 c nh c a tam giác ph i th a đi u ki n sau: (a + b) > c và (a + c)ướ ẫ ạ ủ ả ỏ ề ệ
> b và (b + c) > a.
Bài 21. Vi t ch ng trình tính giá tr c a hàm f, v i x là s th c đ c nh p t bàn phím.ế ươ ị ủ ớ ố ự ượ ậ ừ
( )
>−
<=<−
<=
=
2sin
20
00
22
2
xxx
xxx
x
xf
π
Bài 22. Vi t ch ng trình tính ti n đi n v i ch s m i và ch s cũ đ c nh p vào tế ươ ề ệ ớ ỉ ố ớ ỉ ố ượ ậ ừ
bàn phím. In ra màn hình ch s cũ, ch s m i, và s ti n ph i tr . Bi t r ng 100 kWh đ uỉ ố ỉ ố ớ ố ề ả ả ế ằ ầ
giá 550, t KWh 101 - 150 giá 1.110, t KWh 151 - 200 giá 1.470, t KWh 201 - 300 giáừ ừ ừ
1.600, t KWh 301 - 400 giá 1.720, t KWh 401 tr lên giá 1.780.ừ ừ ở
Bài 23. M t ng i g i ti t ki m a đ ng v i lãi su t s% m t tháng (tính lãi hàng tháng).ộ ườ ử ế ệ ồ ớ ấ ộ
Vi t m t ch ng trình tính và in ra màn hình hai c t song song, c t th nh t là s tháng đãệ ộ ươ ộ ộ ứ ấ ố
g i, c t th hai t ng s ti n (c v n và lãi) ng v i s tháng c t th nh t cho m tử ộ ứ ổ ố ề ả ố ứ ớ ố ở ộ ứ ấ ộ
kho ng th i gian t 1 đ n t tháng, v i a, s, t đ c nh p t bàn phím.ả ờ ừ ế ớ ượ ậ ừ
Bài 24. M t ng i g i ti t ki m a đ ng v i lãi su t là s% m t tháng trong kỳ h n 6 thángộ ườ ử ế ệ ồ ớ ấ ộ ạ
(6 tháng tính lãi m t l n). Vi t ch ng trình tính và in ra màn hình hai c t song song, c tộ ầ ế ươ ộ ộ
th nh t là s tháng đã g i, c t th hai là t ng ti n (c v n và lãi) ng v i s tháng c tứ ấ ố ử ộ ứ ổ ề ả ố ứ ớ ố ở ộ
th nh t cho m t kho ng th i gian t 6 tháng đ n t tháng, v i a, s, và t đ c nh p t bànứ ấ ộ ả ờ ừ ế ớ ượ ậ ừ
phím. (Bi t r ng n u lĩnh không ch n kỳ nào thì không đ c tính lãi kỳ y).ế ằ ế ắ ượ ấ
4

Bài 25. Bi t ch ng trình gi i bài toán c đi n sau:ế ươ ả ổ ể
Trăm trâu, trăm cỏ
Trâu đ ng ăn nămứ
Trâu n m ăn ba,ằ
Ba trâu già ăn m tộ
H i m i lo i trâu có bao nhiêu con.ỏ ỗ ạ
Bài 26. Vi t ch ng trình gi i bài toán c đi n sau:ế ươ ả ổ ể
V a gà v a chó 36 conừ ừ
Bó l i cho tròn, đ m đ 100 chânạ ế ủ
H i có bao nhiêu gà, bao nhiêu chóỏ
Bài 27. Vi t ch ng trình nh p vào m t s nguyên r i in ra t t c các c s c a s đó.ế ươ ậ ộ ố ồ ấ ả ướ ố ủ ố
Bài 28. Vi t ch ng trình v m t tam giác cân b ng các d u *. Bài này b n hãy s d ngế ươ ẽ ộ ằ ấ ạ ử ụ
ph i h p 2 vòng l p l ng nhau, hãy xem xét t ng hàng đ rút ra quy lu t cho vòng l p (quyố ợ ặ ồ ừ ể ậ ặ
n p)ạ
Bài 29. Vi t ch ng trình v m t tam giác cân r ng b ng các d u *.ế ươ ẽ ộ ỗ ằ ấ
Bài 30. Vi t ch ng trình v hình ch nh t r ng b ng các d u *. ế ươ ẽ ữ ậ ỗ ằ ấ
Bài 31. Vi t ch ng trình nh p vào N s nguyên, tìm s l n nh t, s nh nh t.ế ươ ậ ố ố ớ ấ ố ỏ ấ
Bài 32. Vi t ch ng trình nh p vào m t s và ki m tra xem s đó có ph i là s nguyên tế ươ ậ ộ ố ể ố ả ố ố
hay không?
Bài 33. Vi t ch ng trình tìm các s nguyên t t 2 đ n N, v i N đ c nh p vào.ế ươ ố ố ừ ế ớ ượ ậ
Bài 34. Năm 1999, dân s n c ta là 76 tri u ng i, t l tăng t nhiên là k% m t năm.ố ướ ệ ườ ỷ ệ ự ộ
L p m t ch ng trình in ra màn hình hai c t song song, c t th nh t là năm, c t th hai làậ ộ ươ ộ ộ ứ ấ ộ ứ
dân s c a năm t ng ng c t m t cho đ n khi dân s tăng s l n so v i năm 1999. Cácố ủ ươ ứ ở ộ ộ ế ố ầ ớ
s k và s đ c nh p vào t bàn phím.ố ượ ậ ừ
Bài 35. Vi t ch ng trình tìm các s nguyên g m 3 ch s sao cho tích c a 3 ch sế ươ ố ồ ữ ố ủ ữ ố
b ng t ng 3 ch s . Ví d : 1*2*3 = 1+2+3ằ ổ ữ ố ụ
Bài 36. Nh p s nguyên N, in ra các phân s t i gi n d ng a/b v i a<=b<=N.ậ ố ố ố ả ạ ớ
III. BÀI 3
M c tiêu: ụS d ng hàm đ gi i các bài toánử ụ ể ả
Bài 37. Xây d ng các hàm S1, S2, S3, S4, S5, S6, S7, S8 đ tính giá tr c a bi u th cự ể ị ủ ể ứ
t ng ng d i đây (s d ng các c u trúc l p for, while, do...while). S d ng các hàm nóiươ ứ ướ ử ụ ấ ặ ử ụ
trên đ tính giá tr các bi u th c, v i n>0 đ c nh p vào t bàn phím. ể ị ể ứ ớ ượ ậ ừ
2222
1
22222
...321
)1(
...
321
1
21
1
11 n
S
n
+++
−
+−
++
+
+
−=
+
!
)2(
...
!3
2
!2
2
!1
2
12
32
n
S
n
−
++−+−=
5

