Giáo án Tin học Lớp 8 - Tuần 25 - Năm học 2017-2018

I. MỤC TIÊU BÀI HỌC:

1. Kiến thức, kỹ năng, thái độ

a. Kiến thức:

- Đánh giá kiến thức của học sinh

 Chương I. Lập trình đơn giản

I.1. Câu lệnh lặp

I.1.1 Câu lệnh lặp

I.1.2. Ví dụ về câu lệnh lặp

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

I.2. Lặp với số lần chưa biết trước

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

I.2.2. Ví dụ về lệnh lặp với số lần chưa biết trước

 b. Kỹ năng:

 2.1. Viết chương trình cĩ cu lệnh lặp For.to.do, while.do

 2.2. Đọc hiểu chương trình

 * Thái độ: Nghiêm túc trong thi cử.

2. Năng lực có thể hình thành và phát triển cho học sinh:

- Hình thành năng lực giải quyết vấn đề và sáng tạo: Tư duy những kiến thức đã học.

II. Chuẩn bị về tài liệu và phương tiện dạy học:

 * GV: Ra đề và đáp án, đánh máy, in ấn, phôtô.

 * HS: Ôn tập kỹ.

 III. Tổ chức hoạt động học của học sinh:

1. Hoạt động dẫn dắt vào bài:

2. Hoạt động hình thành kiến thức:

 

doc7 trang | Chia sẻ: hatranv1 | Lượt xem: 432 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Giáo án Tin học Lớp 8 - Tuần 25 - Năm học 2017-2018, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn: 6/3/2018
Tuần: 25
Tiết: 49
BÀI TẬP (tt)
	I. Mục tiêu bài học:
Kiến thức, kĩ năng, thái độ
* Kiến thức: Viết được chương trình Pascal có sử dụng vòng lặp While ... do
* Kỹ năng: 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
* 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.
2. Năng lực có thể hình thành và phát triển cho học sinh:
- Hình thành năng lực giải quyết vấn đề và sáng tạo, năng lực khoa học máy tính cơ bản: Phân tích được các bài toán.
- Hình thành khả năng hoạt động nhóm trao đổi tìm ra kiến thức
II. Chuẩn bị về tài liệu và phương tiện dạy học:
- GV: Sách giáo khoa, giáo án, tài liệu tin học có liên quan.
- HS: Đọc tài liệu ở nhà trước khi 
III. Tổ chức hoạt động học của học sinh:
1. Hoạt động dẫn dắt vào bài:
2. Kiểm tra bài cũ: Kiểm tra đan xen trong lúc làm bài tập
3. Hoạt động hình thành kiến thức: 
HOẠT ĐỘNG CỦA GV VÀ HS
NỘI DUNG 
Bài 9: Lập trình tính tổng dùng lệnh lặp While ...do. Trong đó n là số tự nhiên đợc nhập từ bàn phím.
Bài 10: Viết chương trình tìm ƯCLN(a,b). Biết a, b được nhập từ bàn phím. a,b
Bài 11: Viết chương trình tìm BCNN(a,b). Biết a, b được nhập từ bàn phím.
Bài 12: Xem ví dụ sau trong pascal:
Uses crt;
Var i:integer;
Begin
	Clrscr;
I:=1
	while i<15 do
	begin
 	Writeln(‘0’);
i:=i+1
	End;
	Readln;
End.
Ví dụ trên ghi ra màn hình bao nhiêu chữ số 0? (14)
GIẢI
Program tinhA;
Uses CRT;
Var i, n: integer;
tong: real;
BEGIN
Clrscr;
write('cho so tu nhien n: '); Readln(n);
tong:=0; i:=1;
while i<= n do
Begin
tong:= tong+ 1/i;
i: = i+1;
End;
writeln(' Tong can tim la: ', tong:12:6);
Readln;
END.
 Giải
Program timUCLN;
Uses Crt;
Var a,b,r,a1,b1: integer;
BEGIN
ClrScr;
Write(‘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;
a: = b; b: = r;
End;
Write (‘ Vay UCLN(‘, a1, ‘;’,b1,’)=’,b:2);
Readln
END.
Giải
Program timBCNN;
Uses Crt;
Var a,b,n,min,max,max1: integer;
BEGIN
Write(‘Nhap so thu nhat, a= ‘); Readln(a); a1:= a;
Write(‘Nhap so thu hai, = ‘); Readln(b); b1:= b;
If a>b then
 Begin max: = a; min:=b; End
 Else Begin max:=b; min:= a; End;
n:= 2; max1:=max;
While max mod min 0 Do
 Begin
max:= max1*n;
inc(n); {n:=n+1}
End;
Write (‘ Vay BCNN(‘, a, ‘;’,b,’)=’,max:2);
Readln
END.
	4. Hoạt động luyện tập
Học bài, làm lại các bài tập.
5. Hoạt động vận dụng
6. Hoạt động tìm tòi, mở rộng Hướng dẫn các em về nhà xem lại phần lí thuyết đã học và thực hiện lại các bài tập đã làm
IV. RÚT KINH NGHIỆM:
..
Ngày soạn: 6/3/2018
Tuần: 25
Tiết: 30
KIỂM TRA MỘT TIẾT 
I. MỤC TIÊU BÀI HỌC:
1. Kiến thức, kỹ năng, thái độ
a. Kiến thức:
- Đánh giá kiến thức của học sinh 
 Chương I. Lập trình đơn giản
I.1. Câu lệnh lặp
I.1.1 Câu lệnh lặp
I.1.2. Ví dụ về câu lệnh lặp
I.1.3. Tính tổng và tích bằng câu lệnh lặp
I.2. Lặp với số lần chưa biết trước
I.2.1. Các hoạt động với lặp số lần chưa biết trước
I.2.2. Ví dụ về lệnh lặp với số lần chưa biết trước
 b. Kỹ năng:
	2.1. Viết chương trình cĩ cu lệnh lặp For..to..do, while..do
	2.2. Đọc hiểu chương trình
 * Thái độ: Nghiêm túc trong thi cử.
2. Năng lực có thể hình thành và phát triển cho học sinh:
- Hình thành năng lực giải quyết vấn đề và sáng tạo: Tư duy những kiến thức đã học.
II. Chuẩn bị về tài liệu và phương tiện dạy học:
 * GV: Ra đề và đáp án, đánh máy, in ấn, phôtô.
 * HS: Ôn tập kỹ.
	III. Tổ chức hoạt động học của học sinh:
Hoạt động dẫn dắt vào bài:
Hoạt động hình thành kiến thức: 
 Cấp độ
Nội dung
Nhận biết
Thông hiểu
Vận dụng
Cộng
Cấp độ thấp
Cấp độ cao
TN
TL
TN
TL
TN
TL
TN
TL
Câu lệnh lặp
Câu 1, 2, 4, 5, 6, 7,12,16,17
Câu 9, 10, 11, 13, 14
Câu 22a, 22c
2.5
1
1
4.5
Lặp với số lần chưa biết trước
Câu 3,8,15,18,19,20
Câu 22b, 22d
Câu 21
Câu 23
1.5
1
2
1
5.5 
Tổng số điểm
4
3
2
1
10
40%
30%
20%
10%
100%
ĐỀ
Phần I: (5đ) TRẮC NGHIỆM
Câu 1: Trong vòng lặp For := to do củaPascal, trong mỗi vòng lặp, biến đếm thay đổi như thế nào:
+1
-1
+2
+3
Câu 2: Phát biểu nào sau đây là đúng:
Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thoả mãn.
Chỉ ngôn ngữ lập trình Pascal mới có các câu lệnh lặp để thể hiện cấu trúc lặp.
Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh Whiledo.
Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp chưa biết trước bằng câu lệnh Fordo.
Câu 3: Câu lệnh lặp whiledo có dạng đúng là:
x:=10; While x:=10 do x:=x+5;
x:=10; While x:=10 do x=x+5;
x:=10; While x=10 do x=x+5;
x:=10; While x=10 do x:=x+5;
Câu 4: Câu lệnh pascal nào sau đây là hợp lệ?
For i:=100 to 1 do writeln(‘A’);
For i:= 1 to 10 do writeln(‘A’);
For i:=1.5 to 10.5 do writeln(‘A’);
For i= 1 to 10 do writeln(‘A’);
Câu 5: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
 s:=0;
 for i:=1 to 5 do s := s+i;
 writeln(s);
 Kết quả in lên màn hình là của S là : 
11
15 
10
5
Câu 6: Lần lượt thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i:3:1); sẽ viết ra màn hình:
Thứ tự của biến đếm, chiếm 3 chỗ và lấy 1 chữ số sau phần thập phân.
Viết số 1 rồi viết số 3.5.
Chỉ viết số 3.5 mà thôi.
Không thực hiện được vì giá trị của biến đếm có kiểu thứ tự là Real.
Câu 7: Trong câu lệnh lặp 
For i:=1 to 10 do
begin
..
End
Câu lệnh ghép được thực hiện bao nhiêu lần (bao nhiêu vòng lặp được thực hiện):
không lần nào.
2 lần.
1 lần.
10 lần.
Câu 8: Tìm hiểu đoạn lệnh sau và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp:
S:=0; n:=0;
While S< =10 do
Begin
	n:=n+1;
	s:=s+n;
end;
4 lần
5 lần
6 lần
10
Câu 9: Câu lệnh nào sau đây lặp vô hạn lần:
s:=5; i:=0;
While i<=s do s:=s + 1;
s:=5; i:=1;
While i<=s do i:=i + 1;
s:=5; i:=1;
While i> s do i:=i + 1;
s:=0; i:=0;
While i<=n do 
if (i mod 2)=1 then S:=S + i else i:=i+1;
Câu 10: Để tính tổng S=1 + 2 +3 +4  + n; em chọn đoạn lệnh:
for i:=1 to n do 
	if ( i mod 2)=0 then S:=S + i;
for i:=1 to n do
	if ( i mod 2)=1 then S:=S + i;
for i:=1 to n do
	S:= S + i ;
for i:=1 to n do 
	if ( i mod 2)0 then S:=S + i;
Câu 11: Để tính tổng S=2 + 4 + 6  + n; em chọn đoạn lệnh:
For i:=1 to n do 
	if ( i mod 2)=0 then S:=S + i;
For i:=1 to n do
	S:= S + i ;
c. For i:=1 to n do
	if ( i mod 2)=1 then S:=S + i;
for i:=1 to n do
	if ( i mod 2)0 then S:=S + i;
Câu 12: Để tính tổng S=1/2+1/4 + 1/6 +  +1/ n; em chọn đoạn lệnh:
for i:=1 to n do
	if ( i mod 2)=0 then S:=S + 1/i;
for i:=1 to n do
	if ( i mod 2) 0 then S:=S + i;
for i:=1 to n do
if ( i mod 2)=0 then S:=S – 1/i 
	else S:= S + 1/i; 
for i:=1 to n do
 if ( i mod 2)=0 then S:=S +1/ i 
 else S:=S-1/i;
Câu 13: Để đếm có bao nhiêu số lẻ nhỏ hơn hay bằng n ; em chọn đoạn lệnh:
for i:=1 to n do
	if ( I mod 2)0 then S:=S + 1;
for i:=1 to n do
	if ( I mod 2) =0 then S:=S + 1;
for i:=1 to n do
	if ( I mod 2)=0 then S:=S + I ;
for i:=1 to n do
	if ( I mod 2)=0 then S:=S + I;
Câu 14: Nhặt thóc ra khỏi gạo đến khi trong gạo không còn thóc là :
A. Lặp với số lần biết trước	B. Lặp vô số lần
C. Lặp 10 lần	D. Lặp với số lần chưa biết trước
Câu 15: Để sửa lỗi chương trình Turbo Pascal ta sử dụng phím tắt nào trong các phím sau:
A. F9	B. Shift + F9 	C. Ctrl + F9	D. Alt + F9
Câu 16: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng:
A. Chỉ số đầu và chỉ số cuối là 2 số nguyên;	B. Chỉ số đầu £chỉ số cuối;
C. Kiểu dữ liệu có thể là integer hoặc real;	D. Chỉ số đầu >chỉ số cuối;
Câu 17 : Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=0 to 10 do ..”
A. 13 lần	B. 12 lần	C. 11 lần	 D. 10 lần
Câu 18: Trong các câu lệnh lặp Pascal sau đây, câu nào đúng
A. While i:= 1 do t:=10	
B. While x<=y ; do Writeln (‘y khong nho hon x’) ;
C. While 1 = 1; do Writeln (‘Dung’) ;
D. While (n mod i 0) do i:= i+ 1 ;
Câu 19: Thuật toán sau 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? 
 - 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.
A. 9 vòng lặp, S=5.5	C. 11 vòng lặp, S=4.5
B. 10 vòng lặp, S=5 	 D. 12 vòng lặp, S=4
Câu 20: Trong các hoạt động dưới đây, hoạt động nào là hoạt động lặp với số lần chưa biết trước?
A. Tính tổng các số tự nhiên từ 1 đến 20.
B. Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số.
C. Mỗi ngày học bài 2 lần.
D. Nhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng.
Phần 2: (5đ) TỰ LUẬN
Câu 21: Hãy sắp xếp lại đoạn chương trình sau cho đúng: (2đ)
	Var	s, n: integer;
	S:=0; n:=1;
	While S<=100 do
	n:=n+1;	
	S:=S+n;
	End;
	Writeln(‘so n nho nhat de tong>100 la’,n);
	Readln;
	End.
	Begin
	Begin
	Writeln(‘tong dau tien >100)la’,S);
Câu 22: (2đ) Hãy xác định đúng sai cho những phát biểu dưới đây
Nội dung
Đúng
Sai
a. Trong câu lệnh sau do của câu lệnh lặp While  do phải có lệnh làm thay đổi giá trị của điều kiện điều khiển vòng lặp, để sau một số lần hữu hạn lần lặp, điều kiện phải có giá trị “sai”, vòng lặp sẽ được kết thúc (không bị lặp vô hạn lần).
b. Trong nhiều trường hợp, việc thực hiện câu lệnh lặp While do tốn ít thời gian hơn so với câu lệnh lặp for  do.
c. Câu lệnh sau do trong câu lệnh lặp while  do có thể không được thực hiện lần nào nếu ngay từ đầu điều kiện điều khiển vòng lặp có giá trị “sai”.
d. Mọi câu lệnh lặp Fordo đều có thể thay thế một cách thích hợp bởi câu lệnh While..do.
Câu 23: (1đ) Viết chương trình tính tổng n số tự nhiên với S<=1000?
A: TRẮC NGHIỆM( 5 điểm) Mỗi ý đúng 0.25đ
Câu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Đáp án
A
A
D
B
B
D
D
A
A
C
A
A
A
D
D
C
C
D
B
B
B: TỰ LUẬN (5điểm)
Câu 21: (2 điểm)
Var	s, n: integer;
	S:=0; n:=1;
	Begin
While S<=100 do
	Begin
n:=n+1;	
	S:=S+n;
	End;
	Writeln(‘so n nho nhat de tong>100 la’,n);
	Writeln(‘tong dau tien >100)la’,S);Readln;
	End.
	Câu 22: (2 điểm) Mỗi ý đúng 0.5đ
Đúng 
Sai
Đúng 
Đúng 
Câu 23: (2 điểm)
Program tinh_tong;
 Uses crt;
 Var S,n : integer;
Begin
 Clrscr;
S:=0; n:=0;
While S<=1000 do
	Begin
n:=n+1;	
	S:=S+n;
	End;
	Writeln(‘so n nho nhat de tong>1000 la’,n);
	Writeln(‘tong dau tien >100)la’,S);Readln;
Readln
End. 
	4. Hoạt động luyện tập
	- Giải trước một số câu hỏi mà học sinh thắc mắc
5. Hoạt động vận dụng
 6. Hoạt động tìm tòi, mở rộng: - Xem bài kế tiếp.
IV. RÚT KINH NGHIỆM:
..
Khánh Hưng, ngày 07/03/ 2018
Kí duyệt:
Phạm Huy Bình

File đính kèm:

  • docgiao_an_tin_hoc_lop_8_tuan_25_nam_hoc_2017_2018.doc