- Cung cấp cho học sinh một số thuật toán đơn giản thường gặp trong lập trình, như: tính tổng phần tử thoả mãn điều kiện, đếm số phàn tử thoả mãn điều kiện.. Giáo viên chuẩn bị: máy chiế[r]
Trang 1BÀI
Huê
SV !" SP Tin K40
Ngày 27/10/08
! ,- . /
- : ;< cho =; sinh > ? @AB CD E? ,> F GH
- I ;J; B KL trong phòng máy K? =; sinh có KP; các EQ . ;R
@H làm CF; C! E? GH GLB ;D trong S" trình
- Cung ;U" cho =; sinh GLB < BSB toán KR H B V" trong S" trình, tính BI "X BY BH mãn KD EF4 KAG < phàn BY BH mãn KD EF
Giáo viên ;^ @ máy ;A4 ;R trình "X a và "X b bài 1, cài KVB
;R trình "X a bài 1 lên các máy =; sinh B`; hành
III a DUNG
1.
2 tra bài
Câu g Em hãy nêu cách khai báo @A GH 1 ;D (7 K?Gj và U 1 ví ,k (3 K?Gjl
2N" án:
Cách 1: Khai báo B/`; BA"
Var <tên
Cách 2: Khai báo gián BA"
Type <tên
Var <tên + <tên "# *
Ví ,k
Var A: array [1 20] of integer;
Trang 23 Bài
Các em KZ KP; tìm ? CD E? ,>
F có ;U trúc KX tiên là E? GH
2? ? R CD nó, chúng ta cùng xét
GLB < bài BS" ;k B? trong @I B`;
hành hôm nay
Bài 1 (trang 63 SGK):
a, Hãy
? Em hãy K=; KD bài và xác K
Input, Output ;:_ bài toán?
! bài toán này, ta có B? chia thành
các công CF; g
- 8 9 N và k.
- 8 9 dãy A.
- Tính
k.
Trong ;R trình có: B: Bk;
Randomize dùng K? Et B @L U <
- nhiên; hàm Random(n) K? U
GLB < - nhiên trong "G vi Bu 0
KA n – 1
VD: F n:=Random(20) thì n w
KP; gán GLB giá B/ @UB kì trong
EH Bu 0 KA 19
Ta K xét Bu công CF; ;k B?
BÀI Bài 1:
2=; bài và xác K
- Input: E A F N %& nguyên
A 1 , A 2 , …, A N , N <= 100,
|A i |<=300, 1<=i<=N, %& k nguyên
;56
- Output:
Nghe và ghi bài
Trang 3 S" N và S" k.
? Trong 56 trình, ?4 I nào
dùng 9 N, ?4 I nào dùng
9 k?
S" dãy A
? Câu F A[i] := random(300) –
random(300) có ý Q_ gì?
S nên câu F For i:=1 to n do
A[i]:= random(300) – random(300);
chính là câu F B GH A BH
mãn: giá B/ BFB K< Gz "X BY
không quá 300
Tính BI các "X BY chia
AB cho k
F; này ta làm sau: Dùng S K?
BI ;X tìm, Et B @| 0
bFB Bu KX KA ;< GH4 A
"X BY nào chia AB cho k thì ;L
thêm "X BY KO vào S
?
công :I này?
?
bao nhiêu (K
2? E?G tra EAB {H ;:_ ;R trình,
chúng ta cùng test BY C! GLB vài @L
Input g
/H K F S" N:
Write(‘nhap n=’); readln(n);
K F S" k:
Write(‘nhap k=’); readln(k);
/H U F ;:_ 2 < - nhiên trong EH Bu 0 KA 299, /} gán cho A[i]
9/H K ;R trình:
S:=0;
For i:=1 to n do
If A[i] mod k = 0 then S:=S+A[i];
/H < X B`; F B BL; vào < "X BY trong GH A chia
AB cho k
Test BY ;R trình
Trang 4? Em hãy [ câu I xoá màn hình
Clrscr,
Input và 5 ra 9 xét?
→ Ý Q_ ;:_ B: Bk; Randomize:
xáo B/L @L sinh < - nhiên K? Gz
X B`; F ;R trình w có EAB
{H - nhiên khác nhau
U /|4 A dùng K F S"
N trên thì ta có B? S" N có giá
B/ @UB kì
? A S" N=103 thì ;F gì H
ra?
2? tránh S" N sai, ta "H E?G tra
ngay sau khi S" A N<=100 thì
thôi không S" >_4 A không thì
"H S" N
]P ý: Dùng @A KT E? Boolean,
Et B @| False `; F V"
trong khi KT còn @| False: S" N;
E?G tra N; A Kp thì gán KT :=
True, không thì S" N
R B` CS4 ta ; có B?
S" GH A Bu bàn phím BH
mãn |A[i]| <=300
]P ý: Không dùng @A KT E?
Boolean >_4 mà Et B @A i:=1
`; F V" trong khi i<=N: S"
A[i]; E?G tra A[i] BH mãn
|A[i]|<=300 thì B. 1 lên 1 KR C K?
S xét: Dãy A KP; B không thay KI giá B/ các "X BY
/H A S" n=103 thì
;R trình @ thoát ngay S" BJ;
Trang 5S" "X BY BA" theo.
BTVN: Hãy Y_ ;R trình K?
S" N, dãy A Bu bàn phím BH mãn
yêu ;X ;:_ bài toán
b, R) 56 trình.
? Em hãy K=; KD bài và xác K
Input, Output ;:_ bài toán?
? Em hãy cho @AB Bu K ;R
trình sau có ý Q_ gì?
+ posi, neg : integer;
+ posi := 0; neg := 0;
+ If A[i] > 0 then posi := posi +1
Else if A[i] < 0 then neg := neg +1;
+ Writeln ( posi : 4 , neg : 4);
? S thì 2 @A posi neg dùng K? làm
gì?
? Em hãy thay các K F KO vào
;R trình t > C trí ;X BAB4
K? K_ ra < các "X BY nguyên
2=; bài và xác K
- Input: E A F N %& nguyên
A 1 , A 2 , …, A N , N <= 100,
|A i |<=300, 1<=i<=N, %& k nguyên
;56
- Output: R& các %& nguyên ;56
và %& các %& nguyên âm trong
/H
+ Khai báo 2 @A posi và neg BL; E? ,> F Integer
+ #t B giá B/ cho posi và neg
@| 0
+ #?G tra A A[i] ! R 0 thì B. @A posi lên 1 KR C4 còn
A A[i] g R 0 thì B. @A neg lên 1 KR C
+ AB ra màn hình giá B/ ;:_ posi
và neg
/H @A posi dùng K? < các "X BY ! 0, neg < các
"X BY g R 0 trong dãy
Thay các K F và ;R trình
Trang 6,R và < các "X BY nguyên âm
trong GHl
2_ ra ;R trình hoàn ;
Bài 4.9 (trang 32 SBT):
? Em hãy K=; KD bài và xác K
Input, Output ;:_ bài toán?
? ! bài toán này, ta có B? chia
thành > công CF; g nào?
F; S" N BH mãn 3 <= N <=
100 < cô KZ ! ,- t bài
1, em hãy tìm ? cách CAB K F
này t nhà
F; S" dãy A: làm GLB
dãy thông B
F; KAG < "X BY
? Em hãy cho @AB KD EF A[i] t C
trí ; và có giá B/ thì KP; @?
, ,! , @? BJ; logic
BA nào?
? Em hãy nêu cách KAG < "X BY t
C trí ; có giá B/ l
2 F sau:
2=; bài và xác K
- Input: E A F N %& nguyên
A 1 , A 2 , …, A N , 3 <= N <= 100.
- Output:
có giá
/H Ta có B? cha thành các công CF; g sau:
+ S" N
+ S" dãy A
+ 2AG < "X BY t C tí ; có giá B/
/H
i mod 2 = 0 and A[i] mod 2 <> 0
/H bFB Bu KX KA ;< dãy,
A A[i] BH mãn KD EF trên thì B. @A KAG lên 1 KR C
Trang 7For i := 1 to n do
If (i mod 2 = 0) and (A[i] mod 2
<> 0) then dem := dem + 1;
D nhà, em hãy hoàn BF ;R
trình ;:_ bài này
- Sau bài B`; hành hôm nay, các em ;X ! và ? KP; tính BI "X BY BH mãn KD EF4 KAG < "X BY BH mãn KD EF
- BTVN: 4.10, 4.12, K=; và tìm ? B/!; bài 2 trang 64 GSK
... S& #34 ; N=1 03 ;F H
ra?
2? tránh S& #34 ; N sai, ta & #34 ;H E?G tra
ngay sau S& #34 ; A N<=100
thơi khơng S& #34 ; >_4 A khơng
& #34 ;H S& #34 ;... làm CF; C! E? GH GLB ;D S& #34 ; trình
- Cung ;U& #34 ; cho =; sinh GLB < BSB tốn KR H B V& #34 ; S& #34 ; trình, tính BI & #34 ;X BY BH mãn KD EF4 KAG <... & #34 ;X BY
/H A S& #34 ; n=1 03
;R trình @ S& #34 ; BJ;
Trang 5S& #34 ;