- Biết nhu cầu cần có câu lệnh 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.. - Câu l
Trang 1to một khu vực trên bản đồ, tìm hiều vùng sáng - tối trên bản đố, thay đổi thời gian hệthống hiện thời để quan sát sự chuyển động của vùng sáng – tối.
2)Kiểm tra bái cũ:
- Câu hỏi: ?Em hãy kể tên một vài phần mềm mà em đã được học, thông qua phần
mềm em sẽ hiểu biết thêm về thiên nhiên?
(Học địa lý thế giới với Earth Explorer (lớp 7), Quan sát trái đất và các vì sao trong hệmặt trời (lớp 6))
3)Bài mới:
* Hoạt động 1: Tìm hiểu phần mềm
GV- Các vị trí khác nhau trên Trái Đất nằm
trên các múi giờ khác nhau
GV- Phần mềm Sun times sẽ giúp các em nhìn
được toàn cảnh các vị trí, thành phố, thủ đô
của các nước trên toàn thế giới và rất nhiều
thông tin liên quan đến thời gian
+ Học sinh chú ý lắng nghe => ghi nhớ kiến
thức
1 Giới thiệu phần mềm
- Phần mềm Sun times sẽ giúp các
em nhìn được toàn cảnh các vị trí,thành phố, thủ đô của các nướctrên toàn thế giới và rất nhiềuthông tin liên quan đến thời gian
Trang 2* Hoạt động 2: Tìm hiểu cách khởi động phần
mềm.
GV:- ? Em hãy nêu cách khởi động phần mềm.
HS: - Nháy đúp vào biểu tượng để khởi động
phần mềm
GV:Yêu cầu học sinh khởi động phần mềm trên
máy tính.
+ Học sinh khởi động phần mềm trên máy tính
theo yêu cầu của giáo viên.
+ Hoạt động 3 : Tìm hiểu màn hình chính của
phần mềm.
GV:- Yêu cầu học sinh quan sát và cho biết màn
hình chính của phần mềm gồm những gì?
HS:- Màn hình chính của phần mềm gồm:
+ Các vùng sáng tối khác nhau.Vùng sáng cho
biết vị trí thuộc vùng này hiện thời là ban ngày,
vùng tối là ban đêm.
+ Giữa vùng sáng tối có 1 đường vạch liền, đó là
ranh giới giữa ngày và đêm.
+ Trên bản đồ có những vị trí được đánh dấu đó
chính là các thành phố và thủ đô của các quốc gia.
Hoạt động 4 : Tìm hiểu cách thoát khỏi phần
Trang 3to một khu vực trên bản đồ, tìm hiều vùng sáng - tối trên bản đồ .
2)Kiểm tra bái cũ:
- Câu hỏi: ?Em hãy cho biết phần mềm Sun Time dùng để làm gì?
3)Bài mới:
+ Hoạt động 1: Tìm hiểu cách sử dụng phần mềm
GV:- Muốn phóng to để quan sát một vùng bản
đồ chi tiết ta 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.
+ Học sinh chú ý lắng nghe => ghi nhớ kiến thức.
GV: - Yêu cầu HS nghiên cứu cách để quan sát và
nhận biết ngày và đêm.
HS:- 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.
GV:- Cho hs quan sát và xem thông tin thời gian
chi tiết của một địa điểm cụ thể.
- Học sinh chú ý quan sát theo sự hướng dẫn của
c) Quan sát và xem thông tin thời gian
chi tiết của một thời điểm cụ thể:
Trang 4GV:- Cho hs quan sát vùng đệm giữa ngày và
đêm.
HS:- Vùng có màu đen trên bản đồ có thời gian
ban đêm Xung quanh vùng này có một giải phân
cách sáng-tối, đó chính là vùng đệm giữa ngày và
đêm.
+ Hoạt động 2: Tìm hiểu một số chức năng khác
của phần mềm.
GV:- Để hiện và không hiện hình ảnh bầu trời
theo thời gian ta thực hiện như sau: Option =>
Maps và chọn hoặc hủy chọn tại mục Show Sky
Color.
+ Học sinh chú ý lắng nghe => ghi nhớ kiến thức
GV:- ?Để cố định vị trí và thời gian quan sát ta
làm như thế nào?
HS:- Để chuyển cách thức thay đổi thông tin này
ta chọn Option => Maps => chọn học hủy chọn
mục Hover Update.
GV:- Yêu cầu HS quan sát cho biết cách tìm các
địa điểm có thông tin thời gian trong ngày giống
nhau
+ Các bước thực hiện:
- Chọn vị trí ban đầu.
- Chọn Option => Anchor time to => chọn mục
Sunrise để tìm theo thời gian.
GV:- Tìm kiếm và quan sát nhật thực trên trái đất
ta thực hiện:
* Chọn địa điểm muốn tìm nhật thực.
* Thực hiện lệnh View => Eclipse.
+ Học sinh chú ý quan sát cách thực hiện.
d) Quan sát vùng đệm giữa ngày và
đêm.
4 Một số chức năng khác
a) Hiện và không hiện hình ảnh bầu trời theo thời gian.
b) Cố định vị trí và thời gian quan sát:
c) Tìm kiếm địa điểm có thông tin thời gian trong ngày giống nhau:
Trang 5- Biết nhu cầu cần có câu lệnh 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
2)Kiểm tra bỏi cũ:
- Khụng kiểm tra
3)Bài mới:
Hoạt động 1 :Các công việc phải thực
hiền nhiều lần ( 8 phút)
Các công việc phải thực hiền nhiều lần
GV: Trong cuộc sống hằng ngày nhiều mỗi
ngời đều có các công việc riêng khác nhau
? Em hãy lấy ví dụ về một số việc hàng
ngày của em
biết trớc số lần lặp đi lặp lại và công việc
nào chúng ta cha biết số lần lặp lại của nó?
HS: Tách ví dụ thành hai loại (một loại đã
biết trớc số lần lặp và một loại cha biêt số
lần lặp )
GV: Nhận xét và kết luận
1 Các công việc phải thực hiền nhiều lần
Để chỉ dẫn cho máy tính thực hiện
đúng công việc, trong nhiều trờng hợpkhi viết một chơng trình máy tínhchúng ta cũng phải viết lặp lại nhiềucâu lệnh thực hiện một phép tính nhất
Trang 6HS: nghiên cứu ví dụ 1.
GV: Phân tích, hớng dẫn viết thuật toán ví
GV: Cho HS nghiên cứu ví dụ 2
? Ví dụ 2 công việc gì đợc thực hiện nhiều
lần
HS: Trả lời
? Qua hai ví dụ trên, các em hãy chỉ ra
những công việc đợc lặp đi lặp lại?
- Mọi ngôn ngữ lập trình đều có
“cách” để chỉ thị cho máy tính thựchiện cấu trúc lặp với một câu lệnh Đó
HS: Ghi cấu trúc vòng lặp vào vở
GV: Giải thích từng thành phần trong cấu
For <biến đếm>:= <giá trị đầu> to
Biến đếm là biến đơn có kiểu nguyên
(có thể là kiểu kí tự hoặc kiểu đoạncon)
Giá trị đầu, giá trị cuối là số cụ thể
hoặc là biểu thức có kiểu cùng kiểuvới biến đếm, giá trị cuối phải lớn hơngiá trị đầu
Câu lệnh có thể là câu lệnh đơn hoặc
câu lệnh kép
- Câu lệnh sẽ đợc thực hiện nhiều lần,mỗi lần thực hiện câu lệnh là một lầnlặp và sau mỗi lần lặp biến đếm sẽ tự
động tăng lên 1 đơn vị, tăng cho đếnkhi giá trị của biến đếm lớn hơn giátrị cuối thì vòng lặp đợc dừng lại
Bài 4 SGK (Tr61)
Giá trị của j sau mỗi lần lặp sẽ đợc
Trang 7tăng thêm 2 đơn vị
2, 4, 6, 8, 10, 12
4) Củng cố:(7 phút)
GV: Đa ra bài tập 4
HS đa ra phán đoán kết quả
? Dựa vào hoạt động vòng lặp em lãy liệt kê cụ thể từng bớc và cho kết quả sau từng ớc
b-HS: Hoạt động theo nhóm bàn trong 5 phút và trả lời
Nhận xét, bổ sung
GV: Kết luận
5) Hướng dẫn về nhà:(1 phút)
- Viết chơng trình tính tổng 100 số tự nhiên, N số tự nhiên đầu tiên
IV RÚT KINH NGHIỆM.
- 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
- Hiểu cấu trúc câu lệnh ghép
2) Kĩ năng:
- Viết đúng đợc lệnh for ……… do trong một số tình huống đơn giản
- Biết kết hợp câu lệnh ghép và câu lệnh lặp for ………do vào giải quyết một số bài toán
2)Kiểm tra bỏi cũ:
- Cõu hỏi: ? Em hãy viết câu lệnh For to do
? Nêu hoạt động của vòng lặp?
HS:- Cấu trúc của câu lệnh lặp:
Trang 8For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
- Câu lệnh sẽ đợc thực hiện nhiều lần, mỗi lần thực hiện câu lệnh là một lần lặp và sau mỗi lần lặp biến đếm sẽ tự động tăng đi 1 đơn vị, tăng cho đến khi giá trị của biến đếm lớn hơn giá trị cuối thì vòng lặp đợc dừng lại
Số lần lặp = giá trị cuối-giá trị đầu+1
=> for …do là cấu trúc lặp với số lần lặp biết trớc
3)Bài mới:
Hoạt động 1: Ví dụ về câu lệnh lặp
GV: Cho HS nghiên cứu ví dụ 3
GV: Minh họa chơng trình của ví dụ 3
HS: Quan sát ghi bài
GV: Cho HS nghiên cứu ví dụ 4
? Để in ra chữ ‘O’ ta sử dụng lệnh nào
HS: Trả lời
Để in ra 20 chữ ‘O’ ta cần 20 câu lệnh
writeln(‘O’; Viết thế rất mất thời gian
? Em hãy sử dụng câu lệnh lặp để viết in ra 20
Program lap;
Var i: integer;
BeginFor i:=1 to 10 doWriteln(‘day la lan lap thu’, i);
GV và HS cùng xây dựng viết chơng trình dựa
vào thuật toán
Lu ý: kiểu số Longint
GV: Đa ra ví dụ 6 Hớng dẫn ví dụ6
Tổ chức Hs hoạt động cá nhân trong 3 phút
Sau đó hoạt động theo nhóm nhỏ làm ví dụ 6
HS: Hoạt động cá nhân sau đó hoạt động nhóm
thống nhất kết quả
4 Tính tổng và tích bằng câu lệnh lặp
Ví dụ 5 Tính tổng của N số tự nhiên đầu tiên
Ví dụ 6 Tính day tha của N số tự nhiên đầu tiên
Trang 9Nhận xét, bổ sung.
GV: Kết luận đa ra bài viết chơng trình
HS: Quan sát kết quả và ghi bài
4) Củng cố:
Tóm tắt kiến thức trọng tâm đã học
HS đọc ghi nhớ
5) Hướng dẫn về nhà:
- Học lại bài về câu lệnh lặp For to do Xem lại các ví dụ SGK
Về nhà làm bài tập : Tính tổng các số chẵn của dãy số N và tính tổng các số lẻ.
Gợi ý: Kiểm tra số đó là chẵn thì điều kiện IF N mod 2 =0 then S:=S+i;
IV RÚT KINH NGHIỆM.
- Đọc tài liệu ở nhà trước khi
- HS: Vở ghi
III/ TIẾN TRèNH LấN LỚP.
1)Ổn định tổ chức:
- Kiểm tra sĩ số:
2)Kiểm tra bỏi cũ:
- Cõu hỏi: ? Sử dụng vũng lặp for … do viết chương trỡnh tớnh tổng của 10 số tự nhiờn
đầu tiờn?
3)Bài mới:
Hoạt động 1: Bài tập dạng lớ thuyết
GV: Đưa ra đề bài toỏn, yờu cầu học sinh
nghiờn cứu theo nhúm
-HS: Hoạt động theo nhúm tỡm cõu trả lời
- HS: Đại diện của hai nhúm trỡnh bày kết quả
Bài 1: SGK (T60)
Trang 10của nhóm.
-GV: Nhận xét kết quả cuối cùng
- GV: Đưa bài tập 2 lên bảng, yêu cầu một học
sinh đứng tại chỗ trả lời
- HS: Một học sinh đứng tại chỗ trả lời bài tập
2 một học sinh khác đứng tại chỗ nhận xét
- GV: Kết luận kết quả của bài 2
-GV: GV: Đưa ra đề bài toán, yêu cầu học sinh
nghiên cứu theo nhóm
-HS: Hoạt động theo nhóm tìm câu trả lời
- HS: Đại diện của hai nhóm trình bày kết quả
của nhóm
- GV: Nhận xét
Bài 2: SGK (T60)
- Câu lệnh lặp có tác dụng chỉ dẫncho máy tính thực hiện lặp lại mộtcâu lệnh hay một nhóm câu lệnh với một số lần nhất định
- Câu lệnh lặp làm giảm nhẹ công sức của người viết chương trình
Bài 3 SGK (T60)
- Điều kiện cần kiểm tra trong câulệnh lặp for … do là giá trị của biến đếm phải nằm trong đoạn [giá trị đầu, giá trị cuối ], nếu thoảmãn điều kiện đó thì câu lệnh sẽ được thực hiện, nếu không thoả mãn câu lệnh sẽ bị bỏ qua
Hoạt động 2: Bài tập dạng thực hành
GV: Đưa ra đề bài toán và yêu cầu một học
sình đứng tại vị trí để trả lời bài tập
-HS: 1em đứng tại vị trí trả lời, 1 em khác
nhận xét
- GV: Nhận xét kết quả câu trả lời của 2 bạn
- GV: Đưa bài tập
- HS: Suy luận kết quả theo lí thuyết
- GV: Ghi kết quả suy luận của học sinh
- HS: Làm việc theo nhóm, sau 5 phút đại
diện của 2 nhóm sẽ lên báo báo kết quả
c) sai cấu trúc câu lệnhd) sai cấu trúc câu lệnhe) biến đếm có kiểu là kiểu số thực nên không hợp lệ
Bước 4: nếu i<=n quay về bước 2Bước 5: ghi kết quả A ra màn hình và kết thúc thuật toán
4) Củng cố:
- Giáo viên hệ thống lại toàn bộ nội dung bài học
- Giáo viên nhận xét tiết học, rút kinh nghiệm tiết học
Trang 11- Về nhà viết chương trình pascal bài 6 SGK (T61)
IV RÚT KINH NGHIỆM.
HS: tìm hiểu một số bài toán và chỉ ra thuật toán
III/ TIẾN TRÌNH LÊN LỚP.
1)Ổn định tổ chức:(1’)
- Kiểm tra sĩ số:
2)Kiểm tra bái cũ:(5’)
- Câu hỏi: ? Nêu cấu trúc câu lệnh lặp đơn, câu lệnh lặp ghép, có biết ý nghĩa của câu
lệnh lặp
3)Bài mới:(31’)
Trang 12Hoạt động 1 : nội dung
GV: giành thời gian 15 phút để HS lập trình
GV :? Để kết quả trông dễ nhìn ta sử dụng Câu
cột và WhereY cho biết số thứ tự của hàng
con trỏ về vị trí cột 5 của hàng hiện tại
Bài 1( SGK)
uses crt;
var N,i:integer;
beginclrscr;
write('Nhap so N='); readln(N);writeln;
In toàn bộ bảng cửu chương
uses crt;
var N,i:integer;
beginclrscr;
writeln('Bang nhan ',N);
writeln;
for N:=1 to 10 dofor i:=1 to 10 do writeln(N,' x',i:2,' = ',N*i:3);
readlnend
Chỉnh sửa câu lệnh lặp củachương trình như sau:
for i:=1 to 10 do begin
GotoXY(5,WhereY); writeln(N,' x',i:2,' = ',N*i:3); writeln
end;
Trang 13Câu 2: Hãy cho biết tác dụng của câu lệnh lặp với số lần biết trước?
Câu 3: Trình bày cấu trúc của câu lệnh lặp và nêu cách hoạt động của nó?
Trang 143)Bài mới:
Hoạt động 1 : nội dung
- Tương tự như bài 1, GV cho HS gõ bài làm
của mình ở nhà vào máy
- HS thực hiện theo yêu cầu của GV.
- GV quan sát trên máy HS và chữa lại chỗ sai
- HS quan sát và theo dõi
- GV cho HS chữa bài vào vở
- HS ghi bài vào vở
Bài tập 3 :
- GV: Đưa ra nội dung của bài toán: Viết
chương trình in ra màn hình bảng nhân của một
số từ 1 đến 9, và dừng màn hình để có thể quan
sát kết quả.
- GV: Đưa nội dung chương trình lên màn hình,
yêu cầu học sinh đọc hiểu chương trình
- HS: Nghiên cứu bài toán, tìm input và output
- GV: yêu cầu một học sinh đứng tại vị trí trình
bày hoạt động của chương trình, các nhóm khác
cùng tham gia phân tích
- HS: đọc, phân tích câu lệnh, tìm hiểu hoạt
động của chương trình
- GV: yêu cầu học sinh lập bảng hoạt động của
chương trình theo mẫu:
Giả sử N=2:
Bài 2: Viết chương trình tìm
xem có bao nhiêu số dương trong
n số nhập vào từ bàn phím?
Program tinh_so_cac_so_duong; Uses crt;
Var i,A, dem, n: integer;
Begin Clrscr;
Dem:=0;
Writeln(‘Nhap vao so n’); readln(n);
For i:=1 to n do begin
writeln(‘nhap vao so thu’,i); readln(A);
if A>0 then dem:=dem+1;
Var i, n: integer;
Begin Clrscr;
Writeln(‘Nhap vao so n’); readln(n);
Writeln(‘Bang nha’,n);
Writeln;
For i:=1 to 10 do Writeln(n,’x’,i:2,’=’,n*i:3);
Trang 15Bước i i<=10 Writeln(n,’.’,i,’=’,n*i)
- HS tham gia hoạt động của GV
- HS: các nhóm lập bảng và đại diện nhóm báo
cáo kết quả
- GV: nhận xét
- GV: cho chương trình chạy trên máy, yêu cầu
học sinh quan sát kết quả
Bài tập 4:
- GV: giới thiệu cấu trúc lệnh for lồng, hướng
dẫn học sinh cách sử dụng lệnh
- HS: ghi chép cấu trúc và lĩnh hội
- GV: đưa nội dung chương trình bài thực hành
3 lên màn hình, yêu cầu học sinh đọc chương
trình, tìm hiểu hoạt động của chương trình
- HS: hoạt động theo nhóm, tìm hiểu hoạt động
của chương trinh, đại diện của nhóm báo cáo kết
quả thảo luận
- GV: cho chạy chương trình
- HS : quan sát kết quả trên màn hình
Readln;
End.
Bài tập 4: Sử dụng lệnh For lồng trong for
* Câu lệnh for lồng trong for:
- For <biến đếm1:= giá trị
đầu> to <giá trị cuối> do
đầu> to <giá trị cuố> do
For j:=0 to 9 do Writeln(10*i+j:4);
- Giáo viên hệ thống lại toàn bộ nội dung bài học
- Nhận xét, rút kinh nghiệm tiết thực hành
5) Hướng dẫn về nhà:
- Học bài theo vở ghi, ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại
nhiều lần
Trang 16- Xem trước các bài tập để tiết sau làm bài tập.
IV RÚT KINH NGHIỆM.
= *=*=*=*®*=*=*=*= Ngày Dạy: / /
Ngày Dạy: / /
Tuần: 23 + 24
Tiết: 44 + 45
I/ MỤC TIÊU:
1) Kiến thức :
- 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 thoả mãn;
2) Kĩ năng:
- Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước while do… trong Pascal
3) Thái độ:
- Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng
II/ CHUẨN BỊ:
- Giáo viên: SGK, máy chiếu, các ví dụ về chương trình.
- Học sinh: Dụng cụ học tập.
III/ TIẾN TRÌNH LÊN LỚP.
1)Ổn định tổ chức:
- Kiểm tra sĩ số:
2)Kiểm tra bái cũ:
Câu hỏi:
- Viết thuật toán tính tổng 100 số tự nhiên đầu tiên 1,2,3,…,99,100
Trả lời
Bước 4 Thông báo kết quả và kết thúc thuật toán
3)Bài mới:
Trang 17Với bài toán trên, trong Turbo Pascal ta sử dụng vòng lặp for…to…do thì sẽ thực hiện dễ dàng Nhưng nếu ta thay số 100 bởi n ( tính tổng n số tự nhiên đầu tiên ) thì ta sẽ gặp nhiều khó khăn trong việc sử dụng vòng lặp for…to…do, bởi lúc này số lần lặp không biết trước Vậy ta phải làm như thế nào ? Để giải quyết bài toán này chúng ta đi tìm hiểu bài mới.
Hoạt động 1: Các hoạt động lặp với số lần chưa biết trước
- GV: Nhắc lại tác dụng của câu lệnh lặp với số lần
- GV: Trong ví dụ 1, Long gọi cho Trang, Long có
xác định được Long sẽ gọi cho Trang mấy lần hay
không? Khi nào hoạt động gọi điện thoại của Long
- GV: Hướng dẫn HS xây dựng thuật toán
- HS: Nghe giáo viên hướng dẫn, sau đó tự xây
- GV: Việc thực hiện lập lại các phép cộng trên với
số lần chưa biết trước phụ thuộc vào điều kiện gì?
Phép cộng chỉ dừng khi nào?
- HS trả lời: Điều kiện s<=1000 và chỉ dừng khi
kết quả kiểm tra là sai.
- GV : Giới thiệu sơ đồ khối
1 Các hoạt động lặp với số lần chưa biết trước:
a/ Ví dụ 1:
b/ Ví dụ 2: Nếu cộng lần lượt n số
tự nhiên đầu tiên (n = 1, 2, 3, ),
Cần cộng bao nhiêu số tự nhiên
đầu tiên để ta nhận được tổng Tn
1; ngược lại chuyển tới bước 4.
+ Bước 3 S ← S + n và quay lại
Trang 18- HS theo dõi và tiếp thu
Hoạt động 3: Ví dụ về lệnh lặp với số lần chưa biết trước
- Trước khi đi tìm hiểu cú pháp của câu lệnh lặp với
số lần chưa biết trứơc GV gọi HS nhắc lại cú pháp
của câu lệnh lặp với số lần biết trước.
+ Điều kiện thường là phép toán so sánh
+ Câu lệnh có thể là câu lệnh đơn giản hay câu
lệnh phức tạp.
- HS: chú ý lắng ghe và ghi chép.
- GV: Dựa vào cú pháp hãy nêu hoạt động của câu
lệnh lặp với số lần chưa biết trước?
- HS nêu hoạt động của câu lệnh lặp với số lần
chưa biết trước.
- GV: Giới thiệu chương trình mẫu
- GV: Giới thiệu chương trình mẫu sgk ( Giáo viên
in chương trình mẫu trên)
- HS: Quan sát
- GV: Chạy tay cho học sinh xem
- HS: chú ý nghe và tự chạy tay lại
- GV: Yêu cầu học sinh mở máy tính và mở chương
trình ví dụ 3 ( giáo viên chuẩn bị chương trình mẫu
2 Ví dụ về lệnh lặp với số lần chưa biết trước:
Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:
while <điều kiện> do <câu lệnh>;
Trong đó:
- Điều 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 hay câu lệnh ghép.
* Hoạt động:
Bước 1 : Kiểm tra điều kiện Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc Nếu điều kiện đúng, thực hiện câu lệnh và quay
Trang 19và đưa lên các máy )
- GV: Chạy tay cho học sinh xem chương trình mẫu
- HS: Chú ý nghe và tự chạy tay lại
- GV: Cho học sinh chạy chương trình trên máy.
- HS thực hiện yêu cầu
- GV: Chạy chương trình này, ta nhận được giá trị
ntn?
- HS: Nếu chạy chương trình này ta sẽ nhận được n
= 45 và tổng đầu tiên lớn hơn 1000 là 1034.
- GV: Giới thiệu ví dụ 5.
- GV: Cho học sinh quan sát chương trình
- HS quan sát chương trình
- GV: Ví dụ này cho thấy rằng chúng ta có thể sử
dụng câu lệnh while…do thay cho câu lệnh for…
Ví dụ 4 Chương trình Pascal dưới
đây thể hiện thuật toán tính số n
Hoạt động 4: Lặp vô hạn lần – Lỗi lập trình cần tránh
- GV: Khi viết chương trình sử dụng cấu trúc lặp
cần chú ý tránh tạo nên vòng lặp không bao giờ kết
- Vì sao chương trình trên lặp vô hạn lần?
- HS trả lời: Trong chương trình trên, giá trị của
biến a luôn luôn bằng 5, điều kiện a<6 luôn luôn
đúng nên lệnh writeln('A') luôn được thực hiện.
- Do vậy, khi thực hiện vòng lặp, điều kiện trong
3 Lặp vô hạn lần – Lỗi lập trình cần tránh:
- Khi thực hiện vòng lặp, đ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.
Chỉ như thế chương trình mới không "rơi" vào những "vòng lặp
vô tận".
Trang 20câ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 Chỉ
như thế chương trình mới không "rơi" vào những
"vòng lặp vô tận".
4) Củng cố:
- Đọc ghi nhớ.
- Nêu vài ví dụ về hoạt động lặp với số lần chưa biết trước?
- Nêu cú pháp câu lệnh lặp While do? Dựa trên sơ đồ hãy nêu quá trình thực hiện câu lệnh lặp?
5) Hướng dẫn về nhà:
- Học bài theo vở ghi
- Làm các bài tập vào vở. IV RÚT KINH NGHIỆM.
= *=*=*=*®*=*=*=*= Ngày Dạy: / /
Tuần: 24
Tiết: 46
BÀI TẬP
I/ MỤC TIÊU:
1) Kiến thức :
- Củng cố kiến thức vòng lặp với số lần lặp chưa biết trước và câu lệnh ghép
2) Kĩ năng:
- Viết được chương trình Pascal có sử dụng vòng lặp While do
- Biết sử dụng câu lệnh ghép
- Rèn kỹ năng đọc hiểu chương trình có sử dụng vòng lặp while do
3) Thái độ:
- Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng
II/ CHUẨN BỊ:
- GV: Sách giáo khoa, giáo án, chuẩn bị một số thuật toán và chương trình
- HS: Vë ghi
III/ TIẾN TRÌNH LÊN LỚP.
1)Ổn định tổ chức:
- Kiểm tra sĩ số:
2)Kiểm tra bái cũ:
- Kiểm tra bài cũ trong quá trình làm bài tập
3)Bài mới:
Trang 21Hoạt động 1: Chốt lại kiến thức trọng tâm để áp dụng giải bài tập
- HS chú ý theo dõi và tiếp thu
- GV yêu cầu HS ghi vở
- Điều 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
hay câu lệnh ghép
Câu lệnh lặp này được thực hiện:
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện SAI, câu lệnh
sẽ bị bỏ qua và việc thực hiện lệnh lặp
kết thúc Nếu điều kiện ĐÚNG, thực hiện
câu lệnh và quay lại bước 1.
Hoạt động 2: Giải bài tập trong SGK
Bài 2 trang 71 SGK: 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 chưa
biết trước?
- GV yêu cầu HS đọc và nghiên cứu bài
tập 2
- HS đọc đề
- GV cho HS đứng tại chỗ trả lời câu hỏi
- HS suy nghĩ, thảo luận và trả lời
- GV goi 1 HS khác nhận xét
- 1HS khác đứng tại chỗ nhân xét câu
trả lời của bạn
Bài 2: 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ặpvới số lần lặp chưa biết trước là ở cácđiểm sau đây:
a) Như tên gọi của nó, câu lệnh lặp với
số lần lặp cho trước chỉ thị cho máytính thực hiện một lệnh hoặc một nhómlệnh với số lần đã được xác định từtrước, còn với câu lệnh lặp với số lầnlặp chưa biết trước thì số lần lặp chưađược xác định trước
b) Trong câu lệnh lặp với số lần chotrước, điều kiện là giá trị của một biếnđếm có giá trị nguyên đã đạt được giátrị lớn nhất hay chưa
Trang 22- GV nhận xét, bổ sung và cho HS ghi
vở
- HS tiếp thu và ghi vở
Bài 3 trang 71 SGK: Tìm hiểu các thuật toán
sau đây và cho biết khi thực hiện thuật toán, máy
tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết
thúc, giá trị của S bằng bao nhiêu? Viết chương
trình Pascal thể hiện các thuật toán đó
a) Thuật toán 1:
Bước 1 S ← 10, x ← 0.5
Bước 2 Nếu S ≤ 5.2, chuyển tới bước 4
Bước 3 S ← S − x và quay lại bước 2.
Bước 4 Thông báo S và kết thúc thuật
toán
b) Thuật toán 2:
Bước 1 S ← 10, n ← 0
Bước 2 Nếu S = 10, chuyển tới bước 4.
Bước 3 n ← n + 3, S ← S−n quay lại
bước 2
Bước 4 Thông báo S và kết thúc thuật
toán
- GV yêu cầu HS đọc đề bài tập 3
- HS đọc đề theo yêu cầu của GV
- GV cho HS thảo luận nhóm để trả lời
- GV yêu cầu HS dựa vào thuật toán để
Trong câu lệnh lặp với số lần cho
trước, câu lệnh được thực hiện ít nhất
một lần, sau đó kiểm tra điều kiện.Trong câu lệnh lặp với số lần chưa xácđịnh trước, trước hết điều kiện đượckiểm tra Nếu điều kiện được thoả
mãn, câu lệnh mới được thực hiện Do
đó có thể có trường hợp câu lệnh hoàn
toàn không được thực hiện
Bài 3 a) Thuật toán 1: 10 vòng lặp được thực
hiện Khi kết thúc thuật toán S = 5.0.
Đoạn chương trình Pascal tương ứng:
S:=10; x:=0.5;
while S>5.2 do S:=S-x;writeln(S);
b) Thuật toán 2: Không vòng lặp nào
được thực hiện vì ngay từ đầu điềukiện đã không được thỏa mãn nên cácbước 2 và 3 bị bỏ qua
S = 10 khi kết thúc thuật toán Đoạn
chương trình Pascal tương ứng:
S:=10; n:=0;
while S<10 do begin n:=n+3;
S:=S-n end;
writeln(S);
Trang 23viết chương trình Pascal
- HS viết chương trình theo yêu cầu bài
- GV cho HS nghiên cứu bài tập 5
- HS thực hiện yêu cầu của GV
- GV gọi HS đứng tại chỗ trả lời
- HS trả lời
- GV nhận xét
- HS theo dõi, tiếp thu và ghi vở
Bài 5:
a) Thừa dấu hai chấm trong điều kiện;
b) Thiếu dấu hai chấm trong câu lệnh
- GV củng cố lại kiến thức với 3 loại vòng lặp đã học
- Ôn tập kiến thức lí thuyết từ đầu HK2
- Tự làm lại các bài tập
- Chuẩn bị tốt cho bài kiểm tra 1 tiết
- Về nhà làm thêm các bài tập sau:
Bài 1: Lập trình tính tổng dùng lệnh lặp While do Trong dú n là số tự nhiên đ ược nhập từ bàn phím.
i: = i+1;
End;
writeln(' Tong can tim la: ', tong:12:6);
Trang 24Write(‘Nhap so thu nhat, a= ‘); Readln(a); a1:= a;
Write(‘Nhap so thu hai, = ‘); Readln(b); b1:= b;
While a mod b <> 0 do
Begin r:= a mod b;
Trang 25- Rèn kỹ năng đọc hiểu chương trình có sử dụng vòng lặp while do.
Câu 1: Hãy nêu sự khác nhau giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp với
số lần lặp chưa biết trước?
Câu 2: Nêu cấu trúc và cách hoạt động của câu lệnh lặp với số lần chưa biết trước?
3)Bài mới:
Hoạt động 1: Các kiến thức cần nhớ
- GV: Gọi HS nhắc lại cấu trúc lênh lặp với
số lần lặp chưa biết trước?
- HS trả lời câu hỏi của GV
- GV nhận xét và chốt ý
- HS theo dõi, tiếp thu và ghi vở
- GV: Em hãy mô tả hoạt động của câu
lệnh lặp với số lần chưa biết trước?
- HS dựa vào cấu trúc câu lệnh lặp và mô tả
hoạt động của câu lệnh
- GV gọi 1 HS khác nhận xét và bổ sung
- 1 HS khác nhận xét
- GV nhắc lại một lần nữa
- HS lắng nghe và ghi bài vào vở
While <Điều kiện> Do <câu lệnh>
* Hoạt động:
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện SAI, câu lệnh
sẽ bị bỏ qua và việc thực hiện lệnh lặp
kết thúc Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
Hoạt động 2: Bài tập 1
- GV: Yêu cầu HS đọc bài tập 1 (Tr72
SGK), cho HS thảo luận theo nhóm và làm
a Mô tả thuật toán.
INPUT: Nhập n, nhập n số nguyên
Trang 26OUTPUT: Kết quả TBC của n số nguyên
- HS: Khi biến dem > n phát hiện ra
điều kiện lặp của While…do
GV: Dựa vào hệ thống câu hỏi Em hãy
lần lượt hình thành việc mô tả thuật toán?
- Các nhóm lần lượt viết thuật toán lên
bảng phụ
- GV quan sát HS viết bảng phụ
- GV nhận xét
- HS tiếp thu và ghi vở
- GV cho các nhóm viết chương trình hoàn
- HS lắng nghe GV giảng bài và tiếp thu
- GV: Cho HS thực hành soạn chương trình
trên vào máy tính
- HS: tiến hành soạn thảo và dịch, chạy
chương trình, rồi lưu lại
OUTPUT: Kết quả TBC của n sốnguyên
B1: Nhập giá trị của n( tính TBC baonhiêu số);
B2: Trong khi dem <= n thì làm Nhập số thứ (1,2,3….n)(cho x)
B4: In kết quả TB, kết thúc chươngtrình
Write(‘Muon tinh TB bao nhieu son=’); Readln(n);
dem:= 0; S:=0;
While dem <= n do Begin
Write(‘Nhap so thu’, dem, ‘ =
‘ );readln(x);
S:= S + x; dem:= dem + 1; End;
TB:= S/n;
Write(‘ Vay trung binh cong ’, n,
‘so la: ‘, TB:6:2);
Readln;
Trang 27- GV cho HS thay thế vòng lặp While…do
bằng vòng lặp xác định For…do
- Sau khi kết quả chạy chương trình đã
đúng, GV yêu cầu học sinh chữa bài của
mình đã làm ở nhà cho đúng theo chương
nhiên được nhập vào từ bàn phím có phải
là số nguyên tố hay không?
Yêu cầu một học sinh đứng tại vị trí trình
bày hoạt động của chương trình, các nhóm
khác cùng tham gia phân tích
- HS trình bày hoạt động của chương trình
- GV cho HS gõ chương trình vào máy
tính, dịch và chạy chương trình với một vài
độ chính xác khác nhau
- HS gõ chương trình vào máy của mình,
sau đó dịch và chạy chương trình theo yêu
cầu của GV
Bài 2: Đọc và tìm hiểu ý nghĩa của
từng câu lệnh sau đây
Uses Crt;
Var n,i : integer;
BEGIN ClrScr;
Write(‘Nhap vao mot so nguyen:
‘);Readln(n);
If n<=1 Then Writeln(‘N khong la
so nguyen to’);
Else Begin i:=2;
While n mod i <> 0 do i:= i+ 1;
If i = n Then Writeln(n,’ la songuyen to’)
Else Writeln(n,’ khong la songuyen to’);
End;
ReadlnEND
4) Củng cố:
- GV nhận xét, rút kinh nghiệm giờ thực hành
- Ôn lại tất cả các kiến thức đã học về các câu lệnh lặp
5) Hướng dẫn về nhà:
- Ghi nhớ cú pháp và ý nghĩa của câu lệnh lặp while do ,
- Đọc và tìm hiểu chương trình
Trang 28- Chuẩn bị tiết sau giải bài tập.
IV RÚT KINH NGHIỆM.
- HS: Kiến thức, bút, thước, giấy nháp
III/ TIẾN TRÌNH LÊN LỚP.
1)Ổn định tổ chức:
- Kiểm tra sĩ số:
2)Kiểm tra bái cũ:
- Không kiểm tra
Trang 29For to do 2 2
Vũng lặp
khụng biết
trước
c2 3
c3 5
For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
kiểu kí tự hoặc kiểu đoạn con)
Giá trị đầu, giá trị cuối là số cụ thể hoặc là biểu thức có kiểu cùng kiểu với biến đếm,
giá trị cuối phải lớn hơn giá trị đầu
Câu lệnh có thể là câu lệnh đơn hoặc câu lệnh kép.
- Câu lệnh sẽ đợc thực hiện nhiều lần, mỗi lần thực hiện câu lệnh là một lần lặp và saumỗi lần lặp biến đếm sẽ tự động tăng lên 1 đơn vị, tăng cho đến khi giá trị của biến đếmlớn hơn giá trị cuối thì vòng lặp đợc dừng lại
Cõu 2: 3 điểm
a) Thừa dấu hai chấm trong điều kiện;
b) Thiếu dấu hai chấm trong cõu lệnh gỏn;
c) Thiếu cỏc từ khúa begin và end trước và sau cỏc lệnh n:=n+1; S:=S+n, do đú vũng lặp trở
thành vụ tận.
Cõu 3: 5 điểm
Program Bai1;
Trang 30Uses Crt;
Var i, tong, n : Integer;
Begin
Clrscr;
Writeln('CHUONG TRINH TINH TONG CUA N SO TU NHIEN DAU TIEN’);
Writeln('Moi ban nhap n=);
Readln(n);
Tong:=0;
While i>n do
tong:= tong +i;
Writeln('Tong cua ‘,n,’ la:,tong’);
- Về nhà xem lại bài
IV RÚT KINH NGHIỆM.
Trang 31- HS: xem lại về phần mềm đã được học lớp 7
III/ TIẾN TRÌNH LÊN LỚP.
1)Ổn định tổ chức:
- Kiểm tra sĩ số:
2)Kiểm tra bái cũ:
- Không kiểm tra
3)Bài mới:
Hoạt động 1: giới thiệu
? Cho biết phần mềm này đã được làm
quen chưa?
? Nêu những đối tượng các em đã được
học?
? nêu chức năng của phần mềm này
HS: nghiên cứu trả lời câu hỏi
GV: tuy nhiên ở lớp 7 các em chưa được
làm quen với phần mềm tiếng việt…
của phần mềm Geogebra Với phần
mềm Geogebra tiếng Việt em sẽ thấy
các lệnh bằng tiếng Việt Chú ý rằng các
lệnh trên bảng chọn không dùng để vẽ
các đối tượng-hình Các lệnh tác động
trực tiếp với đối tượng hình học được
thực hiện thông qua các công cụ trên
thanh công cụ của phần mềm
2 Làm quen với phần mềm GeoGebra tiếng Việt
a cách khởi độngNháy chuột tại biểu tượng b) Giới thiệu màn hình GeoGebra tiếngViệt
- Màn hình làm việc chính: bảng chọn, thanh công cụ và khu vực thể hiện các đối tượng
c) Giới thiệu các công cụ làm việc chính
Trang 32• Thanh công cụ của phần mềm chứa
các công cụ làm việc chính Đây chính
là các công cụ dùng để vẽ, điều chỉnh và
làm việc với các đối tượng
Khi nháy chuột lên một nút lệnh ta sẽ
thấy xuất hiện các công cụ khác cùng
nhóm
? GV: chia 3 nhóm trình bày
- tác dụng của từng đối tượng
- các thao tác liên quan đến đối tượng
N1: nghiên cứu về các công cụ liên quan
đến điểm, đoạn thẳng,đường thẳng
N2: nghiên cứu các công cụ liên quan
đến đoạn thẳng,đường thẳng, các công
cụ di chuyển
N3: các công cụ di chuyển, các công cụ
tạo mối quan hệ hình học
N4: các công cụ tạo mối quan hệ hình
học, về các công cụ liên quan đến điểm
các nhóm trình bày kết quả của mình và
nhận xét, bổ xung nhau
các công cụ liên quan đến đoạn thẳng
đường thẳng
* Công cụ di chuyển dùng để di chuyển hình, chọn các đối tượng khi thực hiện các lệnh điều khiển thuộc tínhcủa các đối tượng
- Có thể chọn nhiều đối tượng bằng cách nhấn giữ phím Ctrl trong khi chọn
* Các công cụ liên quan đến đối tượng
điểm
mới Cách tạo: chọn công cụ và nháy
chuột lên một điểm trống trên màn hìnhhoặc nháy chuột lên một đối tượng đểtạo điểm thuộc đối tượng này
điểm là giao của hai đối tượng đã cótrên mặt phẳng
Cách tạo: chọn công cụ và lần lượt
nháy chuột chọn hai đối tượng đã có trên mặt phẳng
trung điểm của (đoạn thẳng nối) haiđiểm cho trước: chọn công cụ rồi nháychuột tại hai điểm này để tạo trungđiểm
• Các công cụ liên quan đến đoạn, đường thẳng
dùng để tạo đường, đoạn, tia đi qua haiđiểm cho trước
đó nháy chuột chọn lần lượt hai điểmtrên màn hình
Trang 33cửa sổ có dạng:
GV: chú ý chỉ nhập kí tự số
HS: vừa thực hiện nói vừa thao tác
GV: khi các em chọn các đối tượng để ý
góc trên bên trái cửa sổ hiện thị thao tác
thực hiện
thẳng đi qua một điểm cho trước và với
độ dài có thể nhập trực tiếp từ bànphím
Thao tác: chọn công cụ, chọn một
điểm cho trước, sau đó nhập một giá trị
số vào cửa sổ Nháy nút Áp dụng sau khi đã nhập xong độ dài đoạn thẳng
• Các công cụ tạo mối quan hệ hình học
tạo đường thẳng đi qua một điểm vàvuông góc với một đường hoặc đoạnthẳng cho trước
Thao tác: chọn công cụ, sau đó lần
lượt chọn điểm, đường (đoạn, tia) hoặc ngược lại chọn đường (đoạn, tia) và chọn điểm
một đường thẳng song song với mộtđường (đoạn) cho trước và đi qua mộtđiểm cho trước
Thao tác: chọn công cụ, sau đó lần
lượt chọn điểm, đường (đoạn, tia) hoặc ngược lại chọn đường (đoạn, tia) và chọn điểm
vẽ đường trung trực của một đoạn thẳnghoặc hai điểm cho trước
Thao tác: chọn công cụ, sau đó chọn
một đoạn thẳng hoặc chọn hai điểm chotrước trên mặt phẳng
Trang 34- Công cụ dùng đểtạo đường phân giác của một góc chotrước Góc này xác định bởi ba điểmtrên mặt phẳng
Thao tác: chọn công cụ và sau đó lần
lượt chọn ba điểm trên mặt phẳng
Điểm chọn thứ hai chính là đỉnh của góc này
4) Củng cố:
GV: yêu cầu HS nhắc lại các công cụ cơ bản
5) Hướng dẫn về nhà:
- Về nhà xem lại bài
- Nghiên cứu các công cụ tiếp theo
- GV: giáo án, máy chiếu
- HS: xem lại về phần mềm đã được học lớp 7