You are on page 1of 20

NHIT LIT CHO MNG QU THY C N D GI THM LP

KIM TRA BI C
Pht biu khi nim mng mt chiu, c php khai bo mng, cch thc tham chiu n cc phn t trong mng?

MN TIN HC

Tit 21: MT S V D

bi ton tm max, min bi ton sp xp

S GIO DC V O TO THA THIN HU

MT S V D
1. TM GI TR MAX.

NI DUNG

1. Tm gi tr max, min. a. Bi ton b. Thut ton


c. Chng trnh

Bai toan: Cho mng A cha cc s nguyn dng nh sau: 2, 7, 6, 9, 1, 4. Hy tim gia tri ln nht va vi tri xut hin cua chung trong mng trn:
1 2 3 4 5 6

2. Sp xp. a. Khi nim


b. Thut ton
c. Chng trnh

A: 2 7 6 9 1 4

S GIO DC V O TO THA THIN HU

MT S V D 1. TM GI TR MAX.

NI DUNG

1. Tm gi tr max, min. a. Bi ton b. Thut ton


c. Chng trnh

Thut ton tm max: u tin gan gia tri cua phn (n phn t) B1: Nhp mng A cho trc;t th nht cho

2. Sp xp. a. Khi nim


b. Thut ton
c. Chng trnh

bin max, tip theo ln lt so sanh gia tri B2: max A1, i 1; cua max vi tt c cac phn t con li, nu B3: tri cua max nho hn gia tri cua kt thc; gia Nu i>n th thng bo max ri phn t ang so Ai > max th max gia ; B41: Nu sanh thi gan ngay Atri o cho i max; nh vy n lt so sanh cui cung B42: i i+1 ri quay li B3; se tm c gia tr ca max.
1 2 3 4 5 6

A: 2 7 6 9 1 4

S GIO DC V O TO THA THIN HU

MT S V D
1. TM GI TR MAX.

NI DUNG

Minh ha thut ton tim max:


1 2 3 4 5 6

1. Tm gi tr max, min. a. Bi ton b. Thut ton


c. Chng trnh

A: 2 7 6 9 1 4
T F T
F F

2. Sp xp. a. Khi nim


b. Thut ton
c. Chng trnh

Max

THUT TON
B1. Nhp N v dy a1aN;

TH HIN BNG PASCAL


Write(nhap so luong phan tu cua mang:); Readln(N); For i:=1 to N do Begin Write(phan tu thu,i); Readln(a[i]); End; Max:=a[1]; csMax:=1; For i:=2 to N do if a[i]>Max then begin Max:=a[i]; csMax:=i; end; Writeln(GTLN la:,Max,Vi tri:,csMax);

B2. Max a[1], i 1; B3. Nu i>N th a ra Max ri KT B4. B41. Nu a[i]>Max th Max a[i] B42. i i+1 ri quay li B3

Program tim_max; Type arrInt=array[1..250] of integer; Var N, i , max, csmax : integer; a: arrInt; Begin Write(nhap so luong phan tu cua mang:); Readln(N); For i:=1 to N do Begin Write(phan tu thu,i); Readln(a[i]); End; max:=a[1]; csmax:=1; For i:=2 to N do if a[i]>max then begin max:=a[i]; csmax:=i; end; Write(Gia tri lon nhat la:, max:4, Vi tri dat max la:, csmax:4); End.

S GIO DC V O TO THA THIN HU

MT S V D
1. TM GI TR MIN.

NI DUNG

Minh ha thut ton tim min: (tng t max)


1 2 3 4 5 6

1. Tm gi tr max, min. a. Bi ton b. Thut ton


c. Chng trnh

A: 2 7 6 9 1 4
F F F
T F

2. Sp xp. a. Khi nim


b. Thut ton
c. Chng trnh

Min

Program tim_min; Type arrInt=array[1..250] of integer; Var N, i , min, csmin : integer; a: arrInt; Begin Write(nhap so luong phan tu cua mang:); Readln(N); For i:=1 to N do Begin Write(phan tu thu,i); Readln(a[i]); End; min:=a[1]; csmin:=1; For i:=2 to N do if a[i]<min then begin min:=a[i]; csmin:=i; end; Write(Gia tri nho nhat la:, min:4, Vi tri dat min la:, csmin:4); End.

S GIO DC V O TO THA THIN HU

MT S V D 1. bi ton sp xp.

NI DUNG

a. Khi nim:

1. Tm gi tr max, min. a. Bi ton b. Thut ton


c. Chng trnh

Sp xp l qu trnh b tr li cc phn t ca mt tp cc i tng no theo mt th t nht nh.


V d: Sp xp im trung bnh cua cc hc sinh trong lp theo th t t cao n thp, sp xp cc hc sinh theo i hnh t thp n cao, sp xp tn theo th t A, B, C,...

2. Sp xp. a. Khi nim


b. Thut ton
c. Chng trnh

S GIO DC V O TO THA THIN HU

MT S V D 1. bi ton sp xp.

NI DUNG

1. Tm gi tr max, min. a. Bi ton b. Thut ton


c. Chng trnh

Minh ha: Cho 10 chic cc c chiu cao khc nhau, cn sp xp cc cc theo th t t thp n cao.

2. Sp xp. a. Khi nim


b. Thut ton
c. Chng trnh

a) D liu gc

b) Sau khi sp xp

S GIO DC V O TO THA THIN HU

MT S V D 1. bi ton sp xp.

NI DUNG

b. Thut ton sp xp trao i:


B1: Nhp n, cac s hng a1, a2,,an; B2: m n; B3: Nu m<2 thi a ra dy a c sp xp ri kt thuc; B4: m m-1, i 0;

1. Tm gi tr max, min. a. Bi ton b. Thut ton


c. Chng trnh

2. Sp xp. a. Khi nim


b. Thut ton
c. Chng trnh

B5: i i+1;
B6: Nu i>m thi quay li B3; B7: Nu ai>ai+1 thi trao i ai v ai+1 cho nhau; B8: Quay li B5.

b. Thut ton sp xp trao i:

Nhp N v a1, a2,..., aN

MN ng a ra A ri kt thc

S khi.
M<2? Sai M M 1; i 0 ii+1 ng

i>M?
Sai

Tro i ai v ai+1

ng

ai > ai+1 ?
Sai

CHO DY S SAU:

Gi s: Mi phn t trong dy c xem nh la mt bt nc, Trng lng cua bt nc th i la gia tri cua A[i]. Lt 2 1
3 2 9 7 t u n vi vi t u dy n tr tr dy dy -1] [cui [cui -1] bo qua phn Khi a[i]>a[i+1] tc bt t cui cng nc bn th 2 bt nc Sau lt trn nng hn bt th s di, k nng nc 2bn chm v bt nc trn cn ay. chm xung v bt nc bn ditro i Qu trnh duyt, ni ln (tro i v tr) c lp i lp li cho n duyt ch cn 2 phn t khiSau lt 1 bt nc nng 6 nht s chm v cui dy. v dy s c sp xp chy i i chy

S GIO DC V O TO THA THIN HU

NI DUNG

1. Tm gi tr max, min. a. Bi ton b. Thut ton


c. Chng trnh

MT S V D Nhn xt: Ta thy rng, sau mi ln i ch, gi tri ln nht cua dy A s c chuyn dn v cui dy v sau lt th nht th gi tri ln nht xp ung vi tr cui dy.
Tng t: Sau lt th hai, gi tri ln th hai c xp ung vi tr st cui dy, C th hnh dung, sau mi lt c t nht 1 s hng c xp ung vi tr v khng cn tham gia vo qu trnh i ch na, ging nh cc bt nc t ay h (u dy) ni dn v khi ln mt nc (cui dy) ri th tan bin. C th v th m sp xp bng tro i cn c tn gi l sp xp ni bt (Bubble Sort).

2. Sp xp. a. Khi nim


b. Thut ton
c. Chng trnh

NHN XT: A RA ON LNH SP XP ON CHNG TRNH TRO I


1 S phn t cac ln duyt (j) se gim t n xung 2 phn t

for j:=N downto 2 do for i:=1 to j-1 do 2 Ti mi ln duyt if A[i]>A[i+1] then (ng vi mi ln duytcac j) Vic gim dn gia tri ca - Cho duyt cho1php s phn t -1 ln i chy t n loi begin ra cac gia tri ln thi Nu A[i]>A[i+1] nht tg:=A[i]; cui dy. Th hin bng A[i+1] Trao i A[i] vi A[i]:=A[i+1]; cu truc qua bin trung gian (tg) thng lnh nao? A[i+1]:=A[i]; end;

Program sap_xep_mang; Type arrInt=array[1..250] of integer; Var

N, i , j , tg : integer; A: arrInt;
Begin write(nhap so luong phan tu cua day, N= ); readln(N); for i:=1 to N do begin write(Nhap phan tu thu,i); readln(A[i]); end; for j:=N downto 2 do for i:=1 to j-1 do if A[i] > A[i+1] then begin tg:=A[i]; A[i]:=A[i+1]; A[i+1]:=tg; end; writeln(Day duoc sap xep la:); for i:=1 to N do write(A[i]:4); readln; End.

S GIO DC V O TO THA THIN HU

NI DUNG

1. Tm gi tr max, min. a. Bi ton b. Thut ton


c. Chng trnh

MT S V D Kiu mng l mt kiu d liu c cu trc c dng nhiu trong lp trnh. Nhng bi ton sp xp, tm kim l cc bi ton thng gp v c ngha quan trng, cn nm k thut ton, cu trc d liu gii quyt cc bi ton trn.
Kiu mng mt chiu thng c dng trong nhng chng trnh cn t chc d liu nh mt dy cc phn t cng kiu gii quyt cc bi ton t ra. Khi cn t chc d liu c cu trc bng, ta ngh n vic dng mng hai chiu. (v nh xem ni dung bi mng hai chiu)

2. Sp xp. a. Khi nim


b. Thut ton
c. Chng trnh

CNG C DN D

You might also like