Procedure GiaoAB(n:Byte; A:Mang;m:Byte; B:Mang);
Var i:Byte;
Begin
For i:=1 To n Do
If KiemTra(A[i],m,B) Then Write(A[i]:4);
End;
Begin
Clrscr;
Writeln('Nhap mang A: ');
NhapMang(n,A);
Writeln('Nhap mang B: ');
NhapMang(m,B);
Writeln('Giao cua 2 mang A&B la: ');
GiaoAB(n,A,m,B);
Readln;
End.
: Cho m t m ng s nguyên g m n ph n t ầ ử ả ộ ố ồ
ầ
. Tìm dãy con g m m ph n
liên ồ
£ n) sao cho dãy con này có t ng l n nh t. (Dãy con là dãy các ph n t
ớ ầ ử ấ ổ
Bài t p 5.11
ậ
(mử
t
ti p nhau trong m ng).
ế ả
Uses Crt;
Type Mang=ARRAY[1..50] Of Integer;
Var A:Mang;
n,m,i,j,k:Byte;
S,Max:Integer;
Begin
Write('So phan tu cua mang: n= '); Readln(n);
For i:=1 To n Do
Begin
Write('a[',i,']='); Readln(a[i]);
End;
Write('Nhap so phan tu cua day con: m= '); Readln(m);
đ u tiên c a dãy con}
ủ ầ ử ầ
s m ph n t đ u tiên c a m ng A là dãy con có t ng l n nh t} ầ ử ầ ủ ấ ả ổ ớ
k:=1; {V trí ph n t
ị
{Gi
ả ử
Max:=0;
For i:=1 To m Do Max:=Max+A[i];
{Tìm các dãy con khác}
ổ ứ
c có t ng l n h n dãy con tr c} ượ ế ổ ơ ớ ướ
ớ
ầ ổ
ị ủ ớ
For i:=2 To n-m+1 Do
Begin
{Tính t ng c a dãy con th i}
ủ
S:=0;
For j:=i To i+m-1 Do S:=S+A[j];
If S>Max Then {N u dãy con tìm đ
Begin
Max:=S; {Thay t ng m i}
k:=i; {Thay v trí đ u tiên c a dãy con m i}
End;
End;
Writeln('Day con co tong lon nhat la:');
For i:=k To k+m-1 Do Write(A[i]:5);
Readln;
End.
t ch ng trình in ra màn hình tam giác Pascal. Ví d , v i n=4 s : Vi ươ ụ ớ ẽ ế
1
2
3
4 1
3
6 1
4 1
ngưở :
Bài t p 5.12
ậ
in ra hình sau:
1
1
1
1
1
Ý t
Tam giác Pascal đ ậ
ở ố ế
c t o ra theo qui lu t sau:
ượ ạ
ề
th j ắ ầ
dòng k nh n đ th j-1 và j ậ ượ ằ c b ng cách c ng 2 ph n t
ộ ầ ử ứ
+ M i dòng đ u b t đ u và k t thúc b i s 1.
ỗ
+ Ph n t
ầ ử ứ ở
dòng th k-1.
ứ ở
Uses Crt;
Var Dong:Array[0..20] Of Byte;
n,i,j:Byte;
Begin
Write('n= '); Readln(n);
Clrscr;
Dong[0]:=1;
Writeln(Dong[0]:4);
{Khoi tao gia tri cua dong}
For i:=1 To n Do Dong[i]:=0;
{Voi moi dong i}
For i:=1 To n Do
Begin
For j:=i DownTo 1 Do
Begin
Dong[j]:=Dong[j-1]+Dong[j];
Write(Dong[j]:4);
End;
Writeln(Dong[i]:4);
End;
Readln;
End.
BÀI T P T GI I
Ậ Ự Ả
: Vi ế ộ
ố ự
trong dãy b ng x và v trí c a chúng. t ch
Bài t p 5.13
ươ
ậ
báo lên màn hình s l
ố ượ ng trình nh p vào m t dãy s th c và s th c x. Thông
ậ
ng các ph n t
ầ ử ố ự
ủ ằ ị
Bài t p 5.14
ậ
ầ ả
: Nh p vào m t m ng các s nguyên.
ố
ả
gi m d n.
ứ ự ả
bàn phím. Chèn s đó vào m ng sao cho
ừ ả ộ ố
gi m d n. (không đ ứ ự ả ầ ố
i m ng)
ả c x p l
ượ ế ạ
ậ
ộ
a/ X p l
i m ng đó theo th t
ế ạ
b/ Nh p vào m t s nguyên t
ậ
m ng v n có th t
ẫ
ả
G i ýợ :
v trí i t ẩ ớ i n sang ph i 1 v trí.
ả ị
- Tìm v trí c n chèn: i.
ầ
ị
- Đ y các ph n t
t
ầ ử ừ ị
- Gán: A[i]=x;
: Cho 2 m ng s nguyên: M ng A có m ph n t ầ ử ả ả ố ầ
, m ng B có n ph n ả
Bài t p 5.15
ậ
.ử
t
i các m ng đó theo th t ứ ự ả
ẫ ả ứ ự ả
gi m
i m ng C). gi m d n.
ả
ầ
i thành m ng C sao cho m ng C v n có th t
ả
ạ
ả
a/ S p x p l
ắ ế ạ
b/ Tr n 2 m ng đó l
ả
ộ
c x p l
d n (Không đ
ượ ế ạ
ầ
G i ýợ :
c a 2 m ng A, B và k là ch - Dùng 2 ch s i,j đ duy t qua các ph n t
ể ầ ử ủ ỉ ố ệ ả ỉ
s cho m ng C.
ố ả
- Trong khi (i<=m) và (j<=n) thì:
{T c là khi đ ng th i c 2 dãy A, B đ u ch a duy t h t} ệ ế ứ ồ ờ ả ề
ư
+ N u A[i]>B[j] thì: C[k]:=A[i]; i:=i+1;
ế
c l
+ Ng
ượ ạ
c thì đem ph n còn l - N u dãy nào h t tr i c a dãy kia b sung vào i: C[k]:=B[j]; j:=j+1;
ầ ế ướ ạ ủ ổ
ế
cu i dãy C. ố
: Vi t ch ng trình tính t ng và tích 2 ma tr n vuông A, B c p n. ế ươ ậ ấ ổ
Bài t p 5.16
ậ
G i ýợ :
n
Công th c tính t ng 2 ma tr n:
ổ ứ
*
ik B
A
kj
=
1
k
Công th c tính tích 2 ma tr n: ứ ậ Cij = Aij + Bij
ậ Cij = (cid:229)
n và (b)m, m£ n.
ng trình nh p vào 2 dãy s nguyên (a) : Vi t ch ươ ế ậ ố
Bài t p 5.17
ậ
Ki m tra xem dãy {b} có ph i là dãy con c a dãy {a} không? ủ ể ả
1, a2, ..., an. Tìm
l n nh t) và in ra
t ch : Vi ươ ậ ộ ố
ng trình nh p vào m t dãy s nguyên a
ầ ử ớ
ấ ế
ộ ầ ố ấ
Bài t p 5.18
ậ
trong dãy {a} m t dãy con tăng d n dài nh t (có s ph n t
màn hình dãy con đó.
t ch ả ấ ế ươ ng trình s p x p l
ắ ế ạ ả
i m ng
c s p x p theo th t gi m d n. ầ
tăng d n c a t ng các ph n t trên m i dòng đ
ỗ
c s p x p l
ế ạ
ượ ắ ượ ắ ế
i theo th t
ứ ự ứ ự ả
ầ ủ ổ ầ ử
: Cho m ng 2 chi u A c p mxn. Vi
Bài t p 5.19
ề
ậ
A theo yêu c u sau:
ầ
a/ Các ph n t
ầ ử
b/ Các dòng đ
trên m i dòng.
ỗ
ế ượ
t ch
: Vi
bàn phím đã đ ươ
ượ ắ ng trình đ ki m tra m t dãy các s nguyên đ
ộ
ể ể
c s p theo th t
ầ ậ
c nh p
ố
tăng d n hay ch a theo 2 cách: Đ qui
ệ ứ ự ư
ệ
Bài t p 5.20
ậ
vào t
ừ
và không đ qui.
G i ýợ :
thì dãy tăng d n. ầ ử ầ
ầ
- N u dãy có 1 ph n t
ế
i:
c l
- Ng
ượ ạ
+ N u A[n-1]>A[n] thì dãy không tăng d n.
ế
+ Ng i: G i đ qui v i dãy có n-1 ph n t (b b t đi ph n t c l
ượ ạ ọ ệ ớ ầ ử ỏ ớ ầ ử
cu i cùng). ố
: Vi ươ ệ ậ ả ạ
ng trình nh p vào 2 m ng s nguyên A, B đ i di n cho 2
ố
trùng nhau trong m t t p h p). Trong quá trình Bài t p 5.21
ế
ậ
t p h p (không th có 2 ph n t
ợ
ậ t ch
ể ầ ử ộ ậ ợ
v a nh p vào đã có trong m ng thì không b ả ậ ế ầ ử ừ ả ậ ổ
nh p, ph i ki m tra: n u ph n t
ể
sung vào m ng.ả
a/ In ra màn hình h p c a 2 t p h p A, B.
ợ ủ
b/ In ra màn hình hi u c a 2 t p h p A, B.
ệ ủ ậ
ậ ợ
ợ
G i ýợ :
a/ t c các ph n t
iˇ A thì in bi ra màn
ấ ả
t c các ph n t c a t p h p A.
ầ ử ủ ậ
b - In ra màn hình t
- Duy t qua t
ệ ợ
ầ ử i˛ B. N u bế ấ ả
hình.
t c các ph n t a b/ Duy t qua t
ệ ấ ả ầ ử i˛ A. N u aế iˇ B thì in ai ra màn hình.
ng trình tính t ng c a 2 đa th c h(x) = f(x) + g(x). Trong ứ ủ ế
ổ
0 + a1x + a2x2 + ... + anxn. t ch
ươ
ạ
: Vi
Bài t p 5.22
ậ
đó, m i đa th c có d ng: a
ứ
ỗ
G i ýợ :
Dùng các m ng A, B, C đ l u tr các h s a ệ ố i c a các đa th c f(x), g(x) ể ư ữ ủ ứ ả
và h(x).
t ch : Vi ng án đ t 8 quân h u trên bàn c ế ng trình đ tìm các ph
ể ươ ươ ậ ờ
ặ
c nhau. ậ ượ
Bài t p 5.23
ậ
vua (ma tr n 8x8) sao cho các quân h u không ăn đ
ậ
G i ýợ :
Dùng gi i thu t quay lui. ả ậ
: Vi t ch ng trình tính đ nh th c c a ma tr n vuông c p n. ế ươ ứ ủ ấ ậ ị
Bài t p 5.24
ậ
G i ýợ :
ng pháp GAUSE. Dùng cách tính đ nh th c theo ph
ị ứ ươ