- Công cụ dùng để tạo ra một đối tượng đối xứng với một đối tượng cho trước qua một trục là đường hoặc đoạn thẳng. III/ Kiểm tra bài cũ:.. - Giới thiệu các đối tượng tự do và các đối t[r]
Trang 1Tiết 45 §7 : CÂU LỆNH LẶP XÁC ĐỊNH FOR … DO (T1)
I/ Mục tiêu:
- Học sinh hiểu được câu lệnh lặp, làm quen với câu lệnh lặp
II/ Chuẩn bị : - Giáo án
III/ Quá trình dạy và học:
Hoạt động của
- Y/c hs lấy ví dụ những hoạt động trong cuộc sống hằng ngày ta
thực hiện lặp lại với một số lần nhất định và biết trước?
ăn 1 ngày 3 bữa (sáng, trưa, tối) Đánh răng 1 ngày 2 lần,…
- Có những công việc lặp với số lần ko biết trước như học bài đến
khi thuộc, đi chợ đến khi mua xong,…
- Khi viết chương trình máy tính cũng vậy, để chỉ dẫn cho máy
tính thực hiện đúng công việc, ta phải viết lặp lại nhiều câu lệnh
thực hiện 1 phép toán nhất định
- Ví dụ: In ra màn hình 20 lần với dòng “chào các bạn”? Ta thực
hiện bao nhiêu câu lệnh xuất dữ liệu ra màn hình?
- Ta có thể sử dụng câu lệnh lặp để 1 câu lệnh thay cho nhiều câu
lệnh
B1: Vẽ 1 hình vuông (Vẽ 4 cạnh liên tiếp)
B2: Nếu số hình vuông nhỏ hơn 3, di chuyển bút qua phải trở lại
B1, nguợc lại kết thúc vẽ
- Số lần lặp thao tác vẽ hình vuông bao nhiêu?
- Nêu thuật toán
- Nêu thuật toán
B1: Sum 0
B2: Sum sum + 1
…
B101:Sum sum +100
Y/c hs nêu thuật toán ?
- Thực hiện bao nhiêu bước ? Quá dài, vậy trong các bước trên
chỉ có một phép toán cộng vào Sum lần lượt các giá trị 1, 2,
3, ,100 phép cộng được lặp lại 100 lần Ta thực hiện cộng vào 1
biến i vào sum và thực hiện khi i không vượt quá 100
- Mô tả hoạt động lặp trong thuật toán như vậy gọi là cấu trúc
B2: Nếu số hình vuông nhỏ hơn 3, dichuyển bút qua phải trở lại B1, nguợclại kết thúc vẽ
1/ Cho một vài ví dụ về hoạt động thực hiện lặp lại số lần biết trước trong cuộc sống hằng ngày
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
Trang 2Tiết 46 §7 : CÂU LỆNH LẶP XÁC ĐỊNH FOR … DO (T2)
I/ Mục tiêu:
- Học sinh nắm vững cú pháp và chức năng của vòng lặp xác định For do
- Tìm hiểu một vài ví dụ có sử dụng vòng lặp
II/ Chuẩn bị :
- Giáo án, máy chiếu
III/ Kiểm tra bài cũ:
GV: - Hs 1: Cho một vài ví dụ về hoạt động thực hiện lặp lại số lần biết trước trong cuộc sống hằng ngày.
- Hs 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
HS: - Lên bảng
IV/ Quá trình dạy và học:
Hoạt động của
Giới thiệu câu lệnh lặp
*Gợi ý:
- Viết chương trình mẫu và giải thích cho hs
- Biến đếm là biến nào?
- Giá trị bao nhiêu và giá trị cuối bao nhiêu ?
<câu lệnh>;
Trong đó:
- for, to, do là từ khoá
- biến đếm: Kiểu số nguyên
- Gtđ, gtc: Các giá trị nguyên
Hoạt động: Ban đầu biến đếm nhận giá trị đầu, sau
mỗi vòng lặp biến đếm tự động tăng thêm một đơn vị,quá trình lặp cho đến khi biến đếm lớn hơn giá trịcuối thì kết thúc
If i mod 2 = 0 then Writeln(i);
Readln;
End
V/ Dặn dò:
- Viết CT tính tổng các số chẵn và các số lẻ từ 1 đến 100
Trang 3- Làm bài tập 4, 5, 6 Trang 61 (sgk).
Tiết 47 THỰC HÀNH VÒNG LẶP FOR …DO (T1)
I/ Mục tiêu:
- Viết được chương trình có sử dụng các câu lệnh, vòng lặp và các phép toán đã học
- Tiếp tục nâng cao kĩ năng đọc hiểu chương trình
II/ Chuẩn bị :
- Bài tập, phòng máy
III/ Kiểm tra bài cũ:
GV: Viết chương trình xuất ra màn hình 20 dòng: “Chao cac em” (bằng For do).
-Y/c hs hoàn thành CT trên máy
-GV quan sát, theo dõi quá trình làm bài của hs, gợi ý, hướng
-Y/c hs hoàn thành CT trên máy
-GV quan sát, theo dõi quá trình làm bài của hs, gợi ý, hướng
Readln(n);
For i :=1 to n do
If i mod 2 <> 0 then Writeln(i);
Readln(n);
S:= 0;
For i: =1 to n do
If i mod 2 = 0 then S:= S + i;
Trang 4Tiết 48 THỰC HÀNH VÒNG LẶP FOR…DO (T2)
I/ Mục tiêu:
- Viết được chương trình có sử dụng các câu lệnh, vòng lặp và các phép toán đã học
- Nắm vững cách dùng câu lệnh If, vòng lặp For do
+BCC từ 1 đến 9, bảng cửu chương nào đc in ra màn hình tuỳ
chúng ta, vây ta phải thực hiện ntn?
- Khai báo các biến nào?
+Gtđ và gtc của vòng lặp?
+Ta xuất ra bao nhiêu đối tượng?
-Y/c hs hoàn thành CT trên máy
-GV quan sát, theo dõi quá trình làm bài của hs
- Gọi đại diện của mỗi nhóm lên trình bày ý nghĩa của mỗi câu
lệnh
1 Viết CT in ra màn hình bảng cửu chương 1 đến cửu chương 9, Số bảng cửu chương được nhập từ bàn phím.
Program ban_cuu_chuong;
Var n, i: integer;
BeginWrite(‘’ Nhap bảng cửu chuong nao?’ ); Readln(n);
Writeln(‘Bang cuu chuong ’,n);
For i :=1 to 10 do Writeln(n,’x’,i,’=’,i*j,’ ‘);
Trang 5Tiết 49 THỰC HÀNH VÒNG LẶP FOR (T3)
I/ Mục tiêu:
- Viết được chương trình có sử dụng các câu lệnh, vòng lặp và các phép toán đã học
- Nắm vững cách dùng câu lệnh If, vòng lặp For do
+Ta xuất ra bao nhiêu đối tượng?
-Xuất biến: i, j và giá trị của i*j, xuất hằng xâu là dấu x, =,
khoảng trắng
-Nếu biến của vòng lặp thứ 2 chia hết cho 10 thì ta xuống
dòng
+Mỗi dòng gồm 10 số ta dùng lệnh gì để thực hiện?
-Y/c hs hoàn thành CT trên máy
-GV quan sát, theo dõi quá trình làm bài của hs
+Gtđ=1 và gtc=150
+Câu lệnh lặp và câu lệnh điều kiện
-Hoàn thành CT, kiểm tra lỗi và chạy CT
-Y/c hs mở file mới, hoàn thành btập 2
+Gtđ và gtc của vòng lặp?
+ Ta dùng những câu lệnh nào?
-Y/c hs hoàn thành CT trên máy
-GV quan sát, theo dõi quá trình làm bài của hs, gợi ý, hướng
dẫn những nhóm còn yếu
1 Viết CT in ra màn hình bảng cửu chương 1 đến cửu chương 10, mỗi dòng
10 số.
Program ban_cuu_chuong;
Var i, j: integer;
BeginFor i :=1 to 9 do For j:=1 to 9 do Begin
For i: =1 to 150 do S:= S + i;
Writeln(S);
Trang 6Readln;
End
V/ Dặn dò: - Xem lại các bài tập đã làm
Tiết 50 §8 : LẶP VỚI SỐ LẦN KHÔNG BIẾT TRƯỚC (WHILE …DO) (T1)
I/ Mục tiêu:
- Học sinh nắm vững cú pháp và chức năng của vòng lặp không xác định While do
II/ Chuẩn bị : Giáo án
III/ Kiểm tra bài cũ:
GV: Viết thuật toán tính tổng các số chẵn từ 50 đến 150?
IV/ Quá trình dạy và học: Trong bài trước chúng ta đã làm quen với các hoạt động lặp với số lần đã được
xác định trước Vd tính tổng các số nguyên từ 1 100, ta có thể viết câu lệnh lặp để máy tính thực hiện phépcộng 99 lần
Hoạt động của
- Khi các em học bài thì chúng ta biết được học thời gian bao lâu
là thuộc ko?
- Không , chúng ta học đến khi thuộc bài
Hoặc bạn Minh gọi điện cho Hùng, ko có ai nhấc mấy Như vậy
cứ 5 phút gọi một lần đến khi có người nhấc máy Sự lặp lại hoạt
động gọi điện bao nhiêu lần?
Chưa biết trước được
- Vậy điều kiện để kết thúc hoạt động lặp lại đến khi nào?
Đến khi có người nhấc mấy
- Hoạt động lặp như vậy ta gọi lặp với số lần chưa biết trước
- Y/c hs mô tả thuật toán
- Cộng bao nhiêu số tự nhiên để nhận được tổng nhỏ hơn 1000?
- ĐK tổng như thế nào thì vòng lặp kết thúc
- Y/c hs hoạt động nhóm
-Dựa vào sơ đồ hãy nêu hoạt động của của lệnh While
- Nếu lần đầu tiên <BTĐK> sai thì vòng lặp While có thực hiện
không?
- Giới thiệu câu lệnh lặp với số lần chưa biết trước
1/ Các hoạt động lặp với số lần chưa biết trước.
- Vd: Tính tổng các số tự nhiên đầu tiên S= 1+2+3+4+…+n
Sơ đồ:
Hoạt động:
CT kiểm tra BTĐK sau While nếu còn đúng thì lặp lại câu lệnh sau Do, quay lại kiểm tra BTĐK cho đến khi BTĐK sai
Đ
Trang 7Tiết 51 §8 : LẶP VỚI SỐ LẦN KHÔNG BIẾT TRƯỚC (WHILE …DO) (T2)
I/ Mục tiêu:
- Học sinh nắm vững cú pháp và chức năng của vòng lặp không xác định While do
- Ứng dụng While do để làm được một số ví dụ có sử dụng vòng lặp
II/ Chuẩn bị : Giáo án.
III/ Kiểm tra bài cũ:
GV: Viết câu lệnh While…do và nêu hoạt động của vòng lặp.
IV/ Quá trình dạy và học:
Hoạt động của
- Y/c hs thảo luận nhóm và viết chương trình bằng vòng lặp
while do
+Cần bao nhiêu biến?
- Cần 2 biến: S và n có kiểu integer
+ Giá trị đầu bao nhiêu? Giá trị cuối bao nhiêu?
- Giói thiệu cho hs cấu trúc khi viết câu lệnh lặp
- Y/ hs cho kq của chương trình
- 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 thúc Vd:
- Giá trị a luôn luôn = 5, Đk a < 6 luôn đúng Lệnh write (‘A’)
luôn thực hiện được
- Như vậy khi thực hiện vòng lặp ĐK trong câu lệnh phải được
thay đổi để giá trị của ĐK được chuyển từ đúng sang sai, khi đó
chương trình mới không rơi vào “Vòng lặp vô tận”
3/ Ví dụ:
Vd1: Viết chương trìnhtính tổng các số
tự nhiên đầu tiên S= 1+2+3+4+…+n(Tổng <= 1000)Program tong2;
Var S, n : integer;
BeginS:= 0; n:=1;
while S <= 1000 do begin
end
Cấu trúc:
Biến := gtđ;
while biến <= gtc do begin
Câu lệnh;
Biến := biến +1;
end;
4/ Lặp vô hạn lần Lỗi lập trình cần tránh.
Var a : integer;
Begin a:= 5;
While a< 6 do write (‘A’);
End
V/ Củng cố:
GV: Khác với vòng lặp For, trong vòng lặp While số lần lặp không xác định được, tuỳ thuộc vào người sử
dụng Như CT trên số lần lặp thực hiện cho đến khi tổng lớn hơn 1000
- Vậy khi nào ta dùng vòng lặp While? Khi số lần lặp ko xác định được
VI/ Dặn dò: - Làm BT 3, 4, 5 Sgk Trang 71.
Trang 8Tiết52 THỰC HÀNH VÒNG LẶP WHILE…DO (T1)
I/ Mục tiêu:
- Viết được chương trình có sử dụng các câu lệnh, vòng lặp và các phép toán đã học
- Nắm vững cách dùng câu lệnh If, vòng lặp While …do
II/ Chuẩn bị :
- Bài tập, phòng máy
III/ Kiểm tra bài cũ:
GV: Viết cú pháp vòng lặp While… do và nêu hoạt động của vòng lặp.
-Y/c hs hoàn thành CT trên máy
- Hoàn thành CT vào máy tính
- BTĐK như thế nào thì vòng lặp thực hiện? Đầu CT x
bằng bao nhiêu?
x <= 12, x = 1
-Y/c hs hoàn thành CT trên máy
-GV quan sát, theo dõi quá trình làm bài của hs, gợi ý,
+Chương trình kiểm tra ĐK như thế nào?
Cần 2 biến: i và n có kiểu integer
- Cần phải nhập n
- Gán biến chạy i =0;
- BTĐK: i<=n
- Nếu ĐK đúng thì ta kiểm tra xem số đó có phải là số chẵn
không, nếu đúng thì ta in ra, còn không thì thôi Sau đó
tăng biến lên 1 đơn vị và đến khi nào i>n thì thoát khỏi
vòng lặp
Y/c hs hoàn thành CT trên máy
-GV quan sát, theo dõi quá trình làm bài của hs, gợi ý,
hướng dẫn những nhóm còn yếu
1 Viết CT in ra màn hình 12 tháng trong năm với 12 dong “đây là tháng …” bằng 2 cách vòng lặp While do và for …do.
C1: Program vonglapFor;
Var x: interger;
Begin For x :=1 to 12 do Writeln (‘day la thang: ‘ , x);
While (x <=12) do Begin
Writeln (‘day la thang: ‘ , x);
Readln(n);
i:= 0;
while i <= n do begin
if i mod 2 = 0 then writeln(i);
i :=i+1;
end;
readln;
Trang 9V/ Dặn dò: - Xem lại các bài tập đã làm
Tiết 53 THỰC HÀNH VÒNG LẶP WHILE…DO (T2)
I/ Mục tiêu:
- Viết được chương trình có sử dụng các câu lệnh, vòng lặp và các phép toán đã học
- Nắm vững cách dùng câu lệnh If, vòng lặp While …do
II/ Chuẩn bị :
- Bài tập, phòng máy
III/ Kiểm tra bài cũ:
GV: Viết cú pháp vòng lặp While… do và nêu hoạt động của vòng lặp.
HS: - Lên bảng
IV/ Quá trình dạy và học:
Trang 10V/ Dặn dò:
- Xem lại các bài tập đã làm
Tiết 54 BÀI TẬP ÔN TẬP (T1)
I/ Mục tiêu:
- Củng cố lại kiến thức vòng lặp For…Do
- Sử dụng thành thạo vòng lặp để viết chương trình
II/ Chuẩn bị : - Giáo án.
III/ Kiểm tra bài cũ:
GV: Viết cú pháp câu lệnh lặp For… do, nêu các thành phần và hoạt động của vòng lặp.
IV/ Quá trình dạy và học:
Hoạt động của
- Gọi hs trả lời
a/ Sai, thừa dấu ;
b/ Sai, giá trị đầu phải nhỏ hơn giá trị cuối
c/ Đúng
d/ Sai, Thiếu từ khoá Do trong lệnh For thứ nhất
- Cho hs thảo luận và gọi hs trả lời?
B4: Nếu i<= m và i mod 2 <> 0, thì sum sum+i và quay
lại B3, Ngược lại (i>m) thì thông báo kết quả và kết thúc
-Y/c hs lên bảng viết chương trình
d/ For i:=1 to 10 For j:=1 to 10 do x:=x+1;
2 Đoạn chương trình Pascal sau đây, hãy cho biết lệnh Writeln in ra màn hình giá trị của j bao nhiêu? (i,j: kiểu số nguyên).
j:=2; k:=3;
For i:=1 to 5 do
If i mod 2 = 0 then j:=j+1;
writeln(j);
3 Viết CT tính tổng các số lẽ từ n đến m (với n, m được nhập vào từ bàn phím, và n<m ).
Program tinh_tong_le;
Var i, n : integer;
Sl: real;
Begin Write(‘Nhap n =’); Readln(n);
Write(‘Nhap m =’); Readln(m);
Sl:= 0;
For i: =n to m do
If i mod 2 <> 0 then Sl:= Sl + i;
Writeln(‘tong le la:’,Sl:4:2);
Readln;
End
V/ Dặn dò:
Trang 11- Xem lại các bài tập đã làm
- Viết chương trình in ra màn hình bảng cửu chương từ 1 9 Mỗi dòng 10 số
Tiết 55 BÀI TẬP ÔN TẬP (T2)
I/ Mục tiêu:
- Củng cố lại kiến thức vòng lặp While…Do
- Sử dụng thành thạo vòng lặp để viết chương trình
II/ Chuẩn bị : - Giáo án.
III/ Kiểm tra bài cũ:
GV: Viết cú pháp câu lệnh lặp While… do, nêu các thành phần và hoạt động của vòng lặp.
IV/ Quá trình dạy và học:
Hoạt động của
- Gọi hs trả lời Hs nhận xét
a/ Sai, x:=10 sau từ khoá while không có dấu :
b/ Sai, câu lệnh sau Do phải là phép gán, thiếu dấu :
c/ Sai, thiếu Begin…end; câu lệnh ghép sau do
- Cho hs thảo luận và gọi hs trả lời?
- Các nhóm nhận xét
- Y/c hs khai báo để hoàn thành 1 chương trình hoàn
chỉnh
-Y/c các nhóm hoàn thành CT
- Y/c hs thảo luận nhóm và sử dụng vòng lặp while do
+ Cần bao nhiêu biến?
+ Bắt đầu làm gì?
+ Tổng bắt đầu bằng bao nhiêu?
+ Có gán biến chạy ko? Vì sao?
+ BTĐK là gì?
+ Kiểm tra biểu thức điều kiện như thế nào?
- Cần 2 biến: biến số và biến S (số kiểu integer, và S kiểu
-Gọi đại diện các nhóm viết CT, các hs khác theo dõi và
1 Hãy chỉ ra lỗi trong các câu lệnh sau đây.
S:=0;
while so <>0 dobegin
Trang 12nhận xét.
-GV nhận xét và sửa bài
V/ Dặn dò:
- Xem lại các bài tập đã làm
- Viết CT in ra màn hình 12 tháng trong năm với 12 dong “đây là tháng …” bằng 2 cách vòng lặpWhile do và for …do
Tiết56 KIỂM TRA 1 TIẾT
I/ Mục tiêu: Thông qua bài kiểm tra, góp phần:
- Đánh giá kết quả học tập của học sinh
- Giúp học sinh chú ý hơn đến việc học của mình
- Rút kinh nghiệm, bổ sung kịp thời những tồn tại cần khắc phục của học sinh
- Rút kinh nghiệm, bổ sung kịp thời những tồn tại cần khắc phục của giáo viên
II/ Chuẩn bị :
- Bài kiểm tra
III/ Kiểm tra bài cũ:
IV/ Quá trình dạy và học:
Hoạt động của
- Phát bài kiểm tra
- Y/c hs làm bài nghiêm túc
1/ Đoạn chương trình Pascal sau:
j:= 2; k:=3;
For i:= 1 to 5 do
If I mod 2 = 0 then Begin
Trang 13Tiết SỬA BÀI KIỂM TRA 1 TIẾT
I/ Mục tiêu: Thông qua bài kiểm tra, góp phần:
- Đánh giá kết quả học tập của học sinh
- Giúp học sinh chú ý hơn đến việc học của mình
- Rút kinh nghiệm, bổ sung kịp thời những tồn tại cần khắc phục của học sinh
- Rút kinh nghiệm, bổ sung kịp thời những tồn tại cần khắc phục của giáo viên
II/ Chuẩn bị :
- Bài kiểm tra
III/ Kiểm tra bài cũ:
IV/ Quá trình dạy và học:
Hoạt động của
- Sửa bài kiểm tra
For i:= 1 to 5 do
If I mod 2 = 0 then Begin
S:= 0;
For i: =1 to n do
Trang 14- Bài kiểm tra
III/ Kiểm tra bài cũ:
IV/ Quá trình dạy và học:
Hoạt động của
- Phát bài kiểm tra
- Y/c hs làm bài nghiêm túc
- Kiểm tra, chấm bài
Làm bài
1/ Viết chương trình tính tổng (sử dụng vòng lặpxác định)
4 3
1 3 2
1 2 1
2/ Tính tích của N số tự nhiên đầu tiên với số lầnkhông xác định (N là số tự nhiên được nhập từ bànphím)
Tiết BÀI TẬP KIỂM TRA 15 ph (Thực hành nhóm 2)
I/ Mục tiêu:
- Củng cố lại kiến thức và rèn kĩ năng viết chương trình trên máy
II/ Chuẩn bị :
- Bài kiểm tra
III/ Kiểm tra bài cũ:
IV/ Quá trình dạy và học: