Tải bản đầy đủ (.docx) (36 trang)

Học tiếng Trung - Learn Pinyin - Lesson 7

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (493.18 KB, 36 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b> Tiết: 17-18</b> <b>Ngày dạy:15/10/08</b>

<b>TRỊ CHƠI LUYỆN GÕ PHÍM NHANH </b>



<b>VỚI PHẦN MỀM </b>

<i><b>FINGER BREAK OUT</b></i>



<b>A. MỤC ĐÍCH YÊU CẦU</b>
<b>* Kiến thức:</b>


- HS biết cách vào ra chương trình phần mềm. Biết sử dụng phần mềm để luyện gõ bàn phím, giúp các em
nhớ được các nút trên bàn phím. Hình thành thói quen khám phá phần mềm.


<b>* Kỹ năng:</b>


- Rèn kỹ năng gõ bàn phím nhanh, chính xác. Giúp cho HS chơi mà học. Tạo được sự thư giản vui vẻ sau
những tiết học căng thẳng. Rèn tư thể ngồi làm việc với máy tính.


<b>B. PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN DẠY HỌC</b>


- Phương pháp: Giới thiệu, hướng dẫn, minh họa.


- Phương tiện: Máy chiếu, máy tính, phần mềm Finger Break Out.
C. NỘI DUNG BÀI GIẢNG


<b>Hoạt động của thầy và trò</b> <b>Nội dung</b>


GV: Giới thiệu tên phần mềm: Finger Break Out.


Tác dụng của phần mềm: Giúp các em gõ bàn phím nhanh
và chính xác.


Cho HS tự khám phá phần mềm trong một tiết đầu dưới


dạng thảo luận nhóm qua u cầu:


+ Tìm cách khởi động và thốt khỏi phần mềm.
+ Tìm cách chơi trò chơi và thực hiện chơi.


+ Hiểu được một số thông tin trong khung thông tin.
GV: em hãy nên tên và tác dụng của phần mềm?
- Giới thiệu biểu tượng


- Làm thế nào để chạy phần mềm?
Một HS lên bảng thao tác trị chơi.


GV: giới thiệu màn hình chính của phần mềm.
Em nhìn thấy gì trong cửa sổ chính của phần mềm?
HS: trả lời


GV: đưa ra màn hình chính của phần mềm..


GV: yêu cầu ngồi thẳng, đúng tư thế, hai tay để lên các
phím trên hàng phím cơ sở.


GV: theo em các phím trên màn hình màu sắc khác nhau có
ý nghĩa gì?


HS:… quy định ngón tay gõ


GV: đưa ra bảng quy định màu sắc các phím qua ngón tay
gõ và hướng dẫn cách nhớ.


GV: quan sát màn hình chính em hãy trả lời:


+ Khu vực chơi chính ở đâu?


+ Nơi thực hiện các lệnh chính ở đâu?


+ Làm thế nào để lựa chọn các mức độ chơi khác nhau?
+ Trị chơi có những mức độ nào?


HS: Đại diện các nhóm trả lời.
GV: nhận xét.


Tương tự như các phần mềm khác, theo em làm thế nào để
dừng chơi?


Muốn kết thúc và thoát khỏi phần mềm ta làm thế nào?
HS: trả lời


GV: muốn bắt đầu chơi ta làm thế nào?


- Khi bắt đầu vào trò chơi xuất hiện một hộp thoại, theo em


<b>1. Giới thiệu phần mềm</b>


Phần mềm Finger Break Out sẽ giúp em quan sát
và gõ bàn phím nhanh.


<b>2. Màn hình chính của phần mềm</b>
<b>a. Khởi động phần mềm:</b>


- Nháy đúp chuột lên biểu tượng chính của
chương trình.



<b>b. Giới thiệu màn hình:</b>


- Phần mềm sẽ đưa ra màn hình giới thiệu, nhấn
phím Enter hoặc nút OK để chuyển sang màn
hình chính của phần mềm.


- Chính giữa trung tâm cửa sổ là hình ảnh bàn
phím.


- Khung trống phía trên hình bàn phím là khu vực
để chơi.


- Khung bên phải chứa các lệnh và thông tin của
lượt chơi.


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

hộp thoại này có ý nghĩa gì? Làm thế nào để bắt đầu chơi?
HS: trả lời.


GV: trong màn hình chính có những gì?
HS: trả lời.


GV: giới thiệu màn hình chính và giải thích ý nghĩa các con
số và biểu tượng.


GV: nhiệm vụ của chúng ta làm gì:


HS: ta phải ”bắn phá” các thanh này và làm cho chúng biến
mất khỏi màn hình.



Khi nào các em thắng trong lượt chơi này?
HS: khi tất cả các thanh trên đã bị phá hết.
GV: giới thiệu thanh chơi có dạng:


Và hướng dẫn HS chơi.


GV: không được để các quả cầu lớn rơi xuống đất bằng cách
dịch chuyển thanh chơi hướng đến hướng rơi của các quả
cầu lớn để làm cho chúng quay lên. Nếu quả cầu lớn cuối
cùng rơi xuống đất ta sẽ mất một lượt chơi của lần chơi này.
Trong quá trình chơi, nếu đạt được điểm cao em sẽ được
phần mềm thưởng cho các quả cầu lớn.


GV: muốn các thanh trên biến mất thì nhiệm vụ chính của
em là gì?


HS: gõ phím thật nhanh, chính xác để điều khiển khéo léo
các quả cầu một cách tốt nhất.


GV: giới thiệu các mức chơi cao hơn. Tuyệt đối không cho
phép các con vật lạ va chạm vào thanh chơi. Nếu một con
thú lạ va chạm vào thanh chơi em sẽ mất một lượt chơi.
GV: các quả cầu lớn xuất hiện nhiều có ý nghĩa gì?


HS: nếu có nhiều quả cầu lớn khả năng chiến thắng sẽ
nhanh hơn.


GV: nêu yêu cầu của nội dung thực hành. Chia nhóm HS
theo nhóm 2 đến 3 em.



GV: quan sát giúp đỡ để giải quyết các thắc mắc. Chấm
điểm các nhóm và cơng bố điểm số các nhóm.


- Nhận xét, rút kinh nghiệm bài thực hành, đặc biệt về mặt ý
thức thực hành của HS.


+ Trung bình: Intermediate.
+ Nâng cao: Advanced.


<b>c. Thốt khỏi phần mềm</b>


+ Muốn dừng chơi nháy chuột vào nút Stop ở
khung bên phải.


+ Muốn thoát khỏi phần mềm: nhấn tổ hợp phím
Alt + F4.


3. Hướng dẫn sử dụng:


Nháy chuột vào nút Start tại khung thông tin bên
phải để bắt đầu chơi.


- Hộp thoại Break Out: thơng báo vùng bàn phím
sẽ được luyện gõ trong mỗi lần chơi.


- Nhấn phím Space để bắt đầu chơi.


- Nhiệm vụ người chơi phải bắn phá các thanh.
- Các chữ trong thanh chơi sẽ thay đổi sau mỗi
lần gõ phím.



- Gõ phím l (bên trái) sẽ làm thanh chơi dịch
chuyển sang trái.


- Gõ phím f (bên phải) sẽ làm thanh chơi dịch
chuyển sang phải.


- Gõ phím a (ở giữa) sẽ bắn lên một quả cầu nhỏ.
- Nếu quả cầu lớn cuối cùng rơi xuống đất ta sẽ
mất một lượt chơi của lần chơi này.


<b>4 Thực hành</b>


Chơi trị chơi theo nhóm đã phân cơng.


<b>D. Củng cố, dặn dị</b>


- Nhớ một số thao tác chính đã thực hiện trong phần mềm.


- Rèn luyện tư thế ngồi và tạo thành thói quen đúng khi làm việc với máy tính.
- Tập gõ với những tốc độ cao của trò chơi.


Tiết 19,20 Ngày dạy:22/10/08 Tên bài: TỪ BÀI TỐN ĐẾN CHƯƠNG TRÌNH.
A MỤC TIÊU:


-Biết khái niệm bài toán, thuật toán.


-Xác định được Input, Output của một bài toán đơn giản.
-Biết các bước giải bài tốn trên máy tính.



-Biết chương trình là thể hiện của thuật tốn trên một ngơn ngữ cụ thể.
Biết mơ tả thuật toán bằng phương pháp liệt kê các bước.


B. PHƯƠNG PHÁP:
C. CHUẨN BỊ :


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

I. Ổn định tổ chức: -Kiểm tra sĩ số.
II. Kiểm tra bài cũ:


III. Bài mới:


HOẠT ĐỘNG CỦA THẦY VÀ TRÒ KIẾN THỨC CẦN ĐẠT


HOẠT ĐỘNG 1: Khái niệm bài toán, chương trình.
GV: Muốn nhờ máy tính giải bài tốn này, em phải làm gì?
HS trả lời.


Hãy viết các lệnh để giải bài toán này.
HS viết lên bảng phụ.


GV nhận xét.


GV cho HS xem lại H.1
Rơ-bốt “nhặt rác”.


HS viết chương trình gồm các lệnh điều khiển rơ-bơt.
GV nhận xét chương trình.


GV :



Khái niệm bài toán và giải bài toán đã trở thành quen thuộc với HS
trong các mơn học như: Tốn, lí...Bài tốn trong tin học khơng chỉ là
những bài tốn trong lĩnh vực tốn học mà cịn có thể là một nhiệm
vụ cần giải quyết trong cuộc sống thực tiễn như:tính điểm trung bình
một mơn học, nấu món ăn, điều khiển rơ-bơt nhặt rác...


Bài tốn:


Tính tổng của hai số a và b được gõ vào
bàn phím.Suy ra viết chương trình gồm
các lệnh sau:


Tính tổng;
Bắt đầu
Nhập số a;
Nhập số b;
Tính a+b;


Ghi kết quả a+b ra màn hình;
Kết thúc.


HOẠT ĐỘNG 2: Bài toán và xác định bài toán.
GV cho HS đọc SGK từ “Bài toán...kết quả cần thu được’.
GV:Em hiểu thế nào là bài toán?


HS trả lời.


Muốn giải một bài toán, trước tiên ta phải làm gì ?
GV giới thiệu VD 1(SGK).



Các nhóm xác định điều kiện cho trước, kết quả cần thu được của bài
tốn tính diện tích hình tam giác, tìm đường tránh các điểm nghẽn
giao thơng, nấu một món ăn.


1/ Bài toán và xác định bài tốn:
Bài tốn là một cơng việc hay một
nhiệm vụ cần phải giải quyết.
Muốn giải một bài toán trước hết ta
phải xác định được dâu là GT, KL của
của bài toán.


VD1: (sgk).
HOẠT ĐỘNG 3: Củng cố.


1/ Nhắc lại khái niệm về bài toán?
2/ Thế nào là xác định bài tốn?


HOẠT ĐỘNG 4: Q trình giải bài tốn trên máy tính.
GV: Giải tốn trên máy tính có nghĩa là gì?


HS trả lời.


Em hiểu thế nào là thuật tốn?


GV: Trong mơn tốn, trước khi bắt đầu giải một bài tốn các em đã
quen việc tìm GT và KL của bài tốn.Từ đó


Giúp HS hiểu được Input và Output.
GV cho HS tự cho VD.



GV: Máy tính có “giải” được bài tốn khơng?
HS thảo luận trả lời(có thể lấy VD rô-bôt nhặt rác).
GV nhận xét.


GV gợi ý: Mơ tả thuật tốn bằng ngơn ngữ lập trình. Viết chương
trình.


GV: Để nhờ máy tính giả một bài tốn ta phải thực hiện những bước
nào?


HS xem hình SGK và trả lời.
GV chốt lại lại các bước cơ bản.
Em hiểu chương trình là gì?
HS trả lời.


2/ Quá trình giải bài tốn trên máy tính:
Q trình giải bài tốn trên máy tính
gồm các bước sau:


-Xác định bài tốn.
-Mơ tả thuật tốn.
-Viết chương trình.


HOẠT ĐỘNG 5: Thuật tốn và mơ tả thuật tốn.


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

HS trả lời.


GV: Mơ tả thuật tốn là gì?


HS trả lời.Sau đó GV chốt và nhấn mạnh cách mơ tả thuật tốn.


Bài tốn: “Giải phương trình bậc nhất dạng tổng qt bx+c=0”.
HS mơ tả thuật tốn bằng các bước .


Bài tốn: “Làm món trứng tráng”


GV đưa ra mơ tả thuật tốn bằng các bước khơng đúng trình tự.
HS thảo luận nhóm và sắp xếp lại trình tự để giải quyết bài toán.
HS phát biểu khái niệm thuật toán.


GV nhận xét phần trả lời của HS.


Mơ tả thuật tốn là liệt kê các bước cần
thiết để giải một bài toán.


a/ VD1:


“Giải phương trình bậc nhất dạng tổng
quát bx+c=0”.


b/ VD2:


Bài tốn:”Chuẩn bị món trứng tráng”.
Thuật tốn 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 tìm từ những điều
kiện cho trước.


HOẠT ĐỘNG 6: Củng cố.


Qua tiết học, em nắm được những kiến thức cơ bản nào?


HS nhắc lại:


-Xác định bài toán.


-Giải bài tốn trên máy tính.


-Q trình giải một bài tốn trên máy tính.
-Thuật tốn.


Bài tập 1


HOẠT ĐỘNG 7: Hướng dẫn về nhà.


Học thuộc các khái niệm, các bước giải bài tốn, mơ tả thuật tốn.
Xem bài mới: “Một số ví dụ về thuật tốn”.




<b>Tiết 23+24</b> <b>Ngày dạy:29/10/08</b>


<b>Bài 5</b>: <b>TỪ BÀI TỐN ĐẾN CHƯƠNG TRÌNH</b>
<b>I.Mục tiêu</b>:


Sau khi học xong bài này, học sinh có khả năng:
+ Biết được khái niệm Thuật tốn là gì?


+ Hs biết được mơ tả thuật tốn bằng phương pháp liệt kê các bước.


+ HS mô tả được thuật toán của một số bài toán đơn giản như tính tổng, tìm số lớn nhất, bế nhất..v.v...



<b> II. Chuẩn bị</b>:


+GV : giáo án, máy chiếu.(nếu có)+HS : sách , chuẩn bị tốt các kiến thức đã học
III.Tiến trình dạy học


<b>1.Kiểm tra bài cũ:</b>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

2.Thuật tốn là gì? Q trình giải bài toán gồm bao nhiêu bước?


<b>2.Dạy bài mới:</b>


<b>Hoạt động của Gv</b> <b>Hoạt động của trò</b> <b>Nội dung ghi bảng</b>


<b>Cũng cố</b>: Qua bài trước ta đã biết
được khái niệm bài toán, các bước
xác định bài toán.Trong tiết này
chúng ta tìm hiểu sâu hơn về khái
niệm thuật tốn


.<b>3.Tḥt tốn và mơ tả tḥt tốn</b>


Việc dùng máy tính giải một bài
tốn là đưa ra một thuật tốn.Tuy
nhiên việc mơ tả thuật tốn chưa đủ
đối với máy tính mà cần diễn đạt
thuật tốn dưới dạng máy tính có thể
hiểu và thực hiện được.


Kết quả thuật tốn là gì ?



-GV chốt lại định nghĩa


Đưa ra một số ví dụ .


<b>Vd1 : Bài tốn “pha trà mời </b>
<b>khách”</b>


Yêu cầu hs xác định bài toán.


- Gọi HS dưới lớp nhận xét bài làm
của bạn


<b>Vd2 : Bài tốn “Giaỉ phương </b>
<b>trình bậc nhấtdạng tởng quát </b>
<b>ax+b=0”</b>


Input : Các hệ số a,b.


Output : Nghiệm của phương
trìnhbậc nhất.


Bước 1 :Nếu a=0 chuyển tới bước 3.
Bước 2 : Tính nghiệm của phương
trình x=-b/a và chuyển tới bước 4.
Bước 3 : Nếu c<>0 thông báo pt đã
cho vô nghiệm, ngược lại (c=0)
thông báo phương trình đã cho vơ số


- HS lắng nghe



-HS trả lời:là thao tác các
bước cần thực hiện theo
trình tự xác định để thu
được kết quả cần thu được
từ những điều kiện cho
trước


- HS trả lời:


Input : ̀Trà, nước sôi, ấm và
ly.


Output : ly trà đã pha xong
- Gọi 2hs lên bảng trình bày
thuật tốn:


Bước 1 : Tráng ấm, chén
bằng nước sôi.


Bước 2 : Cho trà vào ấm.
Bước 3 : Rót nước sơi vào
ấm và đợi khoảng 3-4 phút.
Bước 4 : Rót trà vào ly
-HS theo dõi và lắng nghe.


- HS trả lời:Cách đơn giản:
B1: S :=1.


B2: S:= S +2.
...


B99:S:= S+100


<b>3.Thuật tốn và mơ tả tḥt tốn</b>


-<b>Tḥt tốn</b> là dãy hữu hạn 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 thu được từ những
điều kiện cho trước.


<b>Vd1 : Bài toán “pha trà̀ mời khách”</b>


Input : Trà, nước sôi, ấm và ly.
Output : ly trà đã pha xong


Bước 1 : Tráng ấm, chén bằng nước sôi.
Bước 2 : Cho trà vào ấm.


Bước 3 : Rót nước sơi vào ấm và đợi
khoảng 3-4 phút.


Bước 4 : Rót trà vào ly


<b>Vd2 : Bài tốn “Giaỉ phương trình bậc </b>
<b>nhấtdạng tởng qt ax+b=0”</b>


Input : Các hệ số a,b.


Output : Nghiệm của phương trìnhbậc nhất.
Bước 1 :Nếu a=0 chuyển tới bước 3.



Bước 2 : Tính nghiệm của phương trình
x=-b/a và chuyển tới bước 4.


Bước 3 : Nếu c<>0 thông báo pt đã cho vơ
nghiệm, ngược lại (c=0) thơng báo phương
trình đã cho vô số nghiệm


Bước 4 : Kết thúc.


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

nghiệm


Bước 4 : Kết thúc.


<b>4.Một số ví dụ về thuật tốn</b>
<b>Vd1 :</b>Hs quan sát hình 29 rồi mơ


tả thuật toán .


Yêu cầu hs xác định bài toán.? từ


H.29


<b>Vd2 :</b>Tính S = 1+2+…+100.


Input : Các số 1,2,..,100.
Output : tổng của S


Tuy nhiên việc mơ tả thuật tốn như
các em là q dà dịng( khơng phải
là 100 số mà n số “ n rất lớn”) nên


Gv có thể gợi ý : Gán cho S có giá
trị bằng 0, tiếp tục thêm các giá trị
1,2,…,100 vào S.


Phát sinh thêm biến i, gán i:=1;
<b>Vd3</b> : Đổi giá trị của hai biến x và


y


Gợi ý : Có hai cốc nước : cam và
dâu ,làm thế nào để đổi cốc đựng
cam thành cốc nước đựng dâu và
ngược lại.


 Gv minh hoạ bằng hình vẽ trực


tiếp:


Yêu cầu học sinh đưa ra thuật toán.


<b>Vd4 : </b>Cho a, b là hai số thực<b> . </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”, “a bằng b”. Em hãy mơ tả thuật
tốn .


- Gv hướng dãn ví dụ 6 tiếp theo.


-HS nêu cách làm ( dùng
cái ly trung gian)



- HS lên bảng trình bày.


- Hs về nhà tìm hiểu thêm.


<b>Vd2 :</b>Tính S = 1+2+…+100.
Bước 1 : S:=0; i:=1


Bươc 2 : i:=i+1


Bước 3 : Nếu i<=100 thì S:=S+I và quay lại
bước 2.


Bước 4:Thông báo kết quả và kết thúc thuật
toán.


<b>Vd3 : </b>Đổi giá trị của hai biến x và y .
Bước 1 : z:= x


Bước 2 : x:=y
Bước 3 : y:=z


<b>Vd4 </b>: Cho hai số thực a,b . Hãy cho biết kết
quả so sánh hai số a,b .


Bước 1 : Nếu a>b, kết quả là “a lớn hơn b”
và chuyển đến bước 3.


Bước 2 : Nếu a<b , kết quả là “a nhỏ hơn
b”,ngược lại kết quả “a bằng b”.



Bước 3 : Kết thúc thuật tốn.


<b>3.Hướng dẫn học ở nhà </b>


 Biết mơ tả thuật tốn của một bài tốn
 Đọc ví dụ 6 sgk trang 43 và 44.


Làm các bài tập trong sách giáo khoa


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<i><b>Ngày dạy : 8A :...</b></i>

<i><b>8B :...</b></i>

<i><b>8C :... </b></i>


<i><b>Tiết 23:</b></i>



<b>BÀI TẬP</b>


<b> A. Mục tiêu : </b>


 Tìm hiểu một số bài toán cụ thể.


 Xác định được Input, Output của một bài tốn đơn giản;


 Biết mơ tả thuật tốn và viết được chương trình đơn giản dựa trên cách mơ tả thuật tốn đó.
<b> B. Chuẩn bị : </b>


<i><b>1. Giáo viên </b></i> :


- SGK, SGV, tài liệu, Giáo án


- Đồ dùng dạy học như máy tính, projector,...



<i><b>2. Học sinh</b></i> :


- Đọc trước bài


- SGK, Đồ dùng học tập, bảng phụ...


<b> C. Tiến trình tiết dạy : </b>


<b>I. Ổn định tở chức lớp : </b>


- Kiển tra học sinh vắng :
- Ổn định trật tự :


<b>II. Kiểm tra bài cũ(5 phút) :</b>


<b>? Hãy xác định INPUT,OUTPUT các bài toán sau :</b>


<b>*HS1.</b>Tìm các số có gái trị nhỏ nhất trong n số đã cho.


<b>*HS2.</b>Tính tổng của các phần tử lớn hơn 0 trong dãy n số cho trước.


<b>III. Dạy bài mới :</b>


<b>HOẠT ĐỘNG CỦA THẦY VÀ TRÒ</b> <b>KIẾN THỨC CẦN ĐẠT</b>


<i><b>Hoạt động 1 : Bài tập 1 (20phút)</b></i>


<i><b>Bài tập1</b></i>

:



<b>Hãy xác định INPUT,.OUTPUT và</b>


<b>mơ tả tḥt tốn tính tởng các số tự nhiên</b>



<b>từ 1 đến n.</b>



Viết thuật tốn đó bằng Pascal.



<b>-GV:</b>

Chiếu bài toán lên bảng và cho học sinh


đọc lại đề bài tốn.



<b>-HS:</b>

Phân tích bài tốn và tiến hành thực hiện


bài tập.



*Xác định:



+ INPUT,OUTPUT.


+ Mô tả thuật tốn:



<b>-GV:</b>

Trình bày thuật tốn bằng bảng phụ



<i><b>Bài tập1.</b></i>
<b>INPUT </b>: n


<b>OUTPUT</b>:S = 1+2+3+....+ n


<i><b>Bước 1:</b></i>Tổng  0, i  1.
<i><b>Bước 2:</b></i> Tổng  tổng + i.
<i><b>Buớc 3: </b></i>i  i + 1.


<i><b>Bước 4</b></i>: Nếu i <= n,quay lại bước2


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

(Theo nhóm)




<b>-GV</b>

:Cho HS Treo bảng và cho học sinh nhận


xét từng thuật toán trên bảng.



Chọn ra thuật toán đúng và gọn nhất.



<i><b>Hoạt động 2 (Bài tập 2)(20 phút)</b></i>
<i><b>Bài tập 2.</b></i>


<b> Cho ba số dương a,b,c.Hãy mơ tả tḥt tốn</b>
<b>cho biết ba số đó có thể là độ dài ba cạnh của một</b>
<b>tam giác hay không?.</b>


<b>-GV</b>:CHiếu đề bài tập lên bảng.


<b>-HS</b>: Đọc đề bài trên bảng và tìm dữ liệu vào<b>INPUT</b>


và dữ liệu ra.<b>OUTPUT</b>


<b>-GV:</b> Cho HS nêu quan hệ giữa ba cạnh của tam
giác.


Mơ tả thuật tốn:


<b>INPUT:</b> Ba số dương a>0,b>0,c>0.


<b>OUTPUT</b>:Thơng báo “a,bvà c có thể là ba cạnh của
một tam giác” hoặc thông báo “a,bvà c không thể là ba
cạnh của một tam giác”.


<i><b> Bước 1:</b></i> Tính a + b. Nếu a + b <= c chuyển tới bước 5.



<i><b> Bước 2:</b></i>Tính b + c. Nếu b + c <=a,chuyển tới bước 5.


<i><b> Bước 3:</b></i> Tính a + c . Nếu a + c <= b , Chuyển tới bước
5.


<i><b> Bước 4:</b></i>Thông báo “a ,b và c có thể là ba cạnh của
tam giác” và kết thúc thuật toán.


<i><b> Bước 5</b></i>: Thông báo “a,b và c không thể là ba cạnh của
tam giác” và kết thúc thuật toán.


<i><b>Tiết 24 Hoạt động 3 : Bài tập 3.</b></i>
<i><b>Bài tập3</b></i>


<b>Viết tḥt tốn tìm số lớn nhất trong ba số a,b,c.</b>


-<b>HS:</b>Đọc đề bài và tìm dữ liệu vào(<b>INPUT)</b> và dữ
liệu ra(<b>OUTPUT)</b>


-GV: Lấy ví dụ minh hoạ bằng cách cho ba số cụ thể:
a = 3, b = 2, c = 7


<i><b>Bước</b></i> <i><b>a</b></i> <i><b>b</b></i> <i><b>c</b></i> <i><b>Max</b></i>


<b>1</b> <b>3</b> <b>2</b> <b>7</b>


<b>2</b> <b>3</b> <b>2</b> <b>7</b> <b>3</b>


<b>3</b> <b>3</b> <b>2</b> <b>7</b> <b>3</b>



<b>4</b> <b>3</b> <b>2</b> <b>7</b> <b>7</b>


<b>5</b> <b>3</b> <b>2</b> <b>7</b> <b>7</b>


<b>INPUT:</b> Ba số a,b,c.


<b>OUTPUT</b>: Max = Max{a,b,c}
<i>Thuật toán:</i>


<i><b>Bước 1: </b></i>Nhập ba số a,b,c.


<i><b>Bươc 2:</b></i> Max  a.


<i><b>Bước 3</b></i>:Nếu b > Max, Max  b.
<i><b>Bước 4</b></i>:Nếu c > Max , Max  c.


<i><b>Bước5:</b></i>Thông báo kết quả Max và kết thúc thuật toán


<i><b>Hoạt động 4.( Bài tập 4.)</b></i>
<i><b>Bài tập 4.</b></i>


<b> Cho a nguyên dương. Hãy mơ tả tḥt tốn</b>
<b>cho biết a là số chẵn hay số lẻ.</b>


-<b>HS:</b>Đọc đề bài và tìm dữ liệu vào<b>INPUT</b> và dữ liệu
ra.<b>OUTPUT.</b>


<b>-GV</b>(Hỏi) Số <b>a </b>chẵn khi nào? lẻ khi nào?



<b>-HS:</b> Trả lời.


Thuật tốn.


<b>INPUT:</b> số a


<b>OUTPUT</b>: Thơng báo a chẵn hay lẽ.
Thuật toán:


<i><b>Bước 1:</b></i>Nhập a


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>-GV</b>:Chốt lại.


a mod 2 = 0 thì a chẵn.
a mod 2  0 thì a lẻ.


<i><b>Bước 3:</b></i> Ngược lại số lẽ.


<i><b>Bước 4:</b></i>Kết thúc.


<b>Củng cố kiến thức.</b>


Tự làm lại các bài toán trên và tự ra một bài tập tương tự rồi giải bài tập đó .
<b>Hướng dẫn về nhà.</b>


Giải thêm các bài tốn cịn lại trong sách bài tập.


Viết chương trình cho các bài tập trên bằng ngôn ngữ Pascal


<sub></sub><sub></sub>



<b>Tiết 25 : </b>

<b>Tìm hiểu thời gian và với phần mềm Suntime</b>



Ngày dạy:12/11/08


I

<b>/ MỤC TIÊU </b>

:



- Hs hiểu được các chức năng chinhscuả phần mềm ,sử dụng phần mềm để quan sát thời


gian địa phương của các vị trí khác nhau trên trái đất



- Hs có thể tự thao tác và thực hiện các chức năng chính của phần mềm như : tìm kiếm các vị trí trên trái
đất,có cùng thời gian mặt trời mọc, tìm vị trí có nhật thực, có thời gian tự chuyển động để quan sát hiện tượng
ngày và đêm ....


- Thơng qua phần mềm, học sinh có thái độ chăm chỉ học tập và nâng cao kiến thức của


mình.



- Thơng qua phần mềm học sinh sẽ hiểu biết thêm về thiên nhiên, trái đất, từ đó nâng cao ý thức bảo vệ môi
trường.


<b>II/ PHƯƠNG PHÁP CHỦ ĐẠO </b>: Thuyết trình, vấn đáp.


<b>III/ CHUẨN BỊ CỦA GIÁO VIÊN - HỌC SINH :</b>
<b>* GIÁO VIÊN</b> : Sách giáo khoa, máy chiếu.


<b>* HỌC SINH</b> : Sách giáo khoa.


<b>IV/ TIẾN TRÌNH LÊN LỚP :</b>
<i><b>1/ Ổn định tổ chức :</b></i>



<i><b>2/ Kiểm tra bài củ : Nhắc lại kiến thức cũ.</b></i>


3/ Bài mới :


<b>Hoạt động của Giáo viên và học sinh</b> <b>Ghi bảng</b>


- GV giới thiệu : Trong môn Địa lý, em đã biết các vị trí khác
nhau trên trái đất nằm trên các múi giờ khác nhau, phần mềm
Suntime sẽ giúp các em nhìn tồn cảnh các vị trí, thành phố của
các nước trên thế giới với nhiều thông tin liên quan đến thời gian.
Ngồi ra, phần mềm cịn cung cấp chức năng khác liên quan đến
mặt trời mọc, lặn, nhật thực, nguyệt thực...


- HS nghe GV giới thiệu.


- Gv : Nhấp đúp vào biểu tượng Suntimes V5.0.
- HS : Nghe và ghi lại.


- Gv : Giới thiệu màn hình của phần mềm là bản đồ các nước trên
thế giới. Trên bản đồ có các vùng sáng - tối khác nhau. Vùng sáng
cho biết các vị trí thuộc vùng này tại thời điểm hiện thời là ban
ngày, các vùng tối chỉ ra các vị trí vùng này là ban đêm, giữa
vùng sáng và vùng tối có một đường vạch liền đó là ranh giới


1/ Giới thiệu phần mềm :
Sách giáo khoa trang 88.


2/ Màn hình chính của phần mềm :
a) Khởi động phần mềm :



- Nhấp đúp vào biểu tượng Suntimes V5.0.
b) Màn hình chính :


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

giữa ngày và đêm. Ta gọi đường này là đường phân chia thời
gian, sáng - tối các vị trí được đánh dấu trên bản đồ là các thành
phố thủ đô của các nước.


- GV : Muốn thoát khỏi phần mềm thực hiện :
FILE <sub></sub> EXIT hoặc nhấn tổ hợp ALT + F4.
- GV : Thực hiện thoát, học sinh quan sát.


- GV : Muốn phóng to 1 vùng hình chữ nhật trên bản đồ, em có
thể dùng cách sau :


Nhấn giử nút phải và kéo thả từ một đỉnh đến đỉnh đối diện của
hình chữ nhật này. Một cửa sổ xuất hiện, hiện thị vùng biểu đồ
được đánh dấu, đã được phóng to.


- HS : Nghe GV hướng dẫn.


- GV : Chỉ vào các vùng sáng - tối trên bản đồ.


- GV : Trên bản đồ có các vùng sáng - tối khác nhau. Cho biết
thời gian hiện tại của các vùng này là ngày hay đêm. tại ranh giới
phân chia ngày và đêm, sẽ là thời điểm chuyển giao giữa đêm và
ngày (Mặt trời mọc) và ngày - đêm (Mặt trời lặn) theo sự chuyển
động của trái đất chúng ta sẽ thấy mặt trời chuyển động từ Đông
sang Tây, trên bản đồ các vùng tối “Chuyển động” theo hướng từ
Phải sang trái.



- GV : Đi theo chiều ngang của một đường thẳng từ trái sang
phải, chúng ta quan sát được thời gian hiện thời của các vị trí trên
trái đất theo đúng chiều thời gian chuyển động.


- HS : lắng nghe và ghi vào vở.


c) Thoát khỏi phầm mềm :
- Thoát khỏi phần mềm


FILE <sub></sub> EXIT hoặc nhấn tổ hợp ALT + F4.
3/ Hướng dẫn sử dụng :


a) Phóng to quan sát 1 vùng bản đồ


chi tiết.



- Nhấn giữ nút phải chuột và kéo thả


từ một đỉnh đến đỉnh đối diện của


hình chữ nhật này. Một cửa sổ xuất


hiện, hiển thị vùng biểu đồ được đánh


dấu đã được phóng to.



b) Quan sát và nhận biết thời gian ngày và
đêm :


- Trên bản đồ có các vùng sáng - tối khác
nhau, cho biết thời gian hiện tại của các
vùng này là ngày hay đêm ?


- Trên bản đồ các vùng tối chuyển động theo
hướng từ phải sang trái.



- Đi theo chiều ngang của


một đ ường thẳng từ tr ái sang phải, ta quan
sát được thời gian hiện thời của các vị trí
trên tr ái đất.


<b>V/ CỦNG CỐ :</b>


- Khởi động thoát khỏi phầm mềm như thế nào ?
- Màn h ình ch ính l à g ì ?


- Muốn phóng to quan sát một vùng bản đồ chi tiết ta làm như thế nào ?


<b>VI/ HƯỚNG DẪN VỀ NHÀ :</b>


- Xem lại các nội dung đã học.
- Ti ết học sau chúng ta thực hành.


<i><b>Tiết:26- 27</b></i>

12/11/08

<b> </b>

<i><b>Thực hành</b></i>

<i>:</i>



<b>TÌM HIỂU THỜI GIAN VỚI PHẦN MỀM SUN TIMES</b>


<b>I.Mục tiêu:</b>



Kiến thức: - Biết được màn hình chính của phần mền, bản đồ chính của phần mềm. Nắm được


tính năng xem thời gian địa phương của vị trí trên bản đồ. Có thể phóng to một khu


vực trên bản đồ. Nắm được vùng ranh giới sáng tối trên bản đồ.



Kỹ năng: -Thực hiện thành thạo cách khởi động, thốt khỏi phần mềm, cách phóng to


-Quan sat một vùng bản đồ chi tiết, nhận biết thời gian ngày và đêm.




Thái độ:

-Học sinh có thái độ chăm chỉ học tập.



-Học sinh biết them về thiên nhiên, Trái đất, có ý thức bảo vệ mơi trường


<b>II.Phương pháp chủ đạo: </b>

Làm việc theo nhóm



</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

1.Ổn định lớp:



2.Hướng dẫn thực hành:



- GV cho 3 học sinh thực hành 1 máy



- GV: Hướng dẫn học sinh khởi động phần mềm: Kích đúp vào biểu tượng Sun times v5.0.


- HS: kích đúp vào biểu tượng Sun times v5.0



- GV: Giới thiệu giao diện chính của phần mềm, màn hình chính của phần mềm.


- HS: quan sát trên máy.



- GV: Chỉ vào các vùng sáng, tối trên bản đồ: Vùng sáng( tối) cho biết vị trí thuộc vùng này


tại thời điểm hiện thời là ban ngày(đêm). Giới thiệu đường ranh giới giữa ngày và đêm.


-HS: Quan sát kỹ trên máy.



-GV: Hướng dẫn HS quan sát phóng to một vùng bản đồ chi tiết:



Nhấn giữ nút phải chuột và kéo thả từ một đỉnh đến đỉnh đối diện của hình chữ nhật này.


Giáo viên thực hành trên máy.



-HS: Làm theo hướng dẫn.



-GV: Hướng dẫn HS quan sát và nhận biết thời gian: ngày và đêm




Giáo viên chỉ trên bản đồ:Tại ranh giới phân chia ngày và đêm là thời điểm chuyển


giao giữa đêm -ngày (Mặt trời mọc)và ngày đêm(Mặt trời lặn).Các vùng tối chuyển động


theo hướng tứ phải sang trái tương ứng với với mặt trời chuyển động từ Đông sang Tây


theo sự chuyển động của trái đất. Đi theo chiều ngang của một đường thẳng từ trái sang


phải ta quan sát được thời gian hiện thời của các vị trí trên trái đất theo đúng chiều thời gian


chuyển động.



-GV: Chọn vị trí Hà Nội lúc 1giờ chiều, khi đó trung tâm nước Mỹ là nửa đêm, tại một


vùng biển sát châu Phi là lúc Mặt trời mọc(5 giờ sáng) và Mặt Trời đang lặn tại vùng biển


Thái Bình Dương.



-HS: Quan sát GV và thực hành.



-GV: Hướng dẫn HS thoát khỏi phần mềm:Nhấn

<b>File→ Exit</b>

hoặc nhấn tổ hợp phím

<b>Alt +</b>


<b>F4</b>



-HS: Làm theo hướng dẫn


<b>V. Củng cố:</b>



<b>VI. Hướng dẫn về nhà</b>

: -Thực hành lại các nội dung trên.



-Tiết sau tìm hiểu thêm về tính năng cố định thời gian Mặt trời lặn mọc


và các tính năng khác.



Tiết: 29,30 Bài 6:

<b>CÂU LỆNH ĐIỀU KIỆN</b>


Ngày soạn: 19 / 11 /08


A. <b>Mục đích yêu cầu</b>:



+ Biết sự cần thiết củacấu trúc rẽ nhánh trong lập trình;


+ Biết cấu trúc rẽ nhánh được sử dụng để chỉ dẫn cho máy tính thực hiện các thao tác phụ thuộc
vào điều kiện;


+ Hiểu cấu trúc rẽ nhánh có hai dạng: dạng thiếu và dạng đủ;


+ Biết mọi ,ngôn ngữ lập trình đều có câu lệnh để thể hiện cấu trúc rẽ nhánh


+ Hiểu cú pháp, hoạt động của các câu lệnh điều kiện dạng thiếu và dạng đủ trong Pascal;
+ Bước đầu viết được câu lệnh điều kiện trong Pascal.


B. Phương pháp: + Đàm thoại + Thuyết minh + Thảo luận nhóm


C. Chuẩn bị:Giáo viên: bảng phụ, Phấn màu,sgk, sgv,sbt -Học sinh: Sgk, sbt


D. <b>Tiến trình lên lớp</b>:


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

Em hãy cho biết thứ tự thực hiện các câu lệnh trong các chương trình đã học? Nêu một ví dụ đã
học để thấy rõ sự quan trọng của thứ tự thực hiện đó?(Vd: Rơ-Bơt nhặt rác)


Gv: Như vậy, ta thấy rằng các câu lệnh trong chương trình được thực hiện theo thứ tự từ trên
xuống dưới. Thực hiện các lệnh tuần tự từ đầu đến cuối là thứ tự thực hiện ngầm định của mọi ngôn ngữ
lập trình.Cấu trúc các câu lệnh như vậy gọi là cấu trúc điều khiển. Hơm nay ta tìm hiểu thêm một loại cấu
trúc nửa đó là cấu trúc rẽ nhánh được thể hiện bằng câu lệnh điều kiện.(vào baì mới)


III. <b>Bài mới</b>: Bài 6:

<b>CÂU LỆNH ĐIỀU KIỆN</b>



Trong cuộc sống hằng ngày, chúng ta thực hiện phần lớn các hoạt động một cách tuần tự theo thói quen
hoặc theo kế hoạch định sẵn (Vdụ: Buổi sáng An thường dậy sớm để tập thể dục...) Tuy nhiên các hoạt động của


con người thường bị tác động bởi sự thay đổi của các hồn cảnh cụ thể, vì vậy kéo theo nhiều hoạt động cũng sẽ
thay đổi cho phù hợp (Ví dụ: Nếu An bị ốm, An sẽ không tập thể dục buổi sáng)Vậy hoạt động của An phụ thuộc
vào điều kiện ( bị ốm).


<b>Hoạt động của thầy và trò</b> <b>Ghi bảng</b>


Hoạt động 1: Một vài hoạt động trong thực tế phụ thuộc


vào điều kiện. 1. Hoạt động phụ thuộc vào điều kiện. ( SGK)


Gv: Em hãy cho biết "điều kiện" trong mỗi câu sau?
a/Trên đường phố nếu gặp đèn đỏ, ta phải dừng lại.
b/Nếu Trời không mưa vào ngày chủ nhật, Long đi đá
bóng; ngược lại Long ở nhà xem phim.


Hs: Trả lời


Gv: Em hãy cho một vài vd thể hiện các hoạt động phụ
thuộc vào điều kiện.


Hs: Trả lời


Gv: nhấn mạnh từ "nếu" trong các câu trên được dùng để
chỉ một điều kiện.Các hoạt động tiếp theo sau điều kiện sẽ
phụ thuộc các điều kiện đó có xảy ra hay khơng.


Hoạt động 2: 2. Tính đúng hoặc sai của các điều kiện:


Gv: Các hoạt động tiếp theo sau điều kiện hoàn toàn phụ
thuộc vào kết quả kiểm tra điều kiện đó đúng hay sai.


GV: phân tích vd b/


Hs: phân tích ví dụ a/


Điều kiện Kiểm tra Kết quả Hđ tiếp theo
Trời mưa?


Có mưa sai Long xem


phim
Khơng


mưa


đúng Đi đá bóng


Đèn đỏ Đúng Dừng lại


Khơng đỏ Sai (Bỏ qua)


GV: Đk kiểm tra là đúng ta nói điều kiện được thỏa
mãn,ngược lại.


Đk kiểm tra là đúng ta nói điều kiện
được thỏa mãn,ngược lại.


Hoạt động 3: 3. Điều kiện và phép so sánh


Gv: Hãy nêu các phép toán so sánh đã học
Hs: =; <>; >=;<=; <; <



Gv: Các phép so sánh có kết quả đúng hoặc sai. <i><b>Phép so </b></i>


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

<i><b>sánh có vai trị quan trọng trong việc mơ tả thuật tốn và</b></i>
<i><b>lập trình,</b></i> ,ta xét vd:


Ví dụ 1:( SGK)


GV: Nêu vd ( in ra trên màn hình giá trị lớn hơn trong số 2
giá trị của các biến a,b)


GV : Nêu "điều kiện" trong yêu cầu trên?
HS: ...là phép so sánh a>b (hoặc a< b)
Gv: điều kiện này có thể đúng hoặc sai
Gv: Đưa ra câu lệnh đầy đủ:


"Nếu a>b thì in ra giá trị của biến a;


Ngược lại, in giá trị của biến b"


Gv giải thích: nếu thỏa mãn đk thực hiên lệnh 1, không
thỏa mãn thực hiện lệnh 2.


Hs: viết tương tự " Nếu a<b thì..."


Hoạt động 4: 4.Cấu trúc rẽ nhánh:


Ví dụ 2: (SGK)
Ví dụ 3: (sgk)



a/ Cấu trúc rẽ nhánh dạng thiếu:




b/ Cấu trúc rẽ nhánh dạng đủ:






Hoạt động 5: 5. Câu lệnh điều kiện


GV: Trong các ngơn ngữ lập trình, cấu trúc rẽ nhánh được
thể hiện bằng câu lệnh điều kiện.


Trong Pascal, các câu lệnh điều kiện được viết:
+ Dạng thiếu: viết với các từ khóa if và then


HS: làm vd 4 sgk


+ Dạng đủ: viết với các từ khóa if ... then ... else
GV: phân tích kĩ 2 mẫu vd, chạy thử học sinh dễ hiểu
Gv yêu cầu Hs: cho 1 ví dụ về câu lệnh điều kiện và viết
bắng ngôn ngữ Pascal


Trong Pascal, các câu lệnh điều kiện được
viết:



a/ Dạng thiếu:


If <điều kiện> then <câu lệnh>;
Ví dụ 4: (sgk)


b/ Dạng đủ:


If <điều kiện> then <câu lệnh1>
else <câu lệnh 2>;


Ví dụ 6 (sgk)


IV. <b>Củng cố</b>:


Điều
kiện?


sai
đúng


Câu lệnh


Điều
kiện?


sai
đúng


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

Ghi nhớ: cho hs nhắc lại ghi nhớ(sgk)
*Bài tập



1/ Một bài toán yêu cầu "Kiểm tra một số bất kì có chia hết cho 3 khơng? In ra trên màn hình nếu là số
chia hết cho 3"


a/ Dùng cấu trúc rẽ nhánh để thực hiện đúng yêu cầu trên.
b/ Cho biết đây là cấu trúc rẽ nhánh dạng nào?


c/ Có thể thay đổi yêu cầu bài toán trên để được 1 cấu trúc rẽ nhánh dạng đầy đủ khơng?
d/ Dùng ngơn ngữ lập trình Pacal để thực hiện các câu lệnh trên


<i>Hs: Thảo luận nhóm</i>


Giải:


a/ Nếu x chia hết cho 3 thì in ra màn hình số x chia hết cho 3;
b/ Dạng thiếu


c/ Nếu x chia hết cho 3 thì in ra màn hình số x chia hết cho 3 else in ra màn hình số x khơng chia
hết cho 3;


d/ +Cấu trúc rẽ nhánh dạng thiếu:


If (x mod 3) = 0 then writeln(x,' la so chia het cho 3');
+Cấu trúc rẽ nhánh dạng đầy đủ:


If (x mod 3) = 0 then writeln(x,' la so chia het cho 3');
else write(x,' la so không chia het cho 3');


2/ Các câu lệnh Pascal sau đây được viết đúng hay sai?
(s) a/ If x: = 7 then a = b;



(đ) b/ If x= 7 then a : = b;


(đ) c/ If x > 7 then a : = b; m: = n;
(s) d/ If x >7 then a : = b; else m: = n;
3/ Sau mỗi câu lệnh sau :


a/ If (45 mod 3) = 0 then x:=x+1;
b/ If x > 7 then x:=x+1;


giá trị của biến x ẽ là bao nhiêu nếu trước đó x=12


V. <b>Dặn dò</b>:


+Học thuộc ghi nhớ


+Làm bài tập và soạn bài thực hành


E.<b>Tổng kết rút kinh nghiệm:</b>


<i><b>Tiết 31, 32</b></i>

<i><b> </b></i>

<i><b> Ngày dạy</b></i>

<i><b> :26/11/08</b></i>



<i><b>Bài thực</b></i>

<i><b> hành số 4</b></i>

<i><b>:</b></i>

<b>SỬ DỤNG LỆNH ĐIỀU KIỆN IF … THEN </b>


<b>I. Mục đích, yêu cầu :</b>


 Luyện tập sử dụng câu lệnh <b>if …. Then</b>.


 Rèn luyện kĩ năng ban đầu về đọc các chương trình đơn giản và hiểu được ý nghĩa của thuật toán sử


dụng trong chương trình.


<b>II. Tiến trình </b>


<i><b>Tiết 30. </b></i>


<b>* Hoạt động 1: </b>Kiểm tra (4 phút)


- Gv: Hãy nêu các dạng câu lệnh trong PASCAL để thực hiện cấu trúc rẽ nhánh?
- Hs: <i>Dạng thiếu: </i> <b>IF</b><i><điều kiện></i> <b>THEN</b><i><câu lệnh></i>;


(Nếu điều kiện đúng thì thực hiện <câu lệnh>;)


<i>Dạng đầy đủ: </i><b>IF</b><i><điều kiện></i><b>THEN</b><i><câu lệnh 1> </i><b>ELSE</b><i> <câu lệnh 2></i>;


(Nếu điều kiện đúng thì thực hiện <câu lệnh1> ngược lại thực hiện <câu lệnh 2>;)
- Gv: Khi viết câu lệnh đầy đủ cần chú ý điều gì?


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

- Gv: Điều đó cũng giúp cho các em hiểu rằng trong Pascal dấu chấm phẩy (;) không phải dùng để kết
thúc câu lệnh mà dùng để phân cách các câu lệnh.


<b>* Hoạt động 2: </b>Hướng dẫn và thực hành Bài tập 1(20 phút)


<b>Hoạt động Thầy</b> <b>Hoạt động trò</b>


- Gv: Yêu cầu một HS đọc yêu cầu bài tập 1.


- Gv: Với 2 số nguyên a và b bất kỳ thì về quan hệ thứ
tự giữa chúng có mấy trường hợp xảy ra?


- Gv: Để in ra theo thứ tự tăng dần thì số nào in trước
(số nhỏ hay số lớn)?



- Gv: Trường hợp hai số bằng nhau thì sao?


- Gv: Thế thì em nào có thể nêu các bước để giải quyết
vấn đề này (diễn giải bằng ngôn ngữ thông thường).
- Gv: Trong thuật toán trên, em sử dụng câu lệnh điều
kiện để rẽ nhánh ở bước nào?


- Gv: Trên cơ sở các bước làm đó, Gv hướng dẫn học
sinh cách viết chương trình Pascal.


- Gv: Quan sát, hướng dẫn cụ thể cho nhóm nào cịn
vướng mắc. Sau khi HS làm xong GV kiểm tra và sửa
chữa nếu sai sót.


- Gv: Cho HS đọc chương trình ở câu b và so sánh hai
cách viết trên.


- Gv: Thực ra viết như SGK hướng dẫn thì chương
trình gọn hơn, tuy nhiên để bước đầu các em làm quen
với câu lệnh điều kiện thầy hướng dẫn theo cách trên
để các em dễ hiểu hơn, gần với suy nghĩ của các em
hơn vì sử dụng các câu lệnh dạng thiếu đơn giản.
-Gv Yêu cầu HS lưu chương trình lại với tên
Sap_xep.pas


-Hs: <i>Viết chương trình nhập hai số nguyên a</i>
<i>và b từ bàn phím và in hai sớ đó ra màn hình</i>
<i>theo thứ tự tăng dần.</i>



-Hs: Có 3 trường hợp a > b, hoặc a = b, hoặc a
< b.


- Hs: Số nhỏ trước, số lớn sau.
- Hs: Số nào in trước cũng được.
- Hs:


<i>Bước 1. </i>Nhập hai số nguyên a và b từ bàn
phím.


<i>Bước 2. </i>Nếu a < b hoặc a = b thì in ra màn
hình giá trị của biến a rồi đến in giá trị của biến
b.


<i>Bước 3. </i>Nếu a > b thì in ra màn hình giá trị của
biến b rồi đến in giá trị của biến a.


<i>Bước 4. </i>Kết thúc


- Hs: Ở bước 2 và bước 3.


- Hs: Theo dõi cùng với GV xây dựng chương
trình theo các bước mơ tả ở trên. Sau đó gõ vào
máy, chạy thử và kiểm tra kết quả.


- Hs: đọc và trả lời …


Chương trình trong sách dùng một câu lệnh
điều kiện dạng đầy đủ, ciịn chương trình viết
đây dùng 2 câu lệnh dạng thiếu.



<b>* Hoạt động 3: </b>Hướng dẫn và thực hành Bài tập 2(20 phút)


<b>Hoạt động Thầy</b> <b>Hoạt động trò</b>


- Gv: Yêu cầu một HS đọc yêu cầu bài tập 2. -Hs: <i>Viết chương trình nhập chiều cao của hai</i>


Program sapxep;
Uses crt;


Var : a, b: integer;
Begin


Clrscr;


Write (‘Nhap so a = ’); Readln(a);
Write (‘Nhap so b = ’); Readln(b);
Write (‘Thu tu hai so la: ‘);


If a <= b thenwrite (a,‘ ‘,b);
If a > b then write (b,‘ ‘,a);
Readln;


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

- Gv: Cho HS thực hiện lần lượt các yêu cầu của bài
tập.


- Gv: Hãy quan sát kết quả xử lí và cho nhận xét.
- Gv: Như vậy chương trình đã xử lí vấn đề khơng tốt.
Hãy đọc lại chương trình và tìm xem chỗ nào chưa
đúng gây nên lỗi này?



- Gv: Đây là lỗi về ngữ nghĩa của chương trình. Thoạt
nhìn theo cách nghĩ thơng thường ta thấy có lí, đảm
bảo các trường hợp vì khi xét điều kiện thứ 2 thì đã
loại đi điều kiện trước đó do khơng thỏa mãn, nhưng
đây là máy xử lí nên nó “rất máy móc”, khi thực hiện
câu lệnh thứ 2 máy chẳng nhớ “đã xét trường hợp
“Long > Trang” nên vẫn xét hết các trường hợp xảy ra.
Do đó, trong trường hợp này nếu khơng thỏa mãn điều
kiện “Long < Trang” thì máy sẽ in kết quả “Hai bạn
bằng cao bằng nhau” cho dù đã in kết quả “Bạn Long
cao hơn” khi thực hiện câu lệnh trước đó.


- Gv: Trường hợp này các em sẽ xử lí như thế nào?
- Gv: Khi xây dựng các bước giải chúng ta kiểm tra kỹ
kết quả hoạt động của các câu lệnh.


- Gv: giảng giải thêm cách sử dụng các câu lệnh If ..
then lồng nhau:


<i>If <điều kiện 1> then <Câu lệnh 1></i>
<i>Else </i>


<i>If <điều kiện 2> then <Câu lệnh 2></i>
<i>Else < Câu lệnh 3></i>


<i>bạn Long và Trang, in ra màn hình kết quả so</i>
<i>sánh chiều cao của hai bạn, chẳng hạn “Bạn</i>
<i>Long cao hơn”.</i>



Hs: Thực hiện:
a) Gõ chương trình


b) Lưu với tên Aicaohon.Pas → Dịch.
c) Chạy thử với các bộ dữ liệu.


- Hs: Trường hợp bộ dữ liệu (1.6, 1.5) máy cho
hai kết quả <i>“Bạn Long cao hơn”</i> và <i>“Hai bạn</i>
<i>cao bằng nhau”</i>.


- Hs: Với cách viết như trên thì khi xử lí trường
hợp chiều cao bạn Long cao hơn sẽ luôn cho ra
hai kết quả:


1. Kết quả từ câu lệnh:


If Long > Trang then


write (‘Ban Long cao hon’);


2. Kết quả từ câu lệnh:
If Long < Trang then


write (‘Ban Trang cao hon’)
Else write (‘Hai ban cao bang nhau.’)


- Hs: Ta viết lại như sau:
If Long > Trang then


write (‘Ban Long cao hon’)


Else


If Long < Trang then


write (‘Ban Trang cao hon’)
Else write (‘Hai ban cao bang nhau.’)


<b>* Hoạt động 4: </b>Hướng dẫn về nhà (1 phút)


- Về nhà các em tìm hiểu và xây dựng chương trình với yêu cầu của bài tập 3.


Program Aicaohon;
Uses crt;


Var : Long, Trang: Real;
Begin


Clrscr;


Write (‘Nhap chieu cao cua Long: ’); Readln(a);
Write (‘Nhap chieu cao cua Trang: ’); Readln(b);
If Long > Trang then write (‘Ban Long cao hon’);
If Long < Trang then write (‘Ban Trang cao hon’)
Else write (‘Hai ban bang nhau.’)


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

<i><b>Tiết 32. </b></i>


<b>* Hoạt động 5: </b>Hướng dẫn và thực hành Bài tập 3(30 phút)


<b>Hoạt động Thầy</b> <b>Hoạt động trị</b>



- Gv: Treo bảng phụ và nói <i>“Đây là một chương</i>
<i>trình nhập ba số dương a, b, c từ bàn phím, kiểm tra</i>
<i>và in ra màn hình kết quả kiểm tra ba sớ đó có thể là</i>
<i>độ dài các cạnh của một tam giác không?”</i>


- Gv: Ba số dương bất kỳ khi nào thì chúng là độ dài
các cạnh của một tam giác? (nhớ lại bất đẳng thức
trong tam giác)


- Gv: Em nào có thể nêu được ý tưởng giải thuật của
chương trình?


- Gv: Hãy đọc chương trình và tìm hiểu ý nghĩa các
câu lệnh của chương trình.


- Gv: Qua tìm hiểu em thấy bằng cách nào để người
ta có thể kiểm tra đồng thời ba biểu thức so sánh?
- Gv: Người ta sử dụng từ khóa AND (và) để kết nối
nhiều phép so sánh đơn giản thành pmột phép so
sánh phức hợp. Giá trị của phép so sánh này là đúng
khi tất cả các phép so sánh đơn giản đều có giá trị
đúng. Ngược lại, chỉ cần một trong các phép so sánh
tồn phần có giá trị sai thì nó có giá trị sai


- Gv: Hãy nhập chương trình vào máy và chạy thử
với các bộ dữ liệu khác nhau.


- Gv: Quan sát và hướng dẫn HS thực hành.
- Gv: Kiểm tra một vài máy → nhận xét.



-Hs: Quan sát nội dung chương trình viết trên
bảng phụ .


- Hs: Khi tổng hai cạnh bất kì lớn hơn cạnh cịn
lại.


- Hs: Nếu (a+b>c) và (a+c>b) và (b+c>a)thì a, b,
c là độ dài ba cạnh của một tam giác; ngược lại
thì khơng.


- Hs: đọc chương trình và nêu ý nghĩa từng câu
lệnh.


- Hs: dùng từ khóa AND.
- Hs: nghe và ghi nhớ …


- Hs: Thực hành …
Program Ba_canh_ta_giac;


Uses crt;


Var : a, b, c: Real;
Begin


Clrscr;


Write (‘Nhap ba so a, b, và c: ’); Readln(a,b,c);
If (a+b>c) and (a+c>b) and (b+c>a) then



Write(‘a, b va c la do dai 3 canh mot tam giac’)
Else


Write(‘a, b va c khong la do dai 3 canh mot tam giac’)
Readln;


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

Ngày soạn 03/12/2008.


TIẾT 33: ĐỀ KIỂM TRA THỰC HÀNH (1 TIẾT)
I/ Mục đích, yêu cầu:


Viết được câu lệnh If...then trong chương trình.


Kỹ năng đọc chương trình đơn giản và hiểu được thuật tốn trong chương trình.
II/ Ma trận đề:


Thơng hiểu nhận biết vân dụng Tổng


Cấu trúc chương
trình pascal


1


4
Câu lệnh If...then 1


2


1



2


1


2
III/ Đề bài:


Câu 1(4 điểm): Viết chương trình in ra màn hình dịng chữ “CHÀO CÁC BẠN”.


Câu 2 (6 điểm): Viết chương trình nhập vào 2 số tự nhiên, in ra màn hình kết quả so sánh 2 số, chẳng hạn
số nào lớn hơn.


IV/ Thang điểm và đáp án:
Program cau1;(4 điểm)
Uses crt;


Begin


Writeln(‘ CHAO CAC BAN’);
Begin.


Program cau2;(6 điểm)
Uses crt;


Var ST1, ST2: Real;
Begin


Clrscr;


Write(‘ Nhập số thứ nhất:’); readln(ST1);


Write(‘ Nhập số thứ hai:’); readln(ST2);
If ST1>ST2 then writeln(‘ ST1 lon hon’);
If ST1<ST2 then writeln(‘ST2 lon hon’)


Else writeln(‘ hai so bang nhau’);
Readln


End.
Tiết


36-Họ tên HS

KIỂM TRA HỌC KÌ I



lớp 8..

MÔN : TIN HỌC


Điểm Lời ph ê của giáo viên


<i><b>Phần 1: Trắc nghiệm khách quan :</b></i>


<b>Câu 1</b>

. Đánh dấu “X” vào ô đúng hoặc sai ở bảng sau theo nhận xét cả em:



TT Nội dung

Đúng

Sai



1

Cặp lệnh Writeln(‘100’) và Writeln(100) tương đương với nhau


2

Dấu (;) dùng để phân cách các lệnh trong Pascal



</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

4

Xâu kí tự tối đa gồm 255 kí tự


2. Hãy chọn đáp án đúng nhất



<b>Câu 2. Trong các tên sau đây, tên nào là không hợp lệ trong ngôn ngữ Pascal: </b>




a. 8a

b. tamgiac

c. programand

d. a



<b>Câu 3. Khi đã soạn thảo xong để dịch chương trình ta sử dụng tở hợp nào: </b>



a. Ctrl – F9

b. Alt – F9

c. F9

d. Ctrl – Shitf – F9



<b>Câu 4. Chương trình Pasal nào khơng hợp lệ:</b>



a. Chương trình 1 : Begin b. Chương trình 2 : Begin



End Writeln(‘Chao cac ban’);


End;



c. Chương trình 3 : Begin d. Cả 3 chương trình trên


Program CT-Tich;



End;



<b>Câu 5.</b>

<b>Writeln (‘Ban hay nhap so vao’); . Ý nghĩa của hai câu lệnh trên là:</b>

a. Thơng báo ra màn hình dịng chữ: “Ban hay nhap so vao”.



b. Yêu cầu người sử dụng nhập giá trị cho biến số.



c. Thông báo ra màn hình dịng chữ: “Ban hay nhap nam sinh” và yêu cầu người sử dụng nhập giá trị cho


biến NS



d. Tất cả đều sai.



<b>Câu 6</b>

. Giả sử A được khai báo là biến với dữ liệu số kiểu Byte, các phép gán nào sau đây không hợp lệ:


a. A :=4 b. A := ‘HaNoi’ c. A := 257 d. Cả a, b, c đều sai.




<b>Câu 7</b>

. Trong Pascal, khai báo nào sau đây là đúng:



a. Var Tb : real b. Var R = 30 c. Var 4hs : integer d. Cofnst X : real


<b>Câu 8</b>

. Các câu lệnh sau câu nào đúng :



a. If x := 7 then a = b; b. If x > 5; then a :=b;



c. If x > 5 then a := b; else m := n; d. If x > 5 then a := b else m := n;


<b>Phần 2: Phần tự luận</b>

<b> :</b>

<b> </b>

<b> </b>



<i><b>Câu 1: </b></i>

<b> Viết các biểu thức toán sau đây dưới dạng biểu thức Pascal: (1 điểm)</b>


A

.


10+<i>x</i>¿2
¿
¿
¿


=>...


B.

(a+b)

2

<sub>.(d+e)</sub>

3

<sub> =></sub>



………...
………...


<b>Câu 2:</b>

(3 điểm)



Viết chương trình nhập điểm ‘DTB’ bộ môn Tin học:




Diem>=8.0

<sub></sub>

Gioi; diem>=6.5

<sub></sub>

Kha;

diem>=5.0

<sub></sub>

TB;

diem>=3.5

<sub></sub>

; dưới 3.5 kém.


từ bàn phím và hiển thị ra màn hình kết quả đó.



</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

...
...


<b>II/ Ma trận đề</b>:


Thơng hiểu nhận biết vân dụng Tổng


Cấu trúc chương
trình pascal


2


0.5đ
2


(0.5đ)


1(a,b)




5c(4đ)
Câu lệnh If...then 2


0.5đ
2



(0.5đ)
1




5c(6đ)


Tổng cọng 4 (2đ) 4 (2đ) 2 (6đ) 10 câu( 10đ)


<b>Đáp án</b>:


I/Trác nghiệm: mỗi câu 0,5 điểm


1 2 3 4 5 6 7 8


S,Đ,Đ,Đ C B D A B A D


Phần II.Tự luận
Câu 1(2đ)


-Viết đúng mỗi câu 1đ
Câu 2(4 điểm)


-Viết đươc đầy đủ cấu trúc chương trình gồm 3 phần 1đ. Program,begin,end.
-Khai báo biến 0,5 đ


-Viết đúng từng câu lệnh điều kiện ( 5 phần mỗi phần 0.5 đ)<sub></sub> 2,5 đ.
( IF...then...else...)<sub></sub> gioi,kha,tb,yeu,kem.


<i>Tuần:.... </i> <i>Ngày : 10/01/09</i> <i> Tiết 37, 38: </i>



<i><b>CÂU LỆNH LẶP</b></i>


<b>I. Mục tiêu:</b>
<b>a) Kiến thức:</b>


<b>- </b>Biết nhu cầu cần có cấu trúc lặp trong ngơn ngữ lập trình;- Biết ngơn ngữ lập trình dùng
cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại cơng việc nào đó một số lần;- Hiểu
hoạt động của câu lênh lặp với số lần biết trước for ... do trong Pascal;


- Biết lệnh ghép trong Pascal.


<b>b) Kỹ năng:</b>


- Viết đúng lệnh for...do trong một số tình huống đơn giản;- Hiểu cách viết đúng các quy
tắc, cú pháp trong ngôn ngữ cụ thể khi dùng vòng lặp for;- Đọc hiểu được chương trình có
sử dụng vịng lặp for...do;


<b>c) Thái độ:</b>


- Nhận thức được vai trò quan trọng của vòng lặp xác định for...do là giúp thực hiện
các công việc lặp lại nhiều lần một cách khoa học, nhanh chóng, khơng dài dịng,
tránh nhàm chán, dễ sai sót và tốn thời gian;


- Có ý thức trong học tập.


<b>II. Chuẩn bị:</b>


</div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

- Một số ví dụ bài tập về vòng lặp for...do;
HS: - SGK, vở để ghi;



<b>III. Lưu ý sư phạm:</b>


- Dạy để học sinh hiểu cách sử dụng vịng lặp for...do trong mọi ngơn ngữ lập trình;- Ứng
dụng vịng lặp được minh họa bằng ngôn ngữ Pascal, không phải nhất nhất áp đặc học
sinh vào ngôn ngữ Pascal;- Không nên đưa vào các kiến thức ngoài SGK quá nhiều nhằm
tránh gây quá tải đối với học sinh.


<b>IV. Hoạt động dạy và học:</b>


<b>A.Kiểm tra bài cũ:</b> câu điều kiện, cấu trúc rẽ nhánh


<b>B.Bài mới:</b>


<b>1. Hoạt động 1: Giới thiệu các công việc phải lặp nhiều lầnMục tiêu</b>: giúp học sinh
nhận biết và phân biệt được các công việc lặp lại nhiều lần trong đời sống hằng ngày .


<b>HĐ giáo viên</b> <b>HĐ học sinh</b> <b>Nội dung</b>


Câu hỏi: Trong đời sống hằng
ngày có rất nhiều cơng việc được
lặp đi lặp lại, em nào cho biết
một vài ví dụ?


GV cho thêm vào ví dụ: mỗi
sáng thứ 2 đều chào cờ đầu
tuần, hoặc cô giáo lặp đi lặp lại
việc gọi học sinh lên trả bài và
ghi điểm, cô giáo sẽ ngừng lại
cho đến khi đã vào điểm cho tất


cả học sinh....


GV chốt lại: đó là các công việc,
các hoạt động được thực hiện
bằng cách lặp đi lặp lại nhiều
lần, được chia làm 2 kiểu lặp:
lặp với số lần nhất định, biết
trước và lặp với số lần khơng xác
định được.


Câu hỏi: ví dụ nào là lặp với số
lần xác định được, ví dụ nào là
lặp với số lần khơng xác định
được?


GV: Nhận xét đánh giá


- GV cho học sinh ghi vào vở


Thảo luận trả lời:


-Tiếng gà gáy mỗi sáng,
tiếng trống trường sau
mỗi tiết học, đánh răng
trước khi đi ngủ và mỗi
sáng thức dậy...


- Hằng ngày em đi
học ...



HS lắng nghe


Một vài học sinh trả lời
HS Lắng nghe


HS ghi vào vở


<b>1. Các công việc phải thực</b>
<b>hiện nhiều lần: </b>


- lặp với số lần nhất định và
biết trước: đánh răng mỗi
ngày 2 lần, ngày ăn cơn 3
lần...


- lặp với số lần không thể
xác định trước: học cho đến
khi thuộc bài...


<b>3. Hoạt động 3: Cấu trúc câu lệnh lặp</b>
<b>Mục tiêu:</b>


<b>- </b>Biết cấu trúc câu lệnh của vòng lặp biết trước số lần lặp for...do
- Hiểu nguyên tắc hoạt động của câu lệnh lặp


- Hiểu câu lệnh đơn, câu lệnh ghép.


<b>Cách thực hiện: </b>Sử dụng ngôn ngữ pascal để minh họa ví dụ


<b>HĐ giáo viên</b> <b>HĐ học sinh</b> <b>Nội dung</b>



- Trở lại với VD2: minh họa


</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

Cấu trúc lặp đã được mô
tả bằng câu lệnh lặp
của ngôn ngữ pascal.
Program Lap;


Var i: integer;
Begin


For i:= 1 to 5 do


Writeln(‘Day la lan lap thu:’,
i);


Readln;
End.


Cùng HS phân tích cú pháp:
+ Giá trị đầu, giá trị cuối luôn là
kiểu dữ liệu gì?


+ biến đếm: biến đầu tiên được
gán giá trị đầu, mỗi lần thực
hiện thì biến đếm tăng 1 đơn vị
từ giá trị đầu đến giá trị cuối.
Vậy biến đếm có kiểu dữ liệu gì?
Giá trị cuối như thế nào so với
giá trị đầu?



- Cùng học sinh phân tích hoạt
động: Đầu tiên biến đếm gán
bằng giá trị đầu, sau đó giá trị
biến đếm tăng dần 1 đơn vị từ
giá trị đầu đến giá trị cuối. và
câu lệnh được thực hiện mỗi lần
tăng biến đếm cho đến khi biến
đếm vượt quá giá trị cuối thì kết
thúc.


<b>GV Cho chạy chậm VD3:</b>
<b>Cho HS ghi hoạt </b>động vào vở.


Cho HS ghi ví dụ vào vở
* Bài tập ví dụ: Dùng lênh
for...do viết đoạn lệnh nhập tên
và hiển thị ra màn hình 40 bạn
trong lớp em.


- Gọi một HS lên bảng viết
Câu hỏi: Ở VD2 và bài tập bạn
làm em thấy trong câu lệnh lặp
có gì khác nhau?


GV chốt lại: sau khóa do có
nhiều câu lệnh thì phải gói trong
khối begin...end. Begin...end
này được coi là câu lệnh ghép
của pascal, sau end là dấu ;


*Cho HS ghi đề ví dụ 4 vào vở


- HS lên viết cấu trúc
- Thảo luận nhận xét
- Dữ liệu kiểu số
nguyên


- HS trả lời: kiểu


nguyên, giá trị cuối >=
giá trị đầu


- HS ghi vào vở
- HS lắng nghe
HS theo dõi


HS Ghi vở
HS theo dõi


HS ghi ví dụ vào vở
HS viết vào giấy nháp


<b>-Một HS lên </b>
<b>bảng viết</b>


- <b>HS thảo luận trả lời</b>


+ VD2: sau do là 1 câu
lệnh



+ Bài tập: sau do là các
câu lệnh nằm trong khối
Begin...end.


HS lắng nghe ghi vào vở
HS ghi đề vào vở


HS trả lời


- HS tự làm vào
giấy nháp
HS ghi đề vào vở
HS trả lời


- HS tự làm vào giấy
nháp


- 2 HS lên bảng


đầu>


to <giá trị cuối> do <câu
lệnh>;


<b>Trong đó:</b>


- <i>biến đếm:</i> là biến thường
có kiểu nguyên;


- <i>Giá trị đầu, giá trị cuối</i>: là


các biểu thức có cùng kiểu
với biến đếm. Giá trị cuối
phải lớn hơn hoặc bằng giá
trị đầu;


<i>Hoạt động:</i> Biến đếm gán
bằng giá trị đầu, sau đó giá
trị biến đếm tăng dần 1 đơn
vị từ giá trị đầu đến giá trị
cuối. và câu lệnh được thực
hiện mỗi lần tăng biến đếm
cho đến khi biến đếm vượt
quá giá trị cuối thì kết thúc.


<b>Ví dụ một chương trình</b>
<b>viết bằng Pascal:</b>


* <b>Chú ý:</b> Câu lệnh có thể là
câu lệnh đơn hoặc câu lệnh
ghép


4. Tính tổng và tích bằng
câu lệnh lặp:


Ví dụ 4: Tính tổng của N số
tự nhiên đầu tiên, N được
nhập từ bàn phím.


Program Tinh_tong;
Var N, i : integer;


S: real;
Begin


Write(‘Nhap so N = ’);
readln(N);


S:= 0;


For i := 1 to N do S:=
S+i;


Writeln(‘Tong cua’,N, ‘so
tu nhien


dau tien S=’, S);
End.


Ví dụ 5: Tính tích của N số
tự nhiên đầu tiên.(Kí hiệu:
N!=1.2.3...N)


Program Tinh_giai_thua;
Var N, i : integer;


</div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23>

và làm.


- Gọi một HS nhắc lại thuật tốn
tính tổng N.


- GV hướng dẫn cách làm :


+ Tổng N rất lớn nên khai báo
kiểu dữ liệu gì?


+ gán S 0, giá thị đầu = 1thi
S:= S+1


*Cho HS ghi đề ví dụ 5 vào vở
và làm.


- Giải thích tích N số tự nhiên
đầu tiên là N!=1.2.3...N
- Gọi một HS trình bày thuật
tốn tính tổng N.


- GV hướng dẫn thuật tốn và
cách làm :


+ Tích N rất lớn nên khai báo
kiểu dữ liệu gì?


+gán P 1 và khi giá trị đầu =1
thì P:=P*1


* GV gọi 2 HS lên bảng giải
- GV sửa bài và cho HS ghi vào
vở.


* Nhắc nhở HS: cấu trúc lặp
được được viết ở mọi ngơn ngữ
lập trình, ta đang viết bằng


pascal, ta cũng có thể viết bằng
ngôn ngữ khác( C, java, basic...)


- HS nhận xét, bổ
sung


- Ghi vào vở
HS lắng nghe


Write(‘Nhap so N = ’);
readln(N);


P:= 1;


For i := 1 to N do P:=
P*i;


Writeln(N, ‘! = ’,P );
End.


* Chú ý: N! là số rất lớn nên
cần khai báo biến chứa giá
trị của nó đủ lớn


<b>V. Củng cố dặn dò: </b>


- Cũng cố lại câu lệnh lặp
- Cho bài tập về nhà


- Làm các bài tập ở sách giáo khoa



- Làm các bài tập trong bài thực hành 5 để tiết sau thực hành.
- Nhận xét tiết học, đánh giá tiết học


Tiết 39-40 <b>BÀI TẬP 3</b> <b>17/01/09</b>


<i><b>1. Mục đích, yêu cầu</b></i>


 Viết được được câu lệnh điều kiện <b>if...then</b> trong chương trình;


 Rèn luyện kĩ năng ban đầu về đọc các chương trình đơn giản và hiểu được ý nghĩa của thuật toán sử


dụng trong chương trình.


<i><b>2. Những điểm cần lưu ý và gợi ý dạy học</b></i>


Bài này là bài đầu tiên HS thực hành sử dụng lệnh if... then. Do vậy, các ví dụ cần đơn giản, dễ hiểu để HS
dễ dàng nhận ra ý nghĩa, hoạt động của câu lệnh điều kiện, biểu thức điều kiện, câu lệnh trong cấu trúc rẽ nhánh.


<i><b>3.Nội dung</b></i>


Với bài tập 3, HS cần biết điều kiện để ba số dương a, b, c là ba cạnh của một tam giác thì tổng hai cạnh phải lớn
lớn cạnh còn lại, nghĩa là phải đồng thời thoả mãn ba điều kiện a + b > c, b + c > a và c + a > b. GV hướng dẫn
HS về cách biểu diễn ba điều kiện này trong Pascal:


</div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24>

Điểm khó của bài này là học sinh biết chuyển biểu thức điều kiện toán học sang biểu diễn trong Pascal. Cần giải
thích để HS hiểu dùng phép quan hệ andlà để đảm bảo cả ba điều kiện a + b > c, b + c > a và c + a > b đồng thời
thoả mãn; Việc phải sử dụng dấu ngoặc tròn trong phép so sánh trên là để đảm bảo thứ tự ưu tiên thực hiện phép
toán và để đảm bảo tham số của phép and (và or) chỉ có thể là giá trị đúng hoặc sai (không là số).



Cần cho HS đọc, thảo luận kĩ để hiểu chương trình này. Bài tốn này là một trong các bài toán yêu cầu
trong chuẩn kiến thức, kĩ năng. Sau khi học bài này, HS phải hiểu và phải tự viết chương trình giải bài tốn tương
tự (ví dụ kiểm tra tính chất của tam giác dựa trên số đo của cạnh: cân, đều, vuông).


Để HS luyện tập thêm về câu lệnh điều kiện, phép so sánh, có thể yêu cầu HS viết chương trình cho phép
nhập điểm bài kiểm tra của một bạn nào đó, sau đó thực hiện:


- Nếu điểm nhỏ hơn 5, in ra dòng chữ "Ban can co gang hon";


- Nếu điểm lớn hơn hoặc bằng 5 và nhỏ hơn 6.5, in ra dòng chữ "Ban dat diem trung binh";
- Nếu điểm lớn hơn hoặc bằng 6.5 và nhỏ hơn 8, in ra dòng chữ "Ban dat diem Kha";
- Nếu điểm lớn hơn hoặc bằng 8, in ra dịng chữ "Hoan ho ban dat diem Gioi".


Hoặc một ví dụ khác là yêu cầu HS viết chương trình giải phương trình bậc nhất ax + b = 0, với a  0, a, b nhập từ


bàn phím. Lưu ý, phương trình bậc nhất một ẩn số được giới thiệu trong chương trình mơn Tốn lớp 8 (học kì II).
Do vậy, nếu HS chưa được học phương trình này ở mơn Tốn, GV nên dành một vài phút để HS làm quen với
khái niệm này.


Tiết : 41-42 Bài thực hành 5 44/02/09


SỬ DỤNG LỆNH LẶP FOR ...DO



<b>A.Mục tiêu: </b>


Viết được chương trình có sử dụng vòng lặp FOR...DO
Sử dụng được câu lệnh ghép.


Rèn luyện kĩ năng đọc hiểu chương trình có sử dụng vịng lặp FOR...DO



Hình thành kĩ năng thực hành chính xác, biết chỉnh sửa chương trình để làm đẹp kêt quả


<b>B. Phương pháp: Luyện tập, thực hành trên máy- Đặt vấn đề để học sinh trao đổi và đưa nhận xét. Tận</b>
dụng vốn hiểu biết “ một cách tự nhiên của học sinh


<b>C. Chuẩn bị của GV, HS </b>


<b>1. Chuẩn bị của GV</b>:- Giáo viên: Phấn màu, sách, máy chiếu projector, máy tính


- Chuẩn bị sẵn một số của các ví dụ SGK-Chuẩn bị thêm các bài tập minh hoạ


<b>2. Chuẩn bị của HS:-S</b>ách, vở ,viết.


<b>D. Tiến trình lên lớp:</b>
<b>I. Ổn định.</b>


<b> II.Kiểm tra bài cũ: (</b>Kiểm tra trong quá trình thực hành)


<b> III. Bài mới: </b>Bài thực hành 5


<b>Hoạt động của thầy và trò</b> <b>Ghi bảng</b>


<b>Hoạt động 1</b>:Bài tập mở đầu


Cho học sinh viết chương trình <b>chào hỏi</b> các bạn
trong lớp


(Để cho học sinh chọn giá trị cuối tùy ý
Thay đổi nhiều lần khác nhau các giá trị cuối )



Em có nhận xét gì về số lần nhập tên và hiển thị lời
chào khi thay đổi giá trị cuối.?


Với giá trị cuối quá lớn làm thế nào để ngắt chương
trình?


(Dùng tổ hợp phím Ctrl+ Break)


</div>
<span class='text_page_counter'>(25)</span><div class='page_container' data-page=25>

<b>Hoạt động 2 </b> Bài 1: sách giáo khoa


Cho học sinh Tìm hiểu các câu lệnh trong chương
trình, dịch chương trình và sửa lỗi nếu có


Học sinh chay chương trình với các giá trị nhập vào
lần lượt bằng 1,2,...10. quan sát kết quả nhận được
trên màn hình


Nhap so n=7
bang nhan7
7X 1= 7
7X 2= 14
7X 3= 21
7X 4= 28
7X 5= 35
7X 6= 42
7X 7= 49
7X 8= 56
7X 9= 63
7X10= 70



Có nhận xét gì với kết quả của chương trình nhận
được khi n=7


Để khắc phục các điểm yếu trên ta nên chỉnh sửa như
thế nào?


<b>Hoạt động 3:</b> Chỉnh sửa chương trình làm đẹp kết


quả trên:


Hướng dẫn cho học sinh sử dụng các lệnh: GotoXY,
WhereX và WhereY


Dịch và chạy chương trình khi sử dụng các lệnh :
Nhap so n=7


bang nhan 7
7 X 1= 7
7 X 2= 14
7 X 3= 21
7 X 4= 28
7 X 5= 35
7 X 6= 42
7 X 7= 49
7 X 8= 56


░║ readln;
░║ end.



<b>Baì 1:</b> BANGNHAN.PAS ═════╗


║program bangnhan;
║uses crt;
║var n,i:integer;
║begin
║ clrscr ;
║ write('Nhap so n = ');readln(n);
║ writeln;
║ writeln('bang nhan',n);
║ writeln;
║ for i:=1 to 10 do
║ writeln(n,'X',i:2,'=',n*i:4);
║ readln;
║ end .


<b>Bài 2: </b>


║ Program Bangnhan;
║uses crt;
║var n,i:integer;
║begin
║clrscr ;
║ write('Nhap so n = ');readln(n);
║ writeln;
║ writeln('bang nhan ',n);
║ writeln;
║ for i:=1 to 10 do
║ begin
║ gotoxy(10,wherey);



writeln(n,'X',i:2,'=',n*i:4);


║ writeln;
║ end;

║ readln;


<b>Bai tập 3:</b>


</div>
<span class='text_page_counter'>(26)</span><div class='page_container' data-page=26>

7 X 9= 63
7 X 10= 70


Hoạt động 4: Lồng câu lệnh FOR
Học sinh nhập bài tập 3 vào máy
0 1 2 3 4 5 6 7 8 9


10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
Hoạt động 5: Tổng Kết


║ write (10*i+j:3);
║ writeln;


║ end;
║ readln;
║ end.


TỔNG KẾT


(SGK)




<b>IV. Củng cố: </b>


<b>1)</b>Cấu trúc lặp với lần lặp biết trước ta sử dụng bằng câu lệnh Pascal nào?


2)Có thể lồng các câu lệnh For được khơng? Lúc nầy biến đếm phải như thế nào?
3) Nêu ý nghĩa của các câu lệnh: GotoXY, WhereX và WhereY


<b>V. Dặn dò, hướng dẫn học sinh học tập ở nhà:</b>


Đọc bài tính gần đúng của số Pi (Nhập chương trìn vào máy)
Xem bài: <b>Lặp với số lần chưa biết trước.</b>


Cho biết kết quả của mỗi vòng lặp sau


cautruclap cautruclap1 cautruclap2


program cautruclap;
uses crt;



var n : integer;
i: integer;
Begin


clrscr;
n:=10;


for i:=1 to n do
begin


write(i:4);
i:=i+1;
end;


readln;
end.


program cautruclap1;
uses crt;


var n : integer;
i: integer;
Begin


clrscr;
n:=10;


for i:=1 to n do
begin



n:=5; write(i:4);
end;


readln;
end.


program cautruclap2 ;
uses crt;


var n : integer;
i: integer;
Begin


clrscr;
n:=10;


for i:=1 to n do
begin


write(i:4);
i:=i+2;
end;


readln;
end.
<b>E. Rút kinh nghiệm : </b>


Tuần 25- Ngày soạn:...


Ngày giảng:....11/02/09...



<b>Tiết 49,50 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC</b>


I.Mục tiêu:


- Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình


- Biết ngơn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính thực hiện lặp đi
lặp lại cơng việc đến khi một điều kiện nào đó được thỏa mãn;


</div>
<span class='text_page_counter'>(27)</span><div class='page_container' data-page=27>

II.Chuẩn bị GV: Phòng máy, bảng phụ.HS: Đọc và suy ngẫm trước các ví dụ SGK
III. Tiến trình bài dạy:


<b>1.Ổn định lớp:</b>
<b>2.Kiểm tra bài cũ:</b>


-Giáo viên:


+ Viết câu lệnh với vòng lặp FOR...DO?


+ Câu lệnh Pascal sau có hợp lệ khơng? Vì sao?
For i:=100 to 1 do writeln(‘A’);


3.Bài mới: ĐVĐ như SGK


<b>Hoạt động của thầy và trò</b> <b>Nội dung kiến thức</b>


Hoạt động 1: Các hoạt động lặp với số lần chưa biết trước


GV: -Nêu một số ví dụ về hoạt động lặp với số lần chưa biết trước.


-GT ví dụ 1 trong SGK là một hoạt động trong đời sống và
yêu cầu HS đọc VD1


HS: nghiên cứu VD1


GV: ? Trong VD1 bạn Long thực hiện hoạt động nào nhiều lần?
HS: Gọi điện cho bạn Trang


GV: ? Bạn Long gọi điện mấy lần
HS: Chưa thể biết


GV: Nhấn mạnh: Số lần gọi chưa thể biết trước được, có thể một
lần, có thể hai hoặc nhiều hơn nữa. Điêu kiện để kết thúc hoạt
động lặp đó là có người nhấc máy


GV: giới thiệu VD2 là một bài tốn khoa học.


HS:( nhóm đôi) Nghiên cứu VD2 và trả lời yêu cầu của VD2 và
điều kiện để thực hiện phép cộng với số tiếp theo hay dừng
GV: Nhấn mạnh: Cần cộng bao nhiêu số tự nhiên đầu tiên để ta
nhận được tổng Tn nhỏ nhất lớn hơn 1000; Và Đk: Trong từng
bước cần phải kiểm tra tổng đã lớn hơn 1000 hay chưa?


GV: Giới thiệu thuật toán như SGK


Và chốt: Việc lặp lại một nhóm hoạt động với số lần chưa xác
định trước phụ thuộc vào một điều kiện cụ thể có được thỏa mãn
hay khơng


- Đưa ra sơ đồ hoạt động của cấu trúc lặp



1.Các hoạt động lặp với số lần chưa biết
trước:


Ví dụ 1: SGK


Ví dụ 2: SGK




<b>Sai</b>




<b> </b>


<b> Đúng </b>


<b>Hoạt động 2: Ví dụ về lặp với số lần chưa biết trước</b>


GV: giới thiệu cấu trúc câu lệnh While... do
HS: ghi bài


GV giới thiệu hoạt động của vòng lặp như SGK


- Nêu u cầu bài tốn? ( Tìm n nhỏ nhất để 1/n < 0,003)và
xácđịnh đầu vào, đầu ra


HS: thảo luận nhóm đơi và trả lời


Đầu vào: Sai số 0,003


Đầu ra: n


- GV hướng dẫn hs viết thuật toán và chốt lại các bước
B1: Nhập sai số


B2: n← 1, x ← 1/n


2.Ví dụ về lặp với số lần chưa biết trước:
a) Cấu trúc:


<b>While</b> < Điều kiện> <b>do</b> < Câu lệnh>;
ĐKiện: thường là một phép so sánh


Câu lệnh: có thể là câu lệnh đơn giản hoặc
câu lệnh ghép


b) Ví dụ 3: SGK


B1: Nhập sai số
B2: n← 1, x ← 1/n


B3:Nếu x ≥ 0,003, n ← n + 1, ngược lại
sang B4


</div>
<span class='text_page_counter'>(28)</span><div class='page_container' data-page=28>

B3:Nếu x ≥ 0,003, n ← n + 1, ngược lại sang B4
B4: Ra khỏi vòng lặp và in kết quả n


HS: thực hành theo nhóm chạy CT như SGK



<b>Tiết 50</b>


<b>Hoạt động 3: Ví dụ 4,5</b>


- Giáo viên giới thiệu thuật tốn tính tổng n số trong ví dụ 2
SGK/67. Yêu cầu học sinh suy nghĩ và nêu lên vấn đề chưa
hiểu


- HS: - Quan sát và thảo luận nhóm để đưa ra những vấn đề
còn vướng mắc sinh.


- GV: Yêu cầu HS nghiên cứu ví dụ 5 và phân nhóm:
+ Nhóm 1,2,3: chương trình vịng lặp FOR...DO.


+ Nhóm 4,5,6: Chạy chương trình vịng lệnh WHILE....DO.


- GV: Giải thích các câu hỏi của học sinh


- GV: Đánh giá và nhận xét.


* Nhận xét: Chúng ta có thể sử dụng câu lệnh WHILE...DO thay
cho câu lệnh FOR...DO


Ví dụ 4: SGK/69


Ví dụ 5: SGK/69


Hoạt động 4: Lặp vô hạn lần - Lỗi lập trình cần tránh
GV: Giới thiệu chương trình lặp vơ hạn như SGK.



HS: Lắng nghe và quan sát.
- GV: Nhấn mạnh lưu ý:


+ Khi thực hiện vòng lệnh điều kiện trong câu lệnh phải được
thay đổi để sớm hay muộn giá trị của điều kiện được chuyển tù
đúng sang sai. Như thế chương trình mới khơng rơi vào các vịng
lặp vơ tận


Hoạt động 5: Củng cố, dặn dò


Củng cố: Cho học sinh đọc ghi nhớ SGK


- Trả lời: Câu 1,2/71 SGK


Dặn dò: Về học bài và xem trước bài thực hành 6
IV. Tổng kết rút kinh nghiệm:


...


<b>Tuần 26</b> <b>Ngày soạn:...</b>


<b>Ngày giảng:...18/02/09</b>..


<b>Tiết 51,52 Bài thực hành 6</b>
<b>SỬ DỤNG LỆNH LẶP WHILE ...DO</b>
<b>I.Mục tiêu:</b>


- Hiểu câu lệnh lặp While ... do trong chương trình



- Biết lựa chọn câu lệnh lặp While...do hoặc For ... do phù hợp với tình huống cụ thể
- Rèn kĩ năng về khai báo và sử dụng biến, khả năng đọc chương trình


- Biết vai trò của việc kết hợp các cấu trúc điều khiển.


<b>II.Chuẩn bị:</b>


<i><b>1. Giáo viên </b></i> : - SGK, SGV, tài liệu, Giáo án


- Đồ dùng dạy học như máy tính, projector,...


- Chuẩn bị phịng thực hành đủ số máy tính hoạt động tốt.


<i><b>2. Học sinh</b></i> : - Đọc trước bài thực hành.


- Học thuộc kiến thức lý thuyết và các bài tập đã học.


<b>III. Tiến trình bài dạy</b>


<b>1. Ổn định tổ chức lớp : </b>


</div>
<span class='text_page_counter'>(29)</span><div class='page_container' data-page=29>

<b>2. Kiểm tra bài cũ : </b>


Kiểm tra trong quá trình thực hành.
3. Dạy bài mới :


<b>HOẠT ĐỘNG CỦA THÀY VÀ TRÒ</b> <b>KIẾN THỨC CẦN ĐẠT</b>


<b>HOẠT ĐỘNG 1 : Phổ biến nội dung thực hành</b>



Gv phổ biến nội dung thực hành của bài : sử dụng
lệnh lặp while....do


Biết nội dung thực hành.


<b>HOẠT ĐỘNG 2 : Chạy chương trình bài tập đã có</b>


Gv đưa nội dung bài tập đã viết sẵn để học sinh
chạy thử nghiệm.


Hs chia nhóm thực hành


Gv theo dõi hs thực hiện và sửa sai


<b>Bài tập: </b>


Program Chao hoi;
Uses crt;


Var Tieptuc: char;
Ten:string;
BEGIN


Tieptuc:= ‘c’;


While Tieptuc=’c’ do
Begin


Write(‘Nhap ten cua ban: ‘); Readln(Ten);
Writeln(‘Chao ban ‘, Ten);



Write(‘Tiep tuc? c/k’); Readln(Tiep tuc);
End;


Readln;
END.


<b> </b>
<b>HOẠT ĐỘNG 3 : Thực hành bài 1 sgk</b>


Bài 1. a/ Yêu cầu hs xác định Input và Output.
Y/c mơ tả thuật tốn chương trình.


Từ thuật tốn đã viết, ycầu hs xác định các biến và
kiểu dữ liệu cần khai báo.


b/ Hs chạy thử chương trình sgk/72


c/ Ycầu đọc và tìm hiểu ý nghĩa từng câu lệnh, chạy
chương trình và kiểm tra kết quả nhận được.


d/ Gv hướng dẫn hs luyện viết chương trình với
lệnh for ... do


<b>Bài 2: </b>Viết chương trình sử dụng lệnh while... do để tính
trung bình n số thực x1, x2, x3,....xn. Các số n và x1, x2, x3,....xn
được nhập vào từ bàn phím.


- Input : Dãy số thực x1, x2, x3,....xn



- Output : Giá trị trung bình (x1+x2+...+xn)


- Thuật tốn :


B1.- Nhập n số lượng số thực sẽ được nhập từ bàn phím.


1.1. Dem ← 0 ;


1.2. Sum ← 0.


B2. Trong khi Dem < N thì


2.1. Nhập giá trị số thực x từ bàn phím
2.2. Sum ← sum + x ;


2.3. Dem ← Dem + 1 ;
B3. TB ←Sum/N.


B4. Đưa TB ra màn hình rồi kết thúc.


<b>HOẠT ĐỘNG 4 : Thực hành bài 2 sgk</b>


Bài 2/73.


Gv nêu ý tưởng bài tập : Kiểm tra lần lượt N có
chia hết cho các số tự nhiên 2<i>≤ i≤ N −</i>1 hay
khơng. Kiểm tra tính chất chia hết bằng phép chia


</div>
<span class='text_page_counter'>(30)</span><div class='page_container' data-page=30>

lấy phần dư (mod)



a/ Ycầu đọc và tìm hiểu ý nghĩa của từng câu lệnh
trong chương trình có sẵn.


b/ Ycầu chia nhóm thực hành gõ và chạy thử
chương trình


<b>HOẠT ĐỘNG 5 : Giáo viên tởng kết nội dung tiết thực hành.</b>


Gv đưa lên màn hình nội dung chính cần đạt trong 2
tiết thực hành này (SGK)


Hs đứng tại chỗ đọc lại.


Gv có thể giải thích thêm (nếu cần)


<b>TỔNG KẾT</b>


<b>* </b>Cấu trúc câu lệnh lặp với số lần chưa biết trước: while
<điều kiện> do <câu lệnh>;


<b>Nhận xét sau tiết thực hành :</b>


...


<b>Hướng dẫn về nhà.</b>


Đọc trước bài “làm việc với dãy số”


<b>Tiết 53, 54</b>

<b>BÀI TẬP 4</b>

<b>25/02/09</b>




A. Mục đích yêu cầu:


- Hệ thống lại kiến thức về các câu lệnh lặp (For ..to..do và while …do) và xử lí dãy số trong chương trình
thơng qua các bài tập.


- Giúp HS nắm lại cách thành lập thuật toán và viết thuật toán của một số bài tốn khó

<b>Cõu hỏi và bài tập </b>



<b>1.</b> Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hàng ngày!


<b>2.</b> Hãy mơ tả các bước của thuật tốn để vẽ hình 36a) và 36b) sau đây:


<i>Hình 36a</i> <i>Hình 36b</i>


Các thao tác lặp cần thực hiện để có các hình trên và điều kiện để kết thúc các thao tác đó là gì?


<b>3.</b> Hãy cho biết tác dụng của câu lệnh lặp!


<b>4.</b> Chúng ta nói rằng khi thực hiện các hoạt động lặp, chương trình kiểm tra một điều kiện. Với lệnh lặp


</div>
<span class='text_page_counter'>(31)</span><div class='page_container' data-page=31>

của Pascal, điều kiện cần phải kiểm tra là gì?


<b>5.</b> Chương trình Pascal sau đây thực hiện hoạt động nào?


<b>var i: integer;</b>
<b>begin</b>


<b>for i:=1 to 1000 do;</b>
<b>end.</b>



<b>6.</b> Hãy mơ tả thuật tốn để tính tổng sau đây (n là số tự nhiên được nhập vào từ bàn phím):
A = <sub>1 . 3</sub>1 + 1


2 . 4+
1


3 . 5+.. .. .. .
1


<i>n</i>(<i>n</i>+1)


<b>7.</b> Nêu một vài ví dụ về hoạt động lặp với số lần chưa biết trước!


<b>8.</b> Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp
không xác định.


<b>9.</b> Hãy liệt kê các bước của thuật toán với số lần lặp khơng xác định để tính tích của N số tự nhiên đầu
tiên, với N là số tự nhiên được nhập vào từ bàn phím.


<b>10.</b> Viết thuật tốn và chương trình Pascal có câu lệnh lặp với số lần khơng xác định để tính lũy thừa bậc n
của A (tức An), với n là số tự nhiên và A là số thực được nhập vào từ bàn phím.


<b>11.</b> Người ta đã chứng minh rằng các tổng sau đây:


1 2 3


1 1 1 1 1 1 1 1 1


, , , ..., ...



2 2 3 2 3 4 <i>n</i> 2 3 1


<i>T</i> <i>T</i> <i>T</i> <i>T</i>


<i>n</i>


         




ln ln tăng (có thể lớn hơn một số bất kì, mặc dù chỉ cộng thêm một số ngày càng nhỏ ở mỗi
bước). Hãy viết thuật toán và chương trình để tính số n nhỏ nhất sao cho Tn > 2:


<b>12.</b> <i>"</i>Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu, nhưng chỉ có một tên duy
nhất." Phát biểu đó đúng hay sai?


<b>13.</b> Hãy nêu các lợi ích của việc sử dụng biến mảng trong chương trình.


<b>14.</b> Các khai báo biến mảng sau đây trong Pascal đúng hay sai:
a) <b>var X: Array[10, 13] Of Integer;</b>


b) <b>var X: Array[5..10.5] Of Real;</b>


c) <b>var X: Array[3.4 .. 4.8] Of Integer; </b>


d) <b>var X: Array[4 .. 10] Of Integer;</b>


<b>15.</b> Câu lệnh khai báo mảng sau đây có được máy tính thực hiện khơng?


<b> var N: integer;</b>



<b> A: array[1..N] of real;</b>


<b>16.</b> Viết chương trình nhập từ bàn phím các phần tử của một dãy số. Độ dài của dãy cũng được nhập từ
bàn phím.


<b>17.</b> Viết chương trình sử dụng biến mảng để tính giá trị trung bình của tổng N số nguyên được nhập vào từ
bàn phím.


<b>Tiết : 56-57 Tuần : 28</b> <b>Ngày soạn : 4/3/09</b>


<b>Tên bài dạy : </b>


<b>LÀM VIỆC VỚI DÃY SỐ</b>
<b>MỤC TIÊU :</b> Qua bài học này học sinh cần đạt được các mục tiêu sau :


- Biết được khái niệm mảng một chiều .


</div>
<span class='text_page_counter'>(32)</span><div class='page_container' data-page=32>

<b>CHUẨN BỊ :</b>


GV : Một số thăm có ghi sẵn các số nguyên bất kỳ và hai hộp đựng A, B để minh họa thuật tốn tìm số lớn
nhất, nhỏ nhất của dãy số; thuật tốn tìm số lớn nhất trong dãy số (bài 5 trang 43) để sử dụng cho bước viết
chương trình; bài tập 2(trên bảng phụ) hoặc đèn chiếu nếu có .


HS : SGK và thuật tốn tìm số lớn nhất trong dãy số (bài 5 trang 43) .


<b>TIẾN TRÌNH DẠY HỌC :</b>


<b>1 - Ổn định lớp : </b>Kiểm tra số lượng, thiết bị máy tính và các yêu cầu chuẩn bị của học sinh



<b>2 - Kiểm tra bài cũ :</b>


Hãy nêu mô phỏng thuật tốn tìm số lớn nhất trong dãy số (bài 5 trang 43) .


<b>3 - Bài mới :</b>


<b>PHẦN HƯỚNG DẪN CỦA GIÁO VIÊN VÀ HOẠT</b>


<b>ĐỘNG CỦA HỌC SINH</b> <b>NỘI DUNG CẦN GHI NHỚ</b>


<i><b>Hoạt động 1 : Dãy số và biến mảng</b></i>


- GV giới thiệu một bảng điểm của một lớp học và yêu
cầu cần viết một chương trình để nhập điểm của từng
học sinh và thông báo điểm cao nhất trong lớp .


- Ta phải khai báo bao nhiêu biến ? Vì sao ? và phải viết
bao nhiêu câu lệnh để nhập điểm cho cả lớp ( số biến và
số câu lệnh bằng sỉ số học sinh của lớp) . Việc tìm điểm
số cao nhất có dễ dàng khơng ? vì sao ? (Khó khăn vì
phải nhớ hết các tên biến đã khai báo)


- Có cách nào khắc phục các khó khăn trên khơng ? GV
giới thiệu kiểu dữ liệu mới : kiểu mảng và minh họa
bằng hình 40 SGK


- Làm thế nào để tìm điểm số cao nhất của lớp ? (Với i
từ 1 đến cuối lớp hãy nhập Diem_i . Với i từ 1 đến cuối
lớp hãy so sánh Max với Diem_i)



- Thế nào là dữ liệu kiểu mảng ? Biến mảng là gì ? Lợi
ích của sử dụng biến mảng trong chương trình .


<b>- </b><i>Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần</i>
<i>tử có thứ tự và mọi phần tử đều có cùng một kiểu dữ</i>
<i>liệu . Việc sắp thứ tự được gán cho mỗi phần tử một</i>
<i>chỉ số </i>


<i>- Khi khai báo một biến có kiểu dữ liệu là kiểu mảng</i>
<i>thì biến đó được gọi là biến mảng Biến mảng thực</i>
<i>chất là một biến được tạo ra từ nhiều biến có cùng</i>
<i>kiểu nhưng chỉ dưới một tên duy nhất .</i>


<i><b>Hoạt động 2 : Ví dụ về biến mảng</b></i>


- Cách khai báo biến mảng trong các ngơn ngữ lập trình
có thể khác nhau, nhưng ln cần chỉ rõ những gì ?
- Dữ liệu kiểu mảng được khai báo như thế nào trong
Pascal ? Gv giới thiệu cú pháp khai báo mảng trong
Pascal


- Cho HS đọc ví dụ, rồi hướng dẫn cách khai báo trong
ngơn ngữ Pascal:


- Từ ví dụ 1, GV dẫn dắt HS cách khai báo biến mảng:


<b>Var</b> Diem : <b>array</b> [1..50] <b>of</b> real;


+ Biến mảng có 50 phần tử được đánh từ 1 đến 50. Các
phần tử được “đặt tên” ntn ?



=> Cách khai báo và sử dụng biến mảng như trên có lợi
gì ?


- Để thay rất nhiều câu lệnh nhập và in dữ liệu ra màn
hình, ta dùng một câu lệnh nào ?


<b>( For …do )</b>


- Để viết giá trị của các phần tử ra màn hình người ta kết
hợp giữa <b>For …do </b> với lệnh nào ?


- Để giúp tiết kiệm rất nhiều thời gian và cơng sức viết
chương trình, thay vì phải viết 50 câu lệnh khai báo và
50 câu lệnh nhập, ta chỉ cần viết 2 câu lệnh là đủ và kết
quả đạt được như nhau. Đưa ra 1 cách khai báo cho HS


- Cách khai báo biến mảng trong các ngơn ngữ lập
trình có thể khác nhau, nhưng ln cần chỉ rõ: tên
<i>biến mảng, số lượng phần tử, kiểu dữ liệu chung của</i>
<i>các phần tử.</i>


* <i><b>Cách khai báo mảng trong Pascal</b></i>:


<i>Tên mảng : </i><b>array</b> <b>[</b><chỉ số đầu>..<chỉ sớ ći><b>]</b> <b>of</b>


<kiểu dữ liệu >;
Trong đó:


+ Chỉ số đầu và chỉ số cuối: là 2 số nguyên hoặc


biểu thức nguyên (Chỉ số đầu <i> chỉ số cuối );</i>


+ Kiểu dữ liệu: <b>integer</b> hoặc <b>real</b>


Ví dụ : <b>Var</b> Chieucao : <b>array</b> [1..50] <b>of</b> real;


<b>Var</b> Tuoi : <b>array</b> [21..80] <b>of</b> integer;


<b> - </b>Khai báo biến mảng Diem như sau:


<b> Var</b> Diem : <b>array</b> [1..50] <b>of</b> real;


- Dùng một câu lệnh lặp, có thể thay rất nhiều câu
lệnh nhập và in dữ liệu ra màn hình, như:


<b>For</b> i:= 1 <b>to</b> 50 <b>do</b> readln ( Diem [ i ] );


</div>
<span class='text_page_counter'>(33)</span><div class='page_container' data-page=33>

rõ.


=> HS tự khai báo nhiều biến mảng cho các môn học
như thế nào ?


- Sau khi một mảng đã được khai báo, chúng ta có thể
làm việc với các phần tử của nó như làm việc với một
biến thông thường. Vậy làm việc với một biến thông
thường như thế nào ?


* <b>Lưu ý HS</b><i>: Sử dụng cấu trúc <b>For … do </b></i>phù hợp, dễ
hiểu hơn cấu trúc <i><b>While…do </b></i>vì biết trước số lần lặp.



ta cũng chỉ cần một câu lệnh lặp, như:


<b>For</b> i:= 1 <b>to</b> 50 <b>do</b>


<b>If</b> Diem [ i ] > 8.0 <b>then</b> writeln ( ‘ Gioi ‘ );


- Để xử lí đồng thời các loại điểm của từng mơn học,
ta có thể khai báo nhiều mảng:


<b>Var</b> DiemToan : <b>array</b> [1..50] <b>of</b> real;


<b>Var</b> DiemVan : <b>array</b> [1..50] <b>of</b> real;


<b>Var</b> DiemLi : <b>array</b> [1..50] <b>of</b> real;


<i><b>hoặc:</b></i>


<b>Var</b> DiemToan, DiemVan, DiemLi : <b>array</b> [1..50] <b>of</b>


real;


- Khi một mảng đã được khai báo, chúng ta có thể
làm việc với các phần tử của nó như: gán giá trị, đọc
<i>giá trị và thực hiện các tính tốn với các giá trị đó</i>.
Ví dụ như:


A[ 1 ]:= 5;
A[ 2 ]:= 8;



hoặc nhập dữ liệu từ bàn phím bằng câu lệnh: <b>For</b>


i:= 1 <b>to</b> 5 <b>do</b> readln ( A [ i ] );


<i><b>Hoạt động 3 : Tìm giá trị lớn nhất và nhỏ nhất của dãy số</b></i>


- GV dùng bảng để minh họa lại thuật tốn tìm giá trị
lớn nhất, (nhỏ nhất) của dãy số nguyên (đã học ở Bài 5).
+ GV giải thích về thuật tốn tìm giá trị lớn nhất của
dãy số nguyên … Sau đó cho HS nhắc lại và thực hiện
trò chơi đã chuẩn bị sẵn để minh họa cho thuật toán này
- GV cho HS đọc ví dụ 3:


+ Để nhập các số nguyên sẽ được nhập vào, trước hết ta
phải làm gì ?


+ Sau khi khai báo N, biến lưu các số được nhập vào
như là các phần tử của một biến mảng A. Ngoài ra, cần
khai báo thêm các biến nào nữa ?


- GV: Trình bày phần khai báo chương trình và giải
thích ý nghĩa từng câu lệnh hay từng đoạn lệnh


- GV cho HS đọc phần ghi nhớ.


* Thuật tốn tìm giá trị lớn nhất ( Max ) của dãy số
nguyên nhập từ bàn phím:


<i><b>Bước 1: Nhập N và dãy A1, … , An;</b></i>
<i><b>Bước 2: Max  A1;</b></i>



<i><b>Bước 3: Với i từ 2 đến N thực hiện: Nếu Max < A1</b></i>
<b>thì Max  Ai;</b>


<i><b>Bước 4: Đưa ra màn hình giá trị Max rồi kết thúc</b></i>
<b>Ví dụ 3</b>: (SGK)/ Tr 78.


* Phần khai báo chương trình có thể như sau:


<b>Program </b> Lonnhat_Nhonhat;


<b>Uses </b> crt;


<b>Var</b> i, n, Max, Min : integer;
A : <b>array</b> [1..100] <b>of</b> integer;


{Phần thân chương trình sẽ tương tự dưới đây:}


<b>Begin </b>


Clrscr;


Write ( ‘Hay nhap do dai cua day so, N = ‘); readln
(n);


Writeln (‘Nhap cac phan tu cua day so: ’);


<b> For</b> i:= 1 <b>to</b> n <b>do</b>


Begin



Write ( ‘ a[ , i , ] = ‘); readln (a[ i ] );
End;


Max:= a[1]; Min:= a[1];


<b> For</b> i:= 2 <b>to</b> n <b>do</b>


Begin <b>if</b> Max < a[ i ] <b>then</b> Max:= a[ i ];
<b>if</b> Min < a[ i ] <b>then</b> Min:= a[ i ];
End;


Write ( ‘ So lon nhat la Max = ‘ Max);
Write ( ‘ So nho nhat la Min = ‘ Min);
readln (n);


<b>End. </b>


** <b>GHI NHỚ: </b>(SGK) Trang 79.


<b>4 - Củng cố :</b>


</div>
<span class='text_page_counter'>(34)</span><div class='page_container' data-page=34>

<b>5 - Dặn dò :</b>


- Học bài cũ thật kỹ đặc biệt là các cách khai báo, truy cập biến mảng .
<i>- Làm bài tập số 5 và chuẩn bị bài thực hành số 7để tiết sau thực hành .</i>


<b>Tiết : 58</b> <b>Tuần : 29</b> <b>Ngày soạn : 11-27/3/09</b>


<b>Tên bài dạy : </b> <b>LUYỆN VIẾT CHƯƠNG TRÌNH CĨ BIẾN MẢNG</b>



<b>MỤC TIÊU :</b> Qua bài học này học sinh cần đạt được các mục tiêu sau :
- Làm quen với việc khai báo và sử dụng các biến mảng .
- Ôn luyện cách sử dụng câu lệnh lặp for .. do .


- Củng cố các kỹ năng đọc, hiểu và chỉnh sửa chương trình .


<b>CHUẨN BỊ :</b>


- GV : Phịng máy tính, laptop, đèn chiếu Projector, bài giải bài tập 5 trang 79 SGK .
- HS : Theo nhóm đã được phân cơng trên máy .


<b>TIẾN TRÌNH DẠY HỌC :</b>


<b>1 - Ổn định lớp : </b>Kiểm tra số lượng, thiết bị máy tính và các yêu cầu chuẩn bị của học sinh


<b>2 - Kiểm tra bài cũ :</b>


<b>Câu hỏi 1 :</b> Dữ liệu kiểu mảng là gì ? Nêu cú pháp khai báo biến mảng .


<b>Câu hỏi 2 :</b> Nêu lợi ích của việc sử dụng các biến mảng và câu lệnh lặp .


<b>3 - Bài mới :</b>


<b>PHẦN HƯỚNG DẪN CỦA GIÁO VIÊN VÀ</b>


<b>HOẠT ĐỘNG CỦA HỌC SINH</b> <b>NỘI DUNG CẦN GHI NHỚ</b>


<i><b>Hoạt động 1 : Xây dựng thuật toán</b></i>



- HS đọc để và cho biết yêu cầu INPUT và
OUTPUT


- Nêu các bước tiến hành trong phỏng chương
trình


INPUT : Nhập số phần tử của mảng
OUTPUT : Nhập các phần tử của mảng
Bước 1 : Nhập số phần tử của mảng ai
Bước 2 : Cho i tiến lần lượt từ 1 đến n


Bước 3 : Mỗi bước tiến nhập giá trị của phần tử
tương ứng của mảng


<i><b>Hoạt động 2 : Xây dựng chương trình</b></i>


- GV thống nhất đặt tên cho chương trình (ví dụ
nhapbien) và GV viết phần đầu của chương trình
- Ta cần khai báo những biến nào ? (biến n để
chỉ số lượng phần tử của mảng, biến i là chỉ số
của phần tử, a là biến mảng gồm tối đa 100
phần tử kiểu thực) . HS thử viết trên bảng việc
khai báo biến .


- Phần thân chương trình gồm những lệnh nào ?
GV cần chú ý cho HS căn cứ vào các bước khi
xây dựng thuật tốn để sử dụng các câu lệnh
thích hợp ?


- GV đặt câu hỏi cho các bước tương ứng (Với


bước i (i = 1-3) ta dùng lệnh gì ?)


- Cần bổ sung câu lệnh gì để chương trình thêm
tính thẩm mỹ ? (Writeln (‘Nhap cac gia tri cua
mang: ’);


<b>Program nhapbien;</b>
<b>Uses crt;</b>


<b>Var</b> i, n, : integer;


a : <b>array</b> [1..100] <b>of</b> integer;


<b>Begin </b>


Clrscr;


Write (‘Nhap so phan tu cua mang, N = ‘);
Readln (n);


Writeln (‘Nhap cac gia tri cua mang: ’);


<b> For</b> i:= 1 <b>to</b> n <b>do</b>


Begin


Write ( ‘a[ , i , ] = ‘;
Readln (a[ i ] );
End;



Readln


<b>End. </b>
<i><b>Hoạt động 3 : Thực hành trên máy</b></i>


- HS theo nhóm đã chia trước vào vị trí các máy để thực hành .
- GV hướng dẫn học sinh dịch chương trình và chạy thử .
- Nhận xét và sửa sai cho các nhóm


<b>4 - Củng cố và dặn dị :</b>


<b>- </b>Cho biết lợi ích việc dùng biến mảng và các câu lệnh lặp ?


</div>
<span class='text_page_counter'>(35)</span><div class='page_container' data-page=35>

- Ôn luyện cách sử dụng các lệnh lặp để luyện tập bài tập 1 và 2 trang 80 - 82 SGK
- Tiết sau : Thực hành bài số 7


<b>Tiết : 59 - 60 Tuần : 30</b> <b>Ngày soạn : 1-10/03/09</b>


<b>Tên bài dạy : </b>


<b>BÀI THỰC HÀNH SỐ 7</b>


<b>XỬ LÝ DÃY SỐ TRONG CHƯƠNG TRÌNH </b>
<b>MỤC TIÊU :</b> Qua bài học này học sinh cần đạt được các mục tiêu sau :


- Làm quen với việc khai báo và sử dụng các biến mẫu.
- Ôn luyện cách sử dụng câu lệnh lặp for .. do, if .. then .
- Củng cố kỹ năng đọc, hiểu và chỉnh sửa chương trình .


<b>CHUẨN BỊ :</b>



- GV : Kiểm tra các máy tính, phịng máy, bảng minh họa lời giải của bài tập 1 và 2 .
- HS : Các thuật toán đếm, tính tổng, cú pháp của các câu lệnh lặp .


<b>TIẾN TRÌNH DẠY HỌC :</b>


<b>1 - Ổn định lớp : </b>Kiểm tra số lượng, thiết bị máy tính và các yêu cầu chuẩn bị của học sinh


<b>2 - Kiểm tra bài cũ : </b><i>(5 phút)</i>


<b>Câu hỏi 1 :</b> Dữ liệu kiểu mảng là gì ? Nêu cú pháp khai báo biến mảng .


<b>Câu hỏi 2 :</b> Nêu lợi ích của việc sử dụng các biến mảng và câu lệnh lặp .


<b>3 - Bài mới :</b>


<b>PHẦN HƯỚNG DẪN CỦA GIÁO VIÊN VÀ</b>


<b>HOẠT ĐỘNG CỦA HỌC SINH</b> <b>NỘI DUNG CẦN GHI NHỚ</b>


<i><b>Hoạt động 1 : Viết chương trình nhập điểm (Bài 1 ) </b>( 35 phút)</i>
- HS nêu lại thuật toán nhập các phần tử của mảng đã học
ở tiết trước .


- Trong bài tập này ta cần khai báo thêm những biến gì, ý
nghĩa của các biến đó .


- Nêu lại thuật toán đếm và kết hợp với điều kiện để viết
chương trình .



- HS viết thử và có thể sử dụng chương trình nhapbien.pas
để sửa đổi và lưu lại với tên moi la phanloai.pas


<i>Nội dung chương trình</i>


<b>Program phanloai;</b>


Uses crt;


Var i, n, g, kh, tb, kem : integer;
a : array [1..100] of integer;


<b>Begin </b>


Clrscr;


Write (‘Nhap so hoc sinh cua lop, N = ‘); Readln
(n);


Writeln (‘Nhap diem tung ban: ’);


<b> </b>For i:= 1 to n do
Begin


Write ( ‘a[ , i , ] = ‘;
Readln (a[ i ] );
End;


g : = 0 ; kh := 0; tb :=0; kem :=0;
For i:= 1 to n do



Begin


If a[i] >=8 then g : = g +1;


If a[i]>=6.5 and a[i]<8 then kh:=kh +1;
If a[i]>=5 and a[i]<6.5 then tb:=tb +1;
If a[i] <5 then kem : = kem +1;


End;


Writeln (‘Ket qua phan loai: ’);
Writeln (‘Lop co ‘, g, ’ban loai gioi’);
Writeln (‘Lop co ‘, kh, ’ban loai kha’);
Writeln (‘Lop co ‘, tb, ’ban loai trung binh’);
Writeln (‘Lop co ‘, kem, ’ban loai kem’);
Readln


</div>
<span class='text_page_counter'>(36)</span><div class='page_container' data-page=36>

- HS tìm hiểu ý nghĩa của các câu lệnh : Tại sao phải có
các biến TbToan, TbVan ? Biến DiemToan, DiemVan có
dạng gì ? Vì sao ? ở phần thân chương trình nêu ý nghĩa
của các câu lệnh lặp, phép gán


- HS thực hành việc bổ sung các câu lệnh vào các phần của
chương trình đã viết ở bài 1 và thực hiện dịch và chạy
chương trình . GV kiểm tra và sửa chữa các lỗi sai cho HS


<b>Nội dung cần bổ sung</b>
<b>Phần khai báo</b>



<b>Var </b> TbToan, TbVan: real ;


DiemToan, DiemVan : <b>array</b>[1..100] <b>of</b>


real;


<b>Phần thân chương trình :</b>
<b>Begin </b>


Writeln(‘Diem trung binh :’);


<b> </b>For i:= 1 to n do


<b> </b>Writeln(i,‘ - ’, (DiemToan[i] +
DiemVan[i])/2:3:1);


TbToan:= 0; TbVan:= 0;


<b> </b>For i:= 1 to n do
Begin


TbToan:= TbToan + DiemToan[i];
TbVan:= TbVan + DiemVan[i];
End;


TbToan:= TbToan/n; TbVan:= TbVan/n;
Writeln(‘Diem trung binh mon Toan : ’,
TbToan:3:2);


Writeln(‘Diem trung binh mon Van : ’,


TbVan:3:2);


<b>End.</b>
<i><b>Hoạt động 3 : Tổng kết </b>(5 phút)</i>


- GV yêu cầu HS nêu cú pháp khai báo biến mảng kiểu số nguyên và kiểu số thực trong Pascal và cách tham
chiếu phần tử của mảng . HS về nhà ghi phần tổng kết vào vở học


<i><b>Hoạt động 4 :Dặn dò </b>(5 phút)</i>


- Tắt máy theo đúng quy trình .


- Kiểm tra và vệ sinh phịng máy trước khi nghỉ .


- Tương tự bài 2 hãy bổ sung và chỉnh sửa chương trình đã làm để tính tổng, tính diểm cao nhất, thấp nhất
của lớp .


- Ơn tập và tổng kết tồn bộ chương trình học tập .


</div>

<!--links-->

×