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 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 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 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 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 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 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 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 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ỳ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 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ì 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à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 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 3 c nh c a tam giác không? N u 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.ế ươ ượ
Bài 22. Vi t ch ng trình tính ti n đi n v i ch s m i ch s đ 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ínhin ra màn hình hai c t song song, c t th nh t s tháng đã ươ
g i, c t th hai t ng s ti n (c v n 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 in ra màn hình hai c t song song, c t ế ươ
th nh t s tháng đã g i, c t th hai t ng ti n (c v n 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, 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 76 tri u ng i, t l tăng t nhiên 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 năm, c t th hai ươ
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