Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

giao an tin 9_ky II_2009
Nội dung xem thử
Mô tả chi tiết
Tuaàn 20
Ngaøy daïy:
Tieát:39,40
Baøi 10: ÑIEÀU KHIEÅN LAËP Repeat . . Until (LT)
A.MUÏC TIEÂU
Hoïc sinh naém ñöôïc cuù phaùp cuûa leänh Repeat..Until, bieát caùch veõ löu ñoà vaø giaûi
moät soá baøi toaùn baèng caâu leänh Repeat..Until
Hoïc sinh naém döôïc döõ lieäu kieåu Char
Reøn luyeän khaû naêng tö duy, saùng taïo cuûa hoïc sinh
B.TIEÁN TRÌNH LEÂN LÔÙP
1.OÅn ñònh lôùp
2.Kieåm tra baøi cuõ: Nhaéc laïi caáu truùc cuûa ñieàu khieån laëp For .. To/Downto .. Do
vaø laøm baøi taäp sau: Nhaäp vaøo moät soá nguyeân döông n. haõy tính toång caùc soá nguyeân töø 1
ñeán n
3.Baøi môùi:
HOAÏT ÑOÄNG CUÛA GV VAØ HS NOÄI DUNG
.Giaùo vieân ñöa ra baøi toaùn sau:
Nhaäp vaøo moät soá nguyeân döông n. Haõy tính
toång caùc soá nguyeân töø 1 ñeán n
Vaø ñöa ra chöông trình maãu cho hoïc sinh quan
saùt
.Töø chöông trình maãu giaùo vieân phaân tích ñeå
ñöa hoïc sinh ñöa ra ñöôïc caáu truùc cuûa voøng laëp
Repeat
Phaân tích chöông trình maãu:
Ñaàu tieân i nhaän giaù trò 1, thaân cuûa Repeat ..
Until chöùa 2 phaùt bieåu (S := S + i vaø i:=i + 1),
giaù trò i seõ ñöôïc coäng vaøo bieán S, Sau ñoù i seõ
taêng giaù trò leân 1; tieáp ñeán caâu leänh laëp seõ kieåm
tra ñieàu kieän (i>n), neáu ñieàu kieän naøy sai thì i
laïi tieáp tuïc ñöôïc coäng vaøo bieán S, Sau ñoù i laïi
taêng giaù trò leân 1, Cöù nhö vaäy giaù trò cuoái cuøng
ñöôïc coäng vaøo S seõ laø n, luùc naøy phaùt bieåu
i:=i+1 seõ laøm cho i nhaän giaù trò n +1 -> Sai ñieàu
kieän -> Caâu leänh laëp seõ keát thuùc
.Hs laéng nghe vaø neâu caáu truùc cuûa voøng laëp
Repeat
.Giaùo vieân höôùng daãn ñeå hoïc sinh neâu caùch
thöùc hoaït ñoäng cuûa voøng laëp Repeat
I.Baøi toaùn 1:
Nhaäp vaøo moät soá nguyeân döông n. Haõy tính toång caùc
soá nguyeân töø 1 ñeán n
1.Chöông trình maãu:
Program TinhTong;
Var n,i,S: Integer;
Begin
Write(‘Nhap vao so nguyen duong n = ‘); Readln(n);
i:=1; S:=0;
Repeat
S:=S+i;
i:=i + 1;
Until i>n;
Writeln(‘Ket qua tong la: ‘, S);
Readln;
End.
2. Caáu truùc:
Repeat
<Caùc caâu leänh>;
Until <Ñieàu kieän>;
* YÙ nghóa: Chöøng naøo ñieàu kieän coøn sai thì cöù thöïc
hieän caùc caâu leänh, cho ñeán khi Ñieàu kieän ñuùng thi
khoâng thöïc hieän caùc caâu leänh nöõa maø chuyeån sang
leänh keá tieáp phía döôùi
*Caùch thöùc hoaït ñoäng cuûa REPEAT:
Vì <Ñieàu kieän> ñeå kieåm tra keát thuùc ñöôïc ñaët cuoái
Ñ
S
.Hs neâu caùch thöùc hoaït ñoäng cuûa voøng laëp
Repeat
.Giaùo vieân yeâu caàu hoïc sinh leân veõ löu ñoà cuûa
voøng laëp Repeat.
.Gs leân baûng veõ löu ñoà cuûa voøng laëp Repeat
.Gv ñöa ra ví duï tham khaûo sau:
Chöông trình nhaäp vaøp soá nguyeân döông a. Haõy
kieåm tra xem a coù phaûi laø soá nguyeân toá hay
khoâng?
.Giaùo vieân ñöa ra caùch giaûi baøi toaùn
.Thoâng qua baøi toaùn treân gv giaûi thích cho hs
caùch khôûi taïo bieán
.Hs laéng nghe giaùo vieân trình baøy
voøng laëp neân <Caùc caâu leänh> ñöôïc thöïc hieän ít nhaát
moät laàn. Thöù töï thöïc hieän cuûa phaùt bieåu Repeat ..
Until nhö sau:
Böôùc 1: Thöïc hieän <caùc caâu leänh> trong thaân
Repeat .. Until
Böôùc 2: Khi thöïc hieän xong caâu leänh cuoái cuøng trong
thaân Repeat .. Until, Roài kieåm tra <Ñieàu kieän>, neáu
<Ñieàu kieän> ñuùng thì maùy seõ keát thuùc voøng laëp vaø
thöïc hieän tieáp caùc caâu leänh sau phaùt bieåu Repeat ..
Until, ngöôïc laïi, neáu <Ñieàu kieän> sai thì quay laïi
böôùc 1 ñeå tieáp tuïc thöïc hieän moät voøng laëp môùi.
3.Löu ñoà:
Ví duï tham khaûo: Chöông trình nhaäp vaøp soá nguyeân
döông a. Haõy kieåm tra xem a coù phaûi laø soá nguyeân toá
hay khoâng?
Program SoNguyenTo;
Var a,k: Integer;
Dung: boolean;
Begin
Write(‘Nhap a = ‘); Readln(a);
k:=2; dung:= False;
Repeat
If a mok k = 0 the dung := true
Else k:=k + 1;
Until dung= true;
If k<a then Writeln(a, ‘ khong la so nguyen to’)
Else Writeln(a, ‘ La so nguyen to’);
Readln;
End.
4.Khôûi taïo bieán: khi khai baùo bieán
Ví duï:
Var k: Integer; dung: Boolean -> Maùy seõ caáp phaùt
moät vuøng boä nhôù coù kích thöôùc töông öùng vôùi kieåu
bieán vaø töï ñoäng gaùn moät giaù trò maëc nhieân cho bieán
Phaùt bieåu trong Repeat .. Until
Ñieàu kieän
.Gv ñöa ra baøi toaùn 2 coù noäi dung nhö sau:
Laõi suaát tieát kieäm laø x%/thaùng, soá tieàn ban ñaàu
laø a, Hoûi sau bao nhieâu thaùng soá tieàn coù ñöôïc
khoâng nhoû hôn b
Yeâu caàu hoïc sinh suy nghó vaø vieát chöông
trình.
.Hs leân baûng vieát chöông trình, caû lôùp laøm baøi
vaøo vôû
.Gv nhaän xeùt baøi laøm vaø ruùt ra sai laàm thöôøng
maéc phaûi cuûa hs
.Gv ñöa ra baøi toaùn 3 coù noäi dung nhö sau:
Vieát chöông trình moâ phoûng maùy tình ñôn
giaûn.Nhaäp vaøo pheùp toaùn “+”, “-“, “*”, “/” vaø
hai soá a, b. Thöïc hieän pheùp toaùn aáy cho ñeán khi
naøo pheùp toaùn nhaäp vaøo laø “$” thì keát thuùc
chöông trình.
.Gv ñöa ra chöông trình maãu.
.Hs cheùp baøi vaø theo doõi
ñoù, cuï theå: Bieán k ñöôïc caáp phaùt moät oâ nhôù coù kích
thöôùc 2 byte vaø ñöôïc gaùn giaù trò baèng 0, bieán dung
ñöôïc caáp phaùt moät oâ nhôù coù kích thöôùc 1 byte vaø ñöôïc
gaùn giaù trò baèng false
Ñeå löu tröõ giaù trò nhö mong muoán cho bieán, chuùng ta
coù theå thöïc hieän vieäc khôûi taïo laïi giaù trò cho bieán, ví
duï k:=2; dung := false;
II. Baøi toaùn 2
Laõi suaát tieát kieäm laø x%/thaùng, soá tieàn ban ñaàu laø a,
Hoûi sau bao nhieâu thaùng soá tieàn coù ñöôïc khoâng nhoû
hôn b
Giaûi:
Var a,b,d,x:Integer;
S:real;
Begin
Write(‘Nhaäp a: ‘); Readln(a);
Write(‘Nhaäp b: ‘); Readln(b);
Write(‘Nhaäp x: ‘); Readln(x);
d:=0;
S:= a;
Repeat
S:=S +a*x/100;
d:=d+1;
Until S>=b;
Write (‘Soá thang la: ‘, d, ‘ So tien co duoc la: ‘, S);
Readln;
End.
III.Baøi toaùn 3:
Vieát chöông trình moâ phoûng maùy tình ñôn giaûn.Nhaäp
vaøo pheùp toaùn “+”, “-“, “*”, “/” vaø hai soá a, b. Thöïc
hieän pheùp toaùn aáy cho ñeán khi naøo pheùp toaùn nhaäp
vaøo laø “$” thì keát thuùc chöông trình.
1.Chöông trình maãu:
Program May_tinh;
Var a,b: Integer;
PhepToan: Char;
Begin
Writeln(‘Chöông trinh mo phong may tinh’);
Repeat
Write(‘Nhap vap phep toan: ‘); Readln(pheptoan);
Write(‘Nhap vap hai so: ‘); Readln(a,b);
Case PhepToan Of
‘+’ : Writeln(‘Tong = ‘, a + b);
.Thoâng qua baøi toaùn treân gv giaûi thích cho hs
kieåu döõ lieäu Char, baûng maõ ASCII
.Hs im laëng laéng nghe gv trình baøy.
.Töø baûng maõ ASCII, gv yeâu caàu hs ruùt ra moái
quan heä giöõ chöõ in hoa vaø chöõ thöôøng.
.Hs ruùt ra nhaän xeùt veà moái quan heä giöõ in hoa
vaø in thöôøng.
.Gv giôùi thieäu cho hs moät soá haøm lieân quan ñeán
kí töï vaø coù daãn chöùng minh hoa ñeå hoïc sinh
naém roõ hôn, cho theâm ví duï ñeå hoïc sinh tìm keát
quûa cuûa haøm.
.Hs im laëng laéng nghe giaùo vieân trình baøy vaø
thöïc hieän caùc yeâu caàu cuûa gv ñeà ra
‘-’ : Writeln(‘Hieu = ‘, a - b);
‘* ’ : Writeln(‘Tich = ‘, a * b);
‘+’ : If b<> 0 then Writeln(‘Tong = ‘, a / b);
End;
Until PhepToan = ‘$’;
End.
2. Döõ lieäu Char
Moãi giaù trò kieåu Char chieám 1 byte vaø chæ bieåu dieãn
ñöôïc moät kyù töï trong baûng maõ ASCII, ví duï:
Vò trí trong baûng maõ ASCII Kyù töï
. .
48 0
49 1
50 2
. .
65 A
66 B
. .
97 a
98 b
……………… ………………
Nhaän xeùt: Töø baûng maû cuûa caùc chöõ caùi ta suy ra:
Maõ chöõ thöôøng = Maõ chöõ hoa töông öùng + 32 (1)
Moãi kí töï seõ naèm ôû moät vò trí xaùc ñònh trong baûng maõ,
ví duï oå vò trí thö 65 seõ laø kyù töï A. Coù taát caû 256 kyù töï
ñöôïc ñaùnh soá töø 0 ñeán 255. Nhö vaäy coù 256 giaù trò
kieåu Char
Ñeå bieåu dieãn kyù töï ta co theå ñëaêt kyù töï ñoù trong 2 daáu
nhaùy ñôn, ví duï ‘a’ (goïi laø kyù töï a), ‘B’ (goïi laø kyù töï
B), ‘:’ (goïi laø kyù töï :)
*Caùc haøm lieân quan ñeán kyù töï:
+Haøm PRED(ch): Cho kyù töï ñöùng ngay tröôùc kyù töï ch
trong baûng maõ. Ví duï: Pred(‘B’) = ‘A’
+Haøm SUCC(ch): Cho kyù töï ñöùng ngay sau kyù töï ch
trong baûng maõ. Ví vuï Succ(‘A’)= ‘B’
+Haøm UpCase(ch): Ñoåi kyù töï ch thaønh chöõ hoa. Ví duï
UpCase(‘a’) = ‘A’, Upcase(‘b’) = ‘B’, Upcase(‘A’)=
‘A’.
+Haøm ORD(ch): Cho maõ cuûa kyù töï ch. Ví duï:
Ord(‘A’) = 65, Ord(‘a’)= 97.
+Haøm CHR(k): Ñoái soá k nguyeân, 0<=k <=255, cho kyù
töï coù maõ baèng k.
Ví vuï: