Gi¸o ¸n ®iÖn tö tin häc líp 8
!"
#$%&'()*
!
Hãy quan sát
các bài toán
sau !
+(, %./
% 0 12 . 13 4
50 6
+78% 9 9:";/:
<8 <&%"58
+ ;= 8) = >
.2. 9
Bài toán là
gì nhỉ ?
Bài toán là một công việc hay một
nhiệm vụ cần phải giải quyết
Để giải quyết một bài toán cụ thể , ta cần xác định bài toán
Điều kiện cho tr%ớc
Kết quả thu đ%ợc
?*;,15+$%0 12.13450 6
@/: 1A+B,.
?*;,15+ <&"58CD< 9
E
@/: 1A+@/:<8 <&
Xác định bài toán là b%ớc đầu tiên và là b%ớc rất quan
trọng trong việc giải bài toán.
M¸y tÝnh cã thÓ
tù gi¶i c¸c bµi
to¸n kh«ng?
å kh«ng! T«i
chØ lµm theo sù
chØ dÉn th«i!!!!
BFG0. 9%
12 1A<"
Để máy tính có thể giải các bài toán, ta cần h%ớng
dẫn máy tính thực hiện một dãy hữu hạn các thao
tác để từ các điều kiện cho tr%ớc ta nhận đ%ợc kết
quả cần thu đ%ợc.
Máy tính không thể tự mình tìm ra lời
giải của các bài toán. Lời giải của một
bài toán cụ thể, tức thuật toán, là t#
duy sáng tạo của con ng#ời
Hãy nhớ!
H !+xác định điều kiện ban đầu
(input) và kết quả cần xác định (output).
HI(J + Lựa chọn và mô tả các
thao tác sẽ thực.
K/13+ Diễn đạt thuật toán bằng
một ngôn ngữ lập trình sao cho máy tính có
thể hiểu và thực hiện đ%ợc.
1
2
3
VD1
Các b)ớc thực hiện
để pha trà mời
khách ntn nhỉ ?
15+Tráng ấm chén bằng n%ớc sôi;
15+Cho một nhúm trà vào ấm;
15+Tráng trà;
15#+Rót n%ớc sôi vào ấm và đợi trong 3 4 phút;
15L+Rót trà ra chén để mời khách;
Thuật toán pha trà mời khách
M8+Trà, n%ớc sôi, ấm và chén
N8+Chén trà đã pha để mời khách
MOPQ+4R(STR'
NQPQ+4
Ví dụ 2: Thuật toán
Làm món trứng tráng
Bớc 1. Đập trứng, tách vỏ và cho trứng vào bát.
Bớc 2. Cho một chút muối và hành t#ơi thái nhỏ
vào bát trứng. Dùng đũa quấy mạnh cho
đến khi đều.
Bớc 3. Cho một thìa dầu ăn vào chảo, đun nóng
đều rồi đổ trứng vào. Đun tiếp trong
khoảng 1 phút.
Bớc 4. Lật mặt trên của miếng trứng úp xuống
d#ới. Đun tiếp trong khoảng 1 phút.
Bớc 5. Lấy trứng ra đĩa.
VD3
ThuËt to¸n gi¶i ph¬ng tr×nh bËc nhÊt tæng qu¸t
bx + c = 0
B%íc 1: NÕu b = 0 chuyÓn tíi b%íc 3;
B%íc 2: TÝnh nghiÖm cña ph%¬ng tr×nh x =
råi chuyÓn tíi b%íc 4;
B%íc 3: NÕu c≠ 0 th«ng b¸o ph%¬ng tr×nh v«
nghiÖm, ng%îc l¹i (c = 0) th«ng b¸o
ph%¬ng tr×nh v« sè nghiÖm.
B%íc 4: KÕt thóc thuËt to¸n.
b
c
−
Các b)ớc của ba
thuật toán trên có
thay đổi trình tự đ)
ợc không ?
là dãy các thao tác cần thực
hiện theo một trình tự xác định để thu
đ#ợc kết quả cần thiết từ những điều
kiện cho tr#ớc.
VÝ dô 1. Mét h×nh A ®#îc ghÐp tõ mét h×nh ch÷ nhËt
víi chiÒu réng 2a, chiÒu dµi b vµ mét h×nh b¸n
nguyÖt b¸n kÝnh a nh# h×nh d#íi ®©y:
h×nh A
b
a
a
X¸c ®Þnh
Input vµ
Output cña
bµi to¸n
#$%&'()*
1
Tính S1 = 2a ì b {(Tính S hình CN)};
2
Tính S2 = a
2
/2 {(S hình bán nguyệt)};
3
Tính S = S1 + S2 và kết thúc.
- OUTPUT : Diện tích của hình A.
- INPUT: Số a là 1/2 chiều rộng của hình chữ nhật và
là bán kính của hình bán nguyệt, b là chiều
dài của hình chữ nhật.
L)u ý: Trong biểu diễn thuật toán kí hiệu để chỉ phép gán
một giá trị cho biến. VD S 0 gán giá trị 0 cho biến S
Xác định
Input và
Output của
bài toán
- OUTPUT : Tổng của dãy số trên.
- INPUT: Dãy 100 số tự nhiên đầu
tiên: 1, 2, 100.
Ví dụ 2:Tính tổng của 100 số tự nhiên đầu tiên
liên tiếp S = 1 + 2 + 3 + 4 + + 100
NhËn xÐt:
S = 0
S1 = S + 1
S2 = S1 + 2
S3 = S2 + 3
S100 = S99 + 100
0S
=
B¾t ®Çu tõ S1 viÖc tÝnh S
®îc lÆp ®i lÆp l¹i 100 lÇn
theo quy luËt
S
sau
= S
tríc
+ i
víi i t¨ng lÇn lît tõ 1
®Õn100
1
+
2
+
3+
100
++
. . . . . . . . . . . . . . . . . . . .
UV
Bíc 1: S ← 0; i ← 0;
Bíc 3: NÕu i <= 100 th× S ← S + i; vµ quay l¹i bíc 2.
trong trêng hîp ngîc l¹i th«ng b¸o kÕt qu¶
råi kÕt thóc thuËt to¸n.
Bíc 2: i ← i + 1
ThuËt to¸n tÝnh tæng
Bài toán đổi giá trị hai biến
Cốc A chứa n%ớc màu đỏ, cốc B chứa n%ớc màu xanh.
Làm cách nào để tráo đổi cốc A có n%ớc màu xanh, cốc B
có n%ớc màu đỏ? (Giả thiết cốc A và cốc B có thể tích nh%
nhau)
Cốc A Cốc B
Làm cách
nào đây?
Cốc A Cốc B
Bài toán đổi giá trị hai biến
Cốc C
1. Lấy một cốc C rỗng có thể tích nh A và B
2. §æ níc mµu ®á ë cèc A sang cèc C
Cèc A Cèc B
Cèc C
Bµi to¸n ®æi gi¸ trÞ hai biÕn
3. §æ níc mµu xanh ë cèc B sang cèc A
Cèc A Cèc B
Cèc C
Bµi to¸n ®æi gi¸ trÞ hai biÕn
4. §æ níc mµu ®á ë cèc C sang cèc B
Bµi to¸n ®æi gi¸ trÞ hai biÕn
Cèc A Cèc B
Cèc C
Ví dụ 3: Đổi giá trị hai biến x và y
M8+D./6!134".R
N8+D./6!134"R.
Bớc 1: z x {Sau bớc này giá trị của z sẽ bằng a}
Bớc 2: x y {Sau bớc này giá trị của x sẽ bằng b}
Bớc 3: y z {Sau bớc này giá trị của y sẽ bằng giá
trị của z, chính là giá trị ban đầu a của biến x}
Ví dụ 4: Cho hai số thực a và b. Hãy cho biết kết quả so
sánh hai số đó d%ới dạng a lớn hơn b , a nhỏ hơn b
hoặc a=b
B%ớc 1: So sánh a và b. Nếu a>b, cho kết quả a lớn hơn b
B%ớc 2: Nếu a<b, cho kết quả a nhỏ hơn b ; ng%ợc lại, cho kết
quả a = b và kết thúc thuật toán.
M8+D.&'J.
N8+@/:&&
Hãy tìm chỗ ch%a đúng trong thuật toán sau
Ta thÊy, sau
b#íc 1 ta ®#îc
kÕt qu¶
Nh#ng trong b#
íc hai, khi kiÓm
tra a<b th× kÕt
qu¶ lµ
Thö l¹i víi
a=6 vµ b=5
a lín h¬n b
a = b
Bớc 1: So sánh a và b. Nếu a>b, cho kết quả
a lớn hơn b và chuyển đến bớc 3
Bớc 2: Nếu a<b, cho kết quả a nhỏ hơn b ; ng
ợc lại, cho kết quả a = b
Bớc 3: Kết thúc thuật toán
Thuật toán so sánh 2 số thực