Giáo án môn Tin học 8 - Tiết 34 đến tiết 61

Bài thực hành số 7 (TT)

XỬ LÝ DÃY SỐ TRONG CHƯƠNG TRÌNH

I. MỤC TIÊU:

 1. Kiến thức:

 - Làm quen với việc khai báo và sử dụng biến mảng.

 - Ôn luyện cách sử dụng câu lệnh lặp for.do

 2. Kĩ năng:

 - Củng cố các Kĩ năng đọc hiểu và chỉnh sửa chương trình.

 3. Thái độ:

 - Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc.

 II. CHUẨN BỊ:

- GV: SGK, giáo án, tài liệu tham khảo

- Chuẩn bị phòng thực hành đủ số máy hoạt động tốt

- HS: Học kỹ lý thuyết, đọc trước bài thực hành

 III. PHƯƠNG PHÁP:

 - Phân nhóm Hs thực hành.

 - Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi và thực hành trên máy.

 - Gv quan sát, hướng dẫn các nhóm thực hành, nhận xét công việc của từng nhóm.

 

doc78 trang | Chia sẻ: anhquan78 | Lượt xem: 684 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Giáo án môn Tin học 8 - Tiết 34 đến tiết 61, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
nhớ kiến thức.
+ Chưa thể biết trước được, có thể một lần, có thể hai lần 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.
+ Đọc kĩ đề bài
+ Kí hiệu S là tổng cần tìm và ta có thuật toán như sau:
- Bước 1. S ¬ 0, n ¬ 0.
- Bước 2. Nếu S ≤ 1000, n ¬ n + 1; ngược lại chuyển tới bước 4.
-Bước 3. S ¬ S + n và quay lại bước 2.
- Bước 4. In kết quả : S và n là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật toán.
* Nhận xét : Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong các ví dụ trên, ta có thể sử dụng câu lệnh có dạng 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.
+ Ví dụ 1:
+ 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 nhỏ nhất lớn hơn 1000?
D. Củng cố (2 phút)
- Hãy nêu một số ví dụ trong cuộc sống mà các công việc lặp lại với số lần không biết trước.
E. Hướng dẫn về nhà (5 phút)
- Về nhà học bài, kết hợp SGK
V. RÚT KINH NGHIỆM SAU GIỜ DẠY
.................................................................................................................................
Ngày soạn:
Tiết 48 Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC 
I. MỤC TIÊU:
	1. Kiến thức:
- Biết được cú pháp và hoạt động của câu lệnh lặp với số lần không biết trước.
- Biết được một số lỗi lập trình cần tránh.
	2. Kĩ năng:
	- Rèn luyện Kĩ năng sử dụng các câu lệnh lặp không xác định trong Pascal
3. Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học.
II. CHUẨN BỊ:
GV: SGK, giáo án, tài liệu tham khảo
- HS: Học kỹ lý thuyết, đọc trước bài.
III. PHƯƠNG PHÁP:
	- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi.
	- Đàm thoại, thảo luận nhóm, gv hướng dẫn nhận xét và tổng kết.
IV. TIẾN TRÌNH DẠY - HỌC:
 A. Ổn định tổ chức (1’)
Thứ
Ngày dạy
Tiết
Lớp
Sĩ số
Tên HS vắng 
8A
8B
Kiểm tra bài cũ (2’): Viết cú pháp câu lệnh lặp với số lần chưa biết trước
C. Bài mới:
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
+ Hoạt động 1(23’): Tìm hiểu ví dụ về lệnh lặp với số lần không biết trước.
- Câu lệnh lặp không biết trước trong Pascal có dạng:
* Cú pháp:
While do
;
- Trong đó:
 Điều kiện?
 Câu lệnh?
? Yêu cầu học sinh nghiên cứu SGK => hoạt động của câu lệnh
- Ví dụ. Chương trình Pascal dưới đây thực hiện thuật toán tính tổng n.
- Yêu cầu học sinh tìm hiểu chương trình ở SGK.
? Hãy cho biết kết quả nhận được sau khi chạy chương trình.
+ Hoạt động 2(13’): Tìm hiểu lặp vô hạn và những lỗi lập trình cần 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. 
- Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận:
var a:integer;
begin
a:=5;
while a<6 do writeln('A');
end.
+ Học sinh chú ý lắng nghe => ghi nhớ kiến thức.
+ Đ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.
+ Học sinh nghiên cứu SGK => hoạt động:
- B1. Kiểm tra điều kiện.
- B2. Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện câu 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 B1
+ Nghiên cứu chương trình ở SGK theo yêu cầu của giáo viên.
+ Kết quả nhận được sau khi chạy chương trình là n = 45 và tổng tiên lớn hơn 1000 là 1034.
+ Học sinh chú ý lắng nghe => ghi nhớ kiến thức.
2. Ví dụ về lần lặp với số lần chưa biết trước.
+ Cú pháp:
While do
;
+ Hoạt động:
- B1. Kiểm tra điều kiện.
- B2. Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện câu 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 B1
3. Lặp vô hạn – Lỗi lập trình cần 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. 
D. Củng cố (2 phút)
- Hãy nêu cú pháp và hoạt động của vòng lặp While ..do
E. Hướng dẫn về nhà (5 phút)
- Về nhà học bài, kết hợp SGK
V. RÚT KINH NGHIỆM SAU GIỜ DẠY
.................................................................................................................................................................................................................................................................
Ngày soạn: 
Tiết 49 Bài thực hành 6: SỬ DỤNG LỆNH LẶP WHILE...DO
I. MỤC TIÊU:
	1. Kiến thức:
	- Viết chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước.
	2. Kĩ năng:
	- Rèn luyện Kĩ năng đọc chương trình, tìm hiểu tác dụng của các câu lệnh.
	3. Thái độ:
	- Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc.
II. CHUẨN BỊ:
GV: SGK, giáo án, tài liệu tham khảo
Chuẩn bị phòng thực hành đủ số máy hoạt động tốt
- HS: Học kỹ lý thuyết, đọc trước bài thực hành
III. PHƯƠNG PHÁP:
	- Phân nhóm Hs thực hành.
	- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi và thực hành trên máy.
	- Gv quan sát, hướng dẫn các nhóm thực hành, nhận xét công việc của từng nhóm. 
IV. TIẾN TRÌNH DẠY - HỌC:
A. Ổn định tổ chức (1’)
Thứ
Ngày dạy
Tiết
Lớp
Sĩ số
Tên HS vắng 
8A
8B
B. Kiểm tra bài cũ: Xen kẽ giờ thực hành
	C. Bài mới:	
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
+ Hoạt động 1(38’): Làm bài tập 
1. Viết chương trình sử dụng lệnh lặp While  do để tính n số thực x1,x2,x3xn. Các số n và x1,x2,x3, xn được nhập từ bàn phím.
- Ý tưởng?
- Mô tả thuật toán của chương trình, các biến dự định sẽ sử dụng và kiểu của chúng
- Gõ chương trình sau đây:
Program tinh_trung_binh;
Var n, dem: integer;
 X, tb: real;
 Begin 
 Dem:=0; tb:=0;
 Writeln(‘nhap cac so can tinh n =’); 
 Readln(n);
 While dem < n do
 Begin
 Dem:= dem + 1;
 Writeln(‘nha so thu’, dem,’=’); Readln(x);
 Tb:= tb + x;
 End;
 Tb:=tb/n;
 Witeln(‘Trung binh của’,n,’so là =’, tb:10:3);
Readln;
End.
- Lưu chương trình với tên tinh_tb.
- Đọc hiểu và tìm hiểu ý nghĩa của từng câu lệnh. Dịch chương trình và sửa lỗi, nếu có. Chạy chương trình với các bộ dữ liệu được gõ từ bàn phím và kiểm tra kết quả nhận được.
+ Sử dụng một biến đếm và lệnh lặp Whiledo để nhập và cộng dần các số vào một biến kiểu số thực cho đến khi nhập đủ n số.
+ Chú ý lắng nghe => ghi nhớ kiến thức.
+ Học sinh độc lập gõ chương trình vào máy.
+ Học sinh lưu chương trình theo yêu cầu của giáo viên.
+ Học sinh thực hiện theo yêu cầu của giáo viên.
1. Viết chương trình sử dụng lệnh lặp While  do để tính n số thực x1,x2,x3xn. Các số n và x1,x2,x3, xn được nhập từ bàn phím.
D. Củng cố (5 phút)
	Giáo viên nhận xét và đánh giá tiết thực hành.
E. Hướng dẫn về nhà: (2 phút)
	- Tiết sau thực hành: “ Bài thực hành số 6”
V. RÚT KINH NGHIỆM SAU GIỜ DẠY
.................................................................................................................................................................................................................................................................
Ngày soạn:
 Tiết 50 Bài thực hành 6
SỬ DỤNG LỆNH LẶP WHILE...DO 
I. MỤC TIÊU:
	1. Kiến thức:
	- Viết chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước.
	2. Kĩ năng:
	- Rèn luyện Kĩ năng đọc chương trình, tìm hiểu tác dụng của các câu lệnh.
	3. Thái độ:
	- Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc.
II. CHUẨN BỊ:
GV: SGK, giáo án, tài liệu tham khảo
Chuẩn bị phòng thực hành đủ số máy hoạt động tốt
- HS: Học kỹ lý thuyết, đọc trước bài thực hành
III. PHƯƠNG PHÁP:
	- Phân nhóm Hs thực hành.
	- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi và thực hành trên máy.
	- Gv quan sát, hướng dẫn các nhóm thực hành, nhận xét công việc của từng nhóm. 
IV. TIẾN TRÌNH DẠY - HỌC:
A. Ổn định tổ chức(1’)
Thứ
Ngày dạy
Tiết
Lớp
Sĩ số
Tên HS vắng 
8A
8B
B. Kiểm tra bài cũ: Xen kẽ giờ thực hành
	C. Bài mới:
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
+ Hoạt động 1(30’): Làm bài tập 2 ở SGK
- Gọi học sinh đọc đề bài ở sách giáo khoa.
- Ý tưởng?
- Giáo viên đưa ra ý tưởng để học sinh tìm hiều.
Ý tưởng: Kiểm tra lần lượt N có chia hết cho các số tự nhiên 2 ≤ i ≤ N hay không. Kiểm tra tính chia hết bằng phép chia lấy phần dư (mod).
? Đọc và tìm hiểu ý nghĩa của từng câu lệnh trong chương trì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 i0) do i:=i+1;
 if i=n then writeln(n,' la so nguyen to!')
 else writeln(n,' khong phai la so nguyen to!');
 end;
readln
end.
+Hoạt động 2(8’): Gõ chương trình vào máy, chạy chương trình và kiểm tra kết quả.
Bài 2. Tìm hiểu chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không.
- Học sinh tìm hiểu ý tưởng theo sự hướng dẫn của giáo viên.
+ Học sinh đọc chương trình và tìm hiểu ý nghĩa của từng câu lệnh theo sự hướng dẫn của giáo viên.
+ Học sinh độc lập gõ chương trình vào máy.
+ Nhấn Ctrl + F9 để chạy và kiểm tra chương trình.
Bài 2. Tìm hiểu chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không.
D. Củng cố: (5 phút)
	Giáo viên nhận xét và đánh giá tiết thực hành.
E. Hướng dẫn về nhà: (2 phút)
	- Tiết sau làm bài tập
V. RÚT KINH NGHIỆM SAU GIỜ DẠY
.................................................................................................................................................................................................................................................................
-------------------------------- & ----------------------------------
Ngày soạn:
Tiết 51 BÀI TẬP
I. MỤC TIÊU:
	1. Kiến thức:
	- Viết chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước.
	2. Kĩ năng:
	- Rèn luyện khả năng đọc chương trình, tìm hiểu tác dụng và kết hợp các câu lệnh. 
3. Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học.
II. CHUẨN BỊ:
Sách giáo khoa, máy tính điện tử.
III. PHƯƠNG PHÁP
 Ôn tập kiến thức, viết chương trình. 
IV. TIẾN TRÌNH DẠY - HỌC:
A. Ổn định tổ chức(1’)
Thứ
Ngày dạy
Tiết
Lớp
Sĩ số
Tên HS vắng 
8A
8B
B. Kiểm tra bài cũ: xen kẽ giờ bài tập
	C. Bài mới:
Hoạt động của Giáo viên
Hoạt động của Học sinh
Nội dung ghi bảng
+ Hoạt động 1(13’): Nêu sự khác biệt giữa câu lệnh xác định và câu lệnh không xác định
.
+ Hoạt động 2(30’): Bài tập.
 ? Hãy 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 đó.
BT 1: Cho 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.
Sự khác biệt:
a) Câu lệnh lặp với số lần lặp cho trước chỉ thị cho máy tính thực hiện một lệnh hoặc một nhóm lệ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ần lặp chưa biết trước thì số lần lặp chưa được xác định trước. 
b) Lệnh lặp với số lần cho trướ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, còn trong câu lệnh lặp với số lần lặp chưa biết trước, điều kiện tổng quát hơn nhiều, có thể là kiểm tra một giá trị của một số thực
c) 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. Lệnh lặp với số lần chưa xác định trước, trước hết điều kiện được kiểm tra. Nếu điều kiện được thoả mãn, câu lệnh mới được thực hiện. 
a. Sai vì sau while là một ĐK.
b. Sai vì thừa dấu ; trước do.
c. Sai vì lặp vô hạn, n:=n+2 nằm ngoài vòng lặp nên không được thực hiện (đúng cú pháp)
d. Đúng
1. Lý thuyết
Nêu sự khác biệt giữa câu lệnh xác định và câu lệnh không xác định.
2. Bài tập: 
a) Thuật toán 1: 10 vòng lặp, 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 vì đk được thỏa mãn nên các bướ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);
BT 2: trong các câu lệnh sau, câu lệnh nào sai, tại sao?
a. while a:=4 do a:= a+b;
b. while t<5; do write(‘A’);
c. n:=0; s:=0; while n<10 do
 s:=s+n; n:=n+2;
d. i:=1; s:=0; while s>5 
đ. begin s:=s+i; i:=i+1 end;
D. Củng cố: Kiến thức trọng tâm của bài
E. Hướng dẫn về nhà: (2 phút)
 Về nhà học bài tiết sau làm bài tập tiếp.
V. RÚT KINH NGHIỆM SAU GIỜ DẠY
.................................................................................................................................
Ngày soạn:
Tiết 52 BÀI TẬP
I. MỤC TIÊU:
	1. Kiến thức:
	- Sử dụng các kiến thức đã học để làm một số bài tập
	2. Kĩ năng:
	- Rèn luyện Kĩ năng sử dụng các câu lệnh trong Pascal
3. Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học.
II. CHUẨN BỊ:
Sách giáo khoa, máy tính điện tử.
III. PHƯƠNG PHÁP
 Phát vấn
 Hướng dẫn làm bài.
IV. TIẾN TRÌNH DẠY - HỌC:
A. Ổn định tổ chức (1’)
Thứ
Ngày dạy
Tiết
Lớp
Sĩ số
Tên HS vắng 
8A
8B
B. Kiểm tra bài cũ: xen kẽ
	C. Bài mới:
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
 Hoạt động 1(14’): Bài tập 1.
- Sau khi thực hiện đoạn chương trình sau, giá trị của biến j bằng bao nhiêu ?
J:= 0;
For i:= 1 to 5 do
J:= j + 2;
 Hoạt động 2(10’): Bài tập 2
Sau mỗi đoạn chương trình sau, giá trị các biến là bao nhiêu?
Chương trình 1:
i:=1; T:=0; while T<10 do
 T:= T+i; i:= i+9; 
Chương trình 2:
So:= 1;
While so<10 do write(so);
So:= so +1;
Chương trình 3
a:= 0; b:=0; while a>10 do
begin a:=a+2;b:= b+2; end;
Chương trình 4:
i:=0; n:= 1; while i<10 do
 i:=i+1; n:=n+i;
Hoạt động 3(19’): Bài tập 3.
- Các câu lệnh Pascal sau có hợp lệ không? Vì sao?
a) For i:= 100 to 1 do
Writeln(‘A’);
b) For i:= 1.5 to 10.5 do
Writeln(‘A’);
c) For i:= 1 to 10 do
Writeln(‘A’);
d) For i:= 1 to 10 do;
Writeln(‘A’);
Hoạt động 4: Bài tập 4
- Viết chương trình in ra màn hình bảng cửu chương 2.
- Yêu cầu học sinh viết chương trình.
- Nhận xét chương trình của học sinh.
- Yêu cầu học sinh dịch, sửa lỗi và chạy chương trình
+ Sau khi thực hiện đoạn chương trình trên, giá trị của biến j = 10.
- Câu lệnh i:=i+9 nằm ngoài vòng lặp nên sẽ được thực hiện khi vòng lặp kết thúc.
Tương tự chương trình 1
Khi thực hiện, ĐK sai nên câu lệnh ghép không được thực hiện
Câu lệnh n:=n+i nằm ngoài vòng lặp nên sẽ được thực hiện khi vòng lặp kết thúc.
+ Học sinh đọc đề bài => suy nghĩ và trả lời.
a) Câu lệnh này không hợp lệ vì giá trị đầu lớn hơn giá trị cuối.
b) Câu lệnh này không hợp lệ vì giá trị đầu và giá trị cuối không phải là giá trị nguyên.
c) Đây là câu lệnh hợp lệ.
d) Đây là câu lệnh không hợp lệ vì sau từ khóa do không có dấu chấm phẩy.
+ Học sinh tìm hiều đề bài.
+ Học sinh viết chương trình theo yêu cầu của giáo viên.
1. Bài tập 1
- Sau khi thực hiện đoạn chương trình sau, giá trị của biến j bằng bao nhiêu ?
J:= 0;
For i:= 1 to 5 do
J:= j + 2;
2. Bài tập 2.
T = 10
i = 10
Lặp vô hạn
a = 0
b = 0
i = 10
n = 11
3. Bài tập 3.
- Các câu lệnh Pascal sau có hợp lệ không? Vì sao?
a) For i:= 100 to 1 do
Writeln(‘A’);
b) For i:= 1.5 to 10.5 do Writeln(‘A’);
c) For i:= 1 to 10 do
Writeln(‘A’);
d) For i:= 1 to 10 do;
Writeln(‘A’);
4. Bài tập 4
 - Viết chương trình in ra màn hình bảng cửu chương 2.
Program in_bang_cuu_chuong ;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln(‘2 lan’,i,’=’i*2);
Readln;
End.
D. Củng cố (2’)
 GV nhắc lại kiến thức trọng tâm của bài qua các bài tập đã làm.
E. Hướng dẫn về nhà: (2 phút)
- Về nhà học bài kết hợp sách giáo khoa, tiết sau kiểm tra 1 tiết 
V. RÚT KINH NGHIỆM SAU GIỜ DẠY
.................................................................................................................................................................................................................................................................
Ngày soạn:
Tiết 53 KIỂM TRA (1 TIẾT)
I/ MỤC TIÊU
1.Kiến thức: 
- Hiểu và vận dụng được câu lệnh điều kiện.
- Hiểu được một vài hoạt động lặp với số lần biết trước và số lần chưa biết trước trong đời sống thực tế.
- Nắm vững cú pháp, các thành phần có trong câu lệnh và mô tả được quá trình hoạt động của hai câu lệnh lặp For do và While do.
- Biết được chức năng của phần mềm Geogebra.
2.Kỹ năng: 
- Học sinh vận dụng được hai câu lệnh For do và While do để viết được một chương trình cụ thể, nhận biết được các lỗi khi sử dụng sai các quy tắc, cú pháp
3. Thái độ
 - Nghiêm túc để thực hiện tốt bài kiểm tra.
II. PHƯƠNG PHÁP
 - Kiểm tra nhận thức của học sinh qua bài kiểm tra viết tự luận và trắc nghiệm.
III. CHUẨN BỊ
 - Đề bài kiểm tra.
IV. TIẾN TRÌNH DẠY - HỌC:
A. Ổn định tổ chức (1’)
Thứ
Ngày dạy
Tiết
Lớp
Sĩ số
Tên HS vắng 
8A
8B
B. Kiểm tra bài cũ: (1’) không gv phát đề kiểm tra.
	C. Bài mới: (40’)
I/ MA TRẬN ĐỀ
 Mức độ
Nội dung ghi bảng
Nhận biết
Thông hiểu
Vận dụng
Tống
TN
TL
TN
TL
TN
TL
Bài 6: Câu lệnh điều kiện
1
0,5
1
0,5
1
0,5
3
1,5
Bài 7: Câu lệnh lặp
2
1
1
1
3
2
Bài 8: Lặp với số lần chưa biết trước
1
0,5
1
 0,5
1
0,5
2
5
4
6,5
Tổng
5
2
2
1
3
7
10
10
Tỷ lệ(%)
20
30
50
II/ ĐỀ KIỂM TRA
A/ Phần trắc nghiệm: (4 điểm- mỗi câu 0,5 điểm) Hãy chọn một đáp án đúng nhất.
Câu 1. Trong Pascal, câu lệnh điều kiện dạng thiếu có dạng:
 A. if then ;	B. if then ;
 C. if do ;	D. if else ;.
Câu 2. Trong Pascal, câu lệnh nào sau đây được viết đúng?
	A. if x := a+b then x := x+1;	B. if a>b; then a := a+b;
	C. if a>5 do a := a+b;	D. if a>10 then x := x+1;
Câu 3. Sau câu lệnh: x := 5; if (x mod 2) = 0 then x := x+5. Giá trị của biến x là bao nhiêu?
A. 5;	B. 6;	C. 0;	D. 10.
Câu 4. Trong Pascal, câu lệnh nào sau đây được viết đúng?
 A. for i := 10 to 1 do writeln(‘A’);	B. for i := 1.5 to 5.5 do writeln(‘A’)
C. for	i := 1 to 100 do writeln(‘A’);	D. for i := 1 to 10; do writeln(‘A’);
Câu 5. Sau câu lệnh lặp: for n:= 1 to 10 do S := S + 3; giá trị của biến S là bao nhiêu nếu ban đầu S có giá trị bằng 0?
A. 30;	B. 20;	C. 10;	D. 0.	
Câu 6. Trong Pascal, câu lệnh nào sau đây là đúng?
 A. i:=1; S:=0;	B. i:=0; S:=1;
 While S<10 do S:=S+i; i:=i+1; 	 while s<10 do S:=S+i; i:=i+1; 
C. n:=0; while n<5 do write(‘A’); n:=n+1;	D. Cả A và B.
Câu 7. Khi thực hiện đoạn chương trình sau: n:=0; T:=1;
 While n < 10 do n:=n+2; T:=T+n;
Hãy cho biết giá trị của biến T là bao nhiêu?
	A. 11	B. 31	C. 21	D. 13	
Câu 8. Đoạn chương trình sau: n := 1;
 While n <= 10 do write(n); n := n + 1; Sẽ cho kết quả là gì?
	A. In ra các số từ 1 đến 10;	B. In ra vô hạn các số 1;
	C. In ra số 1;	D. Không phương án nào đúng.
B/ Phần tự luận: ( 6 điểm)
Câu 1: Nhập vào 1 số n từ bàn phím. Xét xem số đó là chẵn hay lẻ để đưa ra màn hình.
Câu 2. (3 điểm) Giả sử S là tích của n số tự nhiên đầu tiên. Dùng câu lệnh lặp while  do viết chương trình xác định n bằng bao nhiêu để S nhỏ nhất lớn hơn 10000.
III ĐÁP ÁN
A/ Phần trắc nghiệm: (4 điểm)
Mỗi câu đúng 0,5 điểm
Câu
1
2
3
4
5
6
7
8
Đáp án
B
D
A
C
A
A
B
B
B/ Phần tự luận: (6 điểm)
CÂU
ĐÁP ÁN
ĐIỂM
Câu 1
If n mod 2= 0 then write (‘ n la so chan’) else write(‘n la so le)
2
Câu 2
Program tim_n;
Uses crt;
Var n, S : integer;
Begin
Clrscr;
N := 0; S := 0;
While S <= 10000 do begin n := n+1; S := S+n end;
Writeln(‘N = ‘,n,’ thi S nho nhat lon hon 10000’);
Readln;
End.
1
1
1
D. Củng cố (1’)
 GV nhận xét giờ kiểm tra.
E. Hướng dẫn về nhà: (2 phút)
- Về nhà học bài kết hợp sách giáo khoa chuẩn bị bài sau.
V. RÚT KINH NGHIỆM SAU GIỜ DẠY
................................................................................................................................................................................................................................................................

File đính kèm:

  • docQuan_sat_hinh_khong_gian_voi_phan_mem_Yenka.doc