You are on page 1of 8

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).
-------------------
7. ViÕt ch¬ng tr×nh tÝnh n!

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
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Õun ch½n
F=  2 2 2 2
 n 1
2
nÕun lÎ

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   ...  n 1
S=  3 32 3 nÕun ch½n

 0 nÕun lÎ

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].
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.

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
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:
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

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
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:
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.


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
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.
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

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
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).
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.

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
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.
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
return USCLN(b, a%b);
}
//Hµm main=========================================
void main()
{ int n;

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
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: 8

You might also like