Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 9

Bµi tËp thùc hµnh M«n

Kü thuËt lËp tr×nh


Mét sè Bµi tËp thùc hµnh
m«n kü thuËt lËp tr×nh
---------------
Ch¬ng I: BiÕn – biÓu thøc – c¸c lÖnh nhËp xuÊt
1. NhËp hai sè nguyªn, tÝnh tæng, hiÖu, tÝch, th¬ng, ®ång d.
2. NhËp mét sè nguyªn, in ra mµn h×nh c¸ch ®äc sè nguyªn ®ã
(VD: sè 1252 ®äc lµ: mét ngµn hai tr¨m n¨m chôc hai ®¬n vÞ).
3. ViÕt ch¬ng tr×nh tÝnh gi¸ trÞ biÓu thøc:
F(x) = (x2+ex+sin2(x))/sqrt(x2+1)
Ch¬ng II: c¸c cÊu tróc ®iÒu khiÓn
1. ViÕt ch¬ng tr×nh nhËp vµo mét sè nguyªn n. KiÓm tra xem n
ch½n hay lÎ.
2. ViÕt ch¬ng tr×nh gi¶i vµ biÖn luËn ph¬ng tr×nh bËc nhÊt theo
hai hÖ sè a, b nhËp tõ bµn phÝm.
3. ViÕt ch¬ng tr×nh gi¶i vµ biÖn luËn ph¬ng tr×nh bËc hai víi c¸c
hÖ sè a, b, c nhËp tõ bµn phÝm.
4. ViÕt ch¬ng tr×nh nhËp vµo sè tiÒn ph¶i tr¶ cña kh¸ch hµng. In
ra sè tiÒn khuyÕn m·i víi quy ®Þnh: nÕu sè tiÒn ph¶i tr¶ thuéc
[200.000, 300.000) th× khuyÕn m·i 20%. NÕu sè tiÒn ph¶i tr¶
tõ 300.000 trë lªn th× khuyÕn m·i 30%. Cßn l¹i th× kh«ng
khuyÕn m·i.
5. ViÕt ch¬ng tr×nh nhËp vµo ®iÓm tæng kÕt cña mét häc sinh
vµ in ra xÕp lo¹i cho häc sinh ®ã víi quy ®Þnh:
- XÕp lo¹i giái nÕu tæng ®iÒm tõ 8.00 trë lªn.
- XÕp lo¹i kh¸ nÕu tæng ®iÓm tõ 7.00 tíi cËn 8.00.
- XÕp lo¹i trung b×nh nÕu tæng ®iÓm tõ 5.00 tíi cËn 7.00.
- Cßn l¹i, xÕp lo¹i yÕu.
-------------------
6. ViÕt ch¬ng tr×nh nhËp vµo mét th¸ng bÊt kú, sau ®ã in ra sè
ngµy cã trong th¸ng (quy ®Þnh th¸ng 2 cã 28 ngµy).
Biªn so¹n: NguyÔn M¹nh Cêng
Trang: 1
Bµi tËp thùc hµnh M«n
Kü thuËt lËp tr×nh
-------------------
7. ViÕt ch¬ng tr×nh tÝnh n!
8. NhËp vµo mét sè nguyªn, kiÓm tra xem mét sè võa nhËp cã
ph¶i lµ sè nguyªn tè kh«ng, in kÕt luËn ra mµn h×nh.
9. ViÕt ch¬ng tr×nh nhËp vµo mét sè nguyªn n, sau ®ã tÝnh gi¸
trÞ biÓu thøc:
1 1 1
S = 1 + + + ... +
2 3 n

10.ViÕt ch¬ng tr×nh nhËp vµo mét sè nguyªn n, sau ®ã tÝnh gi¸
trÞ biÓu thøc
 1 1 1 1
1 + + 2 + 3 + ... + n nÕunch½n
F=  2 2 2 2
 n2 +1 nÕu
nlÎ

11.ViÕt ch¬ng tr×nh nhËp vµo mét sè thùc x vµ sè nguyªn n, sau


®ã tÝnh gi¸ trÞ biÓu thøc:
 x2 x3 xn
 x+ + 2 + ... + n −1
S=  3 3 3 nÕu
nch½n
 0 nÕu nlÎ

12.ViÕt ch¬ng tr×nh nhËp vµo mét sè nguyªn n trong kho¶ng [10,
20] (nÕu sè nhËp vµo kh«ng thuéc kho¶ng ®ã th× yªu cÇu
nhËp l¹i tíi khi tho¶ m·n). Sau ®ã tÝnh tæng c¸c sè liªn tiÕp tõ 1
tíi n.
13. ViÕt ch¬ng tr×nh nhËp vµo mét sè nguyªn d¬ng n, sau ®ã
tÝnh tæng c¸c gi¸ trÞ ch½n, lÎ thuéc ®o¹n [1, n].
14.ViÕt ch¬ng tr×nh nhËp vµo c¸c sè nguyªn d¬ng n, m, sau ®ã
in ra:
- Tæng c¸c sè ch½n d¬ng trong kho¶ng [- n, m].
- Tæng c¸c sè ch½n ©m trong kho¶ng [- n, m].
- Tæng c¸c sè lÎ d¬ng trong kho¶ng [- n, m].
- Tæng c¸c sè lÎ ©m trong kho¶ng [- n, m].

Biªn so¹n: NguyÔn M¹nh Cêng


Trang: 2
Bµi tËp thùc hµnh M«n
Kü thuËt lËp tr×nh
15.ViÕt ch¬ng tr×nh nhËp vµo mét sè nguyªn n, sau ®ã tÝnh
tæng c¸c sè nguyªn tè thuéc ®o¹n [1..n]. Cho biÕt cã bao nhiªu
sè nguyªn tè thuéc ®o¹n ®ã.
16. Dïng while (sau ®ã viÕt l¹i, dïng do/ while) ®Ó viÕt ch¬ng
tr×nh in ra sè lµ luü thõa 2 bÐ nhÊt lín h¬n 1000.
17.Cho d·y sè x[] = { 12.3, -45.4, 12, 15, 10.1, 12.5}. ViÕt ch¬ng
tr×nh ®¶o ngîc d·y sè trªn.
18. ViÕt ch¬ng tr×nh t×m sè nguyªn d¬ng n nhá nhÊt tho¶ m·n: 1
+ 2 + 3 + … + n > 1000.
19. §Ó tÝnh c¨n bËc hai cña mét sè d¬ng a, ta sö dông c«ng thøc
lÆp sau:
x(0) = a;
x(n+1) = (x(n) * x(n) + a)/ (2* x(n)) víi n >=0.
Qu¸ tr×nh lÆp kÕt thóc khi abs((a(n+1) – x(n))/x(n)) < ε.
vµ khi ®ã x(n+1) ®îc xem lµ gi¸ trÞ gÇn ®óng cña sqrt(a).
ViÕt ch¬ng tr×nh tÝnh c¨n bËc hai cña a víi ®é chÝnh x¸c ε
= 0.00001.
20. LËp tr×nh ®Ó tÝnh sin(x) víi ®é chÝnh x¸c ε = 0.00001 theo
c«ng thøc :
sin(x) = x – x3/3! + x5/ 5! + …+ (-1)nx(2n+1)/ (2n+1)!.
21. LËp tr×nh ®Ó tÝnh tæ hîp chËp m cña n theo c«ng thøc:
C(m, n) = (n(n-1)…(n-m+1))/ m!.
Ch¬ng III: kü thuËt lËp tr×nh ®¬n thÓ
1. ViÕt hµm kiÓm tra xem mét sè nguyªn n cã ph¶i lµ sè nguyªn tè
kh«ng. Sau ®ã, trong ch¬ng tr×nh chÝnh, nhËp vµo mét sè
nguyªn n, kiÓm tra tÝnh nguyªn tè cña sè n vµ th«ng b¸o ra
mµn h×nh.
2. ViÕt hµm tÝnh n! sau ®ã, trong ch¬ng tr×nh chÝnh, nhËp vµo
mét sè nguyªn n vµ tÝnh, in ra kÕt qu¶ cña biÓu thøc:

Biªn so¹n: NguyÔn M¹nh Cêng


Trang: 3
Bµi tËp thùc hµnh M«n
Kü thuËt lËp tr×nh
n!+1
S = (n + 1)!

3. ViÕt hµm tÝnh gi¸ trÞ biÓu thøc F (trong bµi sè 10 ch¬ng II) víi
®èi vµo lµ n. Sau ®ã, trong ch¬ng tr×nh chÝnh, nhËp vµo hai
sè a, b, tÝnh vµ in ra mµn h×nh kÕt qu¶ cña biÓu thøc:
F (a ) − F (b)
S= F ( a − b)

4. ViÕt hµm s¾p xÕp mét chuçi ký tù (tõ A->Z). Sau ®ã, trong ch-
¬ng tr×nh chÝnh, nhËp vµo mét x©u ký tù bÊt kú, in x©u ®·
®îc s¾p lªn mµn h×nh.
5. ViÕt ch¬ng tr×nh gi¶i ph¬ng tr×nh trïng ph¬ng : ax4 + bx2 +
c = 0.
Kü thuËt §Ö quy
6. USCLN cña hai sè a, b ®îc ®Þnh nghÜa nh sau:
USCLN(a, b) = a nÕu b = 0
= USCLN(b, a%b) nÕu b <> 0
ViÕt hµm ®Ö quy t×m USCLN cña hai sè nguyªn a, b. Trong
ch¬ng tr×nh chÝnh, nhËp vµo hai sè nguyªn a, b. T×m vµ in
USCLN cña hai sè ®ã lªn mµn h×nh.

7. USCLN cña hai sè a, b ®îc ®Þnh nghÜa nh sau:


USCLN(a, b) = a nÕu a = b
= USCLN(a-b, b) nÕu a > b
= USCLN(a, b-a) nÕu a < b
ViÕt hµm ®Ö quy t×m USCLN cña hai sè nguyªn a, b. Trong
ch¬ng tr×nh chÝnh, nhËp vµo hai sè nguyªn a, b. T×m vµ in
USCLN cña hai sè ®ã lªn mµn h×nh.
8. ViÕt hµm t×m kiÕm ®Ö quy trªn mét d·y sè nguyªn ®· ®îc
s¾p.
9. C¸c sè Fibonacci F[i] ®îc ®Þnh nghÜa ®Ö quy nh sau:

Biªn so¹n: NguyÔn M¹nh Cêng


Trang: 4
Bµi tËp thùc hµnh M«n
Kü thuËt lËp tr×nh
F[0] =1; F[1] =1;
F[i] = F[i-1] + F[i-2] (víi i > 1);
(VD: 1, 1, 2, 3, 5, 8, 13…)
ViÕt hµm ®Ö quy t×m sè Fibonacci thø n trong d·y.
10.ViÕt hµm ®Ö quy tÝnh n!. (n ∈ Z+)
11.ViÕt hµm ®Ö quy tÝnh f(x, n) = xn. (x∈R, n ∈ Z). ViÕt ch¬ng
tr×nh chÝnh sö dông hµm trªn ®Ó nhËp vµo sè nguyªn n, sè
thùc x tõ bµn phÝm. TÝnh vµ in ra mµn h×nh gi¸ trÞ cña f(x, n).
12. ViÕt hµm ®Ö quy tÝnh f(x, n) = n!xn. (x∈R, n ∈ Z). ViÕt ch¬ng
tr×nh chÝnh sö dông hµm trªn ®Ó nhËp vµo sè nguyªn n, sè
thùc x tõ bµn phÝm. TÝnh vµ in ra mµn h×nh gi¸ trÞ cña f(x, n).
13.ViÕt hµm ®Ö quy ®Ó ®Õm sè ch÷ sè cã trong mét sè nguyªn
bÊt bú (VÝ dô sè 1263 cã 4 ch÷ sè…). ViÕt ch¬ng tr×nh chÝnh
sö dông hµm trªn ®Ó cho phÐp nhËp vµo mét sè nguyªn bÊt kú.
In ra mµn h×nh sè ch÷ sè cña sè nguyªn võa nhËp.
14. D·y Catalan ®îc ®Þnh nghÜa ®Ö quy nh sau:
C1 = 1;

Cn = Σ Ci* Cn-i ∀ n > 1.


VÝ dô: { 1, 1, 2, 5,…}
H·y x©y dùng hµm ®Ö quy tÝnh sè Catalan thø n bÊt kú (n ∈
+
Z ). ViÕt ch¬ng tr×nh chÝnh sö dông hµm trªn ®Ó tÝnh sè
Catalan thø n bÊt kú víi n nhËp tõ bµn phÝm (n ∈ Z +).
Ch¬ng IV: kü thuËt lËp tr×nh dïng m¶ng.
1. Cho hai vector x(x1, x2…xn) vµ y(y1, y2…yn). ViÕt ch¬ng tr×nh in
ra TÝch v« híng cña hai vector trªn.
2. Cho hai m¶ng a vµ b cã c¸c phÇn tö ®Òu ®· ®îc s¾p t¨ng. LËp
ch¬ng tr×nh trén hai m¶ng trªn ®Ó thu ®îc mét m¶ng thø 3
còng s¾p theo thø tù t¨ng b»ng hai ph¬ng ph¸p.

Biªn so¹n: NguyÔn M¹nh Cêng


Trang: 5
Bµi tËp thùc hµnh M«n
Kü thuËt lËp tr×nh
3. ViÕt ch¬ng tr×nh nhËp vµo mét m¶ng n sè nguyªn, s¾p xÕp
m¶ng theo chiÒu t¨ng dÇn vµ in kÕt qu¶ lªn mµn h×nh b»ng
c¸c ph¬ng ph¸p:
- S¾p xÕp næi bät.
- S¾p xÕp chän.
- S¾p xÕp chÌn.
4. ViÕt ch¬ng tr×nh nhËp vµo mét m¶ng n sè nguyªn, tÝnh tæng
c¸c phÇn tö ch½n, c¸c phÇn tö lÎ, c¸c phÇn tö chia hÕt cho 3 vµ
in kÕt qu¶ ra mµn h×nh.
5. ViÕt ch¬ng tr×nh nhËp vµo mét d·y sè thùc, t×m phÇn tö lín
nhÊt (t¬ng tù, t×m phÇn tö nhá nhÊt) cña d·y vµ in kÕt qu¶ ra
mµn h×nh.
6. ViÕt ch¬ng tr×nh nhËp vµo mét d·y sè nguyªn. TÝnh tæng cña
c¸c sè nguyªn tè trong d·y vµ in kÕt qu¶ ra mµn h×nh.
7. ViÕt ch¬ng tr×nh nhËp vµo mét d·y sè nguyªn vµ mét sè
nguyªn c. §Õm sè lÇn xuÊt hiÖn vµ vÞ trÝ xuÊt hiÖn cña c trong
d·y. In c¸c kÕt qu¶ ra mµn h×nh.
8. ViÕt ch¬ng tr×nh nhËp vµo mét d·y n sè nguyªn. TÝnh trung
b×nh céng cña d·y vµ in kÕt qu¶ tÝnh ®îc ra mµn h×nh.
9. Mét d·y sè a gäi lµ ®îc s¾p t¨ng nÕu a[i] <= a[i+1] víi mäi i;
D·y gäi lµ ®îc s¾p gi¶m nÕu a[i] >= a[i+1] víi mäi i;
D·y gäi lµ ®îc s¾p t¨ng ngÆt nÕu a[i] < a[i+1] víi mäi i;
D·y gäi lµ ®îc s¾p gi¶m ngÆt nÕu a[i] > a[i+1] víi mäi i;
ViÕt ch¬ng tr×nh nhËp mét d·y n sè thùc, kiÓm tra xem d·y ®·
®îc s¾p hay cha. NÕu ®· ®îc s¾p th× s¾p theo trËt tù nµo (t¨ng,
t¨ng ngÆt, gi¶m, gi¶m ngÆt?). NÕu cha th× s¾p xÕp d·y theo
chiÒu t¨ng dÇn. In c¸c kÕt qu¶ lªn mµn h×nh.
10.ViÕt hµm t×m kiÕm lÆp trªn mét d·y sè nguyªn ®· ®îc s¾p víi
®é phøc t¹p tèt h¬n O(n).

Biªn so¹n: NguyÔn M¹nh Cêng


Trang: 6
Bµi tËp thùc hµnh M«n
Kü thuËt lËp tr×nh
11.ViÕt ch¬ng tr×nh nhËp vµo mét ma trËn m x n sè nguyªn. T×m
c¸c phÇn tö lín nhÊt vµ bÐ nhÊt trªn c¸c dßng (t¬ng tù c¸c cét)
cña ma trËn. (sö dông for sau ®ã dïng while, do/ while).
12.ViÕt ch¬ng tr×nh t×m phÇn tö ©m ®Çu tiªn trong ma trËn
(theo chiÒu tõ tr¸i qua ph¶i, tõ trªn xuèng díi).
13.ViÕt ch¬ng tr×nh nhËp vµo mét ma trËn m x n sè nguyªn. T×m
phÇn tö lín nhÊt (t¬ng tù t×m phÇn tö nhá nhÊt) cña ma trËn
võa nhËp. In kÕt qu¶ ra mµn h×nh. Cã thÓ söa l¹i bµi ®Ó t×m
phÇn tö lín nhÊt (nhë nhÊt) trªn c¸c cét (c¸c dßng) ®îc kh«ng?
14.ViÕt ch¬ng tr×nh nhËp vµo hai ma tr©n A, B cã n hµng, m cét.
TÝnh ma trËn C = A + B vµ in kÕt qu¶ ra mµn h×nh.
15.ViÕt ch¬ng tr×nh nhËp vµo hai ma trËn A, B, tÝnh vµ in ra mµn
h×nh tÝch cña hai ma trËn ®ã.
16.ViÕt ch¬ng tr×nh nhËp vµo mét ma trËn A cã n dßng, m cét. In
ra mµn h×nh ma trËn chuyÓn vÞ cña A. (A’ ®îc gäi lµ ma trËn
chuyÓn vÞ cña A nÕu A’[i, j] = A[j, i] víi mäi i, j).
17. Ma trËn A ®îc gäi lµ ®èi xøng qua ®êng chÐo chÝnh nÕu A[i,
j] = A[j, i] víi mäi i kh¸c j. ViÕt ch¬ng tr×nh nhËp vµo mét ma
trËn A, kiÓm tra xem A cã ®èi xøng qua ®êng chÐo chÝnh
kh«ng. In kÕt luËn lªn mµn h×nh.
Ch¬ng V: Kü thuËt lËp tr×nh dïng con trá
TÊt c¶ c¸c bµi tËp vÒ m¶ng ë trªn ®Òu cã thÓ söa l¹i ®Ó
dïng con trá thay v× dïng m¶ng. Ngoµi ra h·y cµi ®Æt thªm c¸c
bµi tËp sau:
1. ViÕt ch¬ng tr×nh nhËp vµo mét m¶ng a gåm n phÇn tö
nguyªn. S¾p xÕp m¶ng theo chiÒu gi¶m dÇn (lu ý sö dông
tªn m¶ng nh con trá vµ sö dông con trá).
2. H·y dïng mét vßng for ®Ó nhËp vµo mét ma trËn vu«ng cÊp
n víi c¸c phÇn tö thùc vµ t×m phÇn tö Max cña ma trËn nµy.
3. ViÕt hµm ho¸n vÞ hai biÕn thùc a, b b»ng c¸ch sö dông con
trá (®èi vµo lµ hai con trá). ViÕt ch¬ng tr×nh chÝnh nhËp hai
sè thùc a, b. Sö dông hµm trªn ®Ó ®æi chç a vµ b.

Biªn so¹n: NguyÔn M¹nh Cêng


Trang: 7
Bµi tËp thùc hµnh M«n
Kü thuËt lËp tr×nh
4. ViÕt hµm gi¶i hÖ ph¬ng tr×nh bËc nhÊt víi s¸u ®èi vµo lµ a,
b, c, d, e, f vµ 2 ®èi ra lµ x vµ y.
5. ViÕt hµm tÝnh gi¸ trÞ ®a thøc:
f(x) = a0xn + … + an-1x + an. víi ®èi vµo lµ biÕn nguyªn n vµ
m¶ng thùc a.
6. ViÕt hµm céng hai ma trËn vu«ng a vµ b cÊp n (sö dông con
trá).
7. ViÕt ch¬ng tr×nh tÝnh tÝch ph©n cña f(x) trªn ®o¹n [a, b]
b»ng c«ng thøc h×nh thang. Theo ®ã, tÝch ph©n cña f(x)
trªn [a, b] b»ng: h * s. Trong ®ã:
h lµ ®é dµi kho¶ng ph©n ho¹ch ®o¹n [a, b] thµnh n
kho¶ng.
s lµ tæng tÊt c¶ c¸c f(a+i*h) víi i tõ 1 tíi n.
Sö dông hµm trªn ®Ó tÝnh tÝch ph©n trong ®o¹n [-1, 4] cña:
f(x) = (ex-2sin(x2))/ (1+x4). (nghiªn cøu c¸ch ®a con trá vµo
gi¶i quyÕt bµi to¸n).
//================Tham kh¶o code mét sè hµm ®Ö
quy========
#include "iostream.h"
#include "conio.h"
//hµm tÝnh n giai thõa =======================================
long gt(int n)
{
if (n==0)
return 1;
else
return n*gt(n-1);
}
//hµm t×m sè Fibonacci thø n===========================
long Fibo(int n)
{
if (n<=1)
return 1;
else
return Fibo(n-1)+ Fibo(n-2);
}

//hµm USCLN cña a va b===============================


int USCLN(int a, int b)
{
if (b==0)
return a;
else

Biªn so¹n: NguyÔn M¹nh Cêng


Trang: 8
Bµi tËp thùc hµnh M«n
Kü thuËt lËp tr×nh
return USCLN(b, a%b);
}
//Hµm main=========================================
void main()
{ int n;
cout<<"nhap n ";
cin>> n;
long S = gt(n);
cout<<"n gt "<<S;
getch();
//=====================================
long T = Fibo(n);
cout<<"\n so fibonaci thu "<<n<<" la "<<T;
getch();
//=====================================
int a, b;
cout<<"nhap a ";
cin>> a;
cout<<" nhap b ";
cin>>b;
cout<<"\n USCLN cua "<<a<<" va "<<b<<" la "<<USCLN(a,b);
getch();
}

Biªn so¹n: NguyÔn M¹nh Cêng


Trang: 9

You might also like