Giáo án Tin học 8 - Tiết 37-58 - Năm học 2009-2010 - Quảng Hùng Cường

Giáo án Tin học 8 - Tiết 37-58 - Năm học 2009-2010 - Quảng Hùng Cường

1. Mục tiêu:

a. Kiến thức:

- 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.

b. Kỹ năng:

- Viết đúng được lệnh for .do trong một số tình huống đơn giản.

c.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. Chuẩn bị của giáo viên và học sinh:

a. Chuẩn bị của GV:

- Giáo án, SGK, phòng máy, phần mềm pascal

b. Chuẩn bị của HS:

- SGK, vở ghi, bút

3. Tiến trình bài dạy:

a. Kiểm tra bài cũ: Không KT

b. Dạy nội dung bài mới:

 

doc 103 trang Người đăng tranhiep1403 Lượt xem 1183Lượt tải 0 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học 8 - Tiết 37-58 - Năm học 2009-2010 - Quảng Hùng Cường", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn:
Ngày giảng:
8A: 
8B:
8C:
8D:
8E:
Tiết 37:
BÀI 7:
CÂU LỆNH LẶP
1. Mục tiêu:
a. Kiến thức: 
- 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.
b. Kỹ năng: 
- Viết đúng được lệnh for ..do trong một số tình huống đơn giản.
c.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. Chuẩn bị của giáo viên và học sinh:
a. Chuẩn bị của GV: 
- Giáo án, SGK, phòng máy, phần mềm pascal
b. Chuẩn bị của HS:
- SGK, vở ghi, bút
3. Tiến trình bài dạy:
a. Kiểm tra bài cũ: Không KT
b. Dạy nội dung bài mới: 
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
Hoạt động 1: Các công việc phải thực hiện nhiều lần (5’)
? Hàng ngày chúng ta thường phải làm một số việc lặp đi lặp lại một số lần, em hãy lấy ví dụ về một số việc hàng ngày em phải làm
- GV: Ghi ví dụ của học sinh lên bảng
? Qua những ví dụ các bạn vừa lấy ra trên bảng thì những công việc nào chúng ta đã biết trước số lần lặp đi lặp lại và công việc nào chúng ta chưa biết số lần lặp lại của nó?
- GV: Nhận xét và chốt lại.
1. Các công việc phải thực hiền nhiều lần
- HS: một em lấy một số ví dụ
 - HS: một em khác lấy thêm một số ví dụ
- 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 chưa biêt số lần lặp )
- Công việc không biết trước: số lần lặp lại: học bài cho đến khi thuộc hết các bài, 
- Công việc đã biết trước số lần lặp: đi học mỗi sáng 5 tiết, mỗi ngày tập 7 bài thể dục buổi sáng, đánh răng mỗi ngày 3 lần,
=> Để chỉ cho máy tính thực hiện đúng công việc, trong nhiều trường hợp khi viết một chương trình máy tính chúng ta cũng phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định.
VD: Để tính 5 số tự nhiên đầu tiên ta có thể viết như sau:
begin
I=0; Tong:=0;
I:=i+1; Tong:=Tong+i;
I:=i+1; Tong:=Tong+i;
I:=i+1; Tong:=Tong+i;
I:=i+1; Tong:=Tong+i;
I:=i+1; Tong:=Tong+i;
Readln; end.
Hoạt động 2: Câu lệnh lặp - một lệnh thay cho nhiều lệnh (15’)
- GV: phân tích ví dụ 1.
- HS: Nghe, nghi chép
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?
- GV: Kết luận.
2. Câu lện lặp - một lệnh thay cho nhiều lệnh
HS: nghiên cứu ví dụ 1 SGK - 56,57.
- HS: Nghe, nghi chép
VD1: 
- HS: Mô tả lại thuật toán, phân tích thuật toán.
Vẽ 3 hình vuông giống nhau.
thuật toán (SGK T56,57)
VD2: Tính tổng của 100 số tự nhiên đầu tiên.
- thuật toán: (đã nghiên cứu ở bài học số 5)
-HS: Chỉ ra công việc lặp lại ở vd1 và vd2
=> Kết luận:
- Cách mô tả các hoạt động lặp trong thuật toán như trong 2 ví dụ trên được gọi là cấu trúc lặp.
- Mọi ngôn ngữ lập trình đều có “cách” để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh. Đó là câu lệnh lặp.
Hoạt động 3: Ví dụ về câu lệnh lặp (15’)
- GV: Trình bày cấu trúc vòng lặp For ..to..do
..
GV: Giải thích từng thành phần trong cấu trúc lệnh.
GV: vận dụng câu lệnh viết vòng lặp cho ví dụ 1 phần 1
Var i, tong: integer;
Begin
Tong:=0;
For i: = 1 to 5 do
Tong:= tong + i;
Write(‘tong=’,tong);
Readln;
End.
3. Ví dụ về câu lệnh lặp
- HS: Ghi cấu trúc vòng lặp vào vở.
- Trong pascal câu lệnh lặp có dạng:
+Câu lệnh lặp dạng tiến:
For := to do ;
-HS: Nghe, ghi chép.
Trong đó: for, to, do là các từ khoá, Biến đếm là biến đơn có kiểu nguyên (có thể là 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à sau mỗ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 đếm lớn hơn giá trị cuối thì vòng lặp được dừng lại.
c. Củng cố, luyện tập:2’ 
Giáo viên hệ thống lại toàn bộ nội dung bài học
d. Hướng dẫn học sinh tự học ở nhà: 1’
Học kĩ lí thuyết, viết chương trình tính tông 100 số tự nhiên, N số tự nhiên đầu tiên.
Ngày soạn:
Ngày giảng:
8A: 
8B:
8C:
8D:
8E:
Tiết 38:
BÀI 7:
CÂU LỆNH LẶP (TT)
1. Mục tiêu: 	
a. Kiến thức:
- Hiểu cấu trúc câu lệnh ghép.
b. Kỹ năng: 
- 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.
c. 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. Chuẩn bị của giáo viên và học sinh:
a. Chuẩn bị của GV:
 - Giáo án, SGK, phòng máy, phần mềm pascal
b. Chuẩn bị của HS: 
- SGK, vở ghi, bút
3. Tiến trình bài dạy:
a. Kiểm tra bài cũ: 7’
? Trình bày cầu trúc của câu lệnh lặp trong pascal, nêu ý nghĩa của các thành phần trong cấu trúc?
- cấu trúc của câu lệnh lặp:
For := to do ;
Trong đó: for, to, do là các từ khoá, Biến đếm là biến đơn có kiểu nguyên (có thể là 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.
b. Dạy nội dung bài mới: 
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
Hoạt động 1: Ví dụ về câu lệnh lặp. (13’)
-GV: Trình bày cấu trúc của câu lệnh lặp lùi trong pascal
For ..downto.do
GV: Giải thích hoạt động của câu lệnH.
- GV: cho chạy chương trình mẫu đã gõ trước trong máy, yêu cầu học sinh quan sát kết quả.
- GV: Giải thích kết quả của chương trình
- GV: Trình bày cấu trúc câu lệnh ghép
- GV: cho chạy chương trình mẫu đã gõ trước trong máy, yêu cầu học sinh quan sát kết quả.
- GV: Giải thích kết quả của chương trình
3. Ví dụ về câu lệnh lặp (tiếp)
HS: Ghi chép cấu trúc vào vở
- Cấu trúc của câu lệnh lặp lùi:
For := downto do ;
- HS: Đọc và tìm hiểu chương trình
- HS: một em đứng tại chỗ phân tích hoạt động của ví dụ.
- HS: Các em khác thảo luận và cho ý kiến.
- 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 giảm đi1 đơn vị, giảm cho đến khi giá trị của biến đếm nhỏ hơn giá trị đầu 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.
- Ví dụ 3 (SGK-58) in ra màn hình thứ tự lần lặp.
Program lap;
Var i: integer;
Begin
For i:=1 to 10 do
Writeln(‘day la lan lap thu’, i);
Readln;
End.
- VD4 (SGK-58) Viết chương trình đưa ra màn hình những chữ “0” theo hình trứng rơi.
Program trung_roi;
Uses crt;
Var i: integer;
Begin
Clrscr;
For i:=1 to 10 do
begin
Writeln(‘0’); delay(100); 
end;
Readln;
End.
- Tập hợp các câu lệnh con được đặt trong cặp từ khoá begin end; được gọi là câu lệnh ghép. 
Hoạt động 2: Tính tổng và tích bằng câu lệnh lặp (20’)
- GV: Đưa đề bài lên bảng
-GV: Giúp HS sửa lại đúng thuật toán
GV: Giúp học sinh sửa chương trình cho đúng và chạy chương trình trên máy.
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.
(Chương trình SGK)
Ví dụ 6. Tính day thưa của N số tự nhiên đầu tiên.
(Chương trình SGK)
- HS: 1 em lên bảng làm vd5, 1 em lên làm vd6.(mô tả thuật toán) 
ở dưới lớp cá cem làm bài theo nhóm, mỗi dãy làm một bài, dãy giữa làm vd5
- HS: Đại diện của mỗi dãy nhận xét thuật toán trên bảng.
- HS: Quan sát kết quả.
c. Củng cố, luyện tập: 4’
HS đọc ghi nhớ SGK, giáo viên tổng kết đánh giá buổi học.
d. Hướng dẫn học sinh tự học ở nhà: 1’
Về nhà làm bài tập trang 60-61.
Ngày soạn:
Ngày giảng:
8A: 
8B:
8C:
8D:
8E:
Tiết 39:
BÀI TẬP 
1. Mục tiêu:
a. Kiến thức :
- Nắm lại kiến thức về cấu trúc lặp: cấu trúc lặp được sử dụng để làm gì? Cú pháp cấu trúc lặp với số lần lặp biết trước trong Pascal? 
b. Kĩ năng:
- Sử dụng cấu trúc lặp với số lần lặp biết trước để mô tả thuật toán của một số bài toán đơn giản. 
- Viết được cú pháp cấu trúc lặp với số lần lặp biết trước trong Pascal. 
c. Thái độ:
Rèn luyện tư duy khoa học, tư duy logic, ý thức học tập, ham thích tìm hiểu. 
2. Chuẩn bị của giáo viên và học sinh:
a. Chuẩn bị của giáo viên:
Giáo án, SGK.
b. Chuẩn bị của học sinh:
SGK, vở, Xem lại kiến thức bài 7
3. Tiến trình bài dạy:
a. Kiểm tra bài cũ: 7’
Em hãy cho vài ví dụ về các hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày? 
Nêu cú pháp câu lệnh lặp với số lần lặp biết trước trong Pascal? 
b. Dạy nội dung bài mới: 33’
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA GIÁO VIÊN
HS: đọc đề trong sgk.
- GV: nhận xét và kết luận: với câu lệnh lặp với số lần lặp biết trước của Pascal điều kiện cần kiểm tra là: giá trị của biến đếm lớn hơn giá trị cuối. Nếu điều kiện không được thoả mãn, câu lệnh được tiếp tục thực hiện; ngược lại, chuyển sang câu lệnh tiếp theo của chương trình. 
- GV: đoạn chương trình sau, sử dụng cấu trúc gì?
- GV: đoạn chương trình trên sử dụng cấu trúc lặp với số lần lặp biết trước là bao nhiêu?
Câu lệnh 1: j có giá trị là 0.
Khi gặp vòng lặp for i : = 0 to 5 do 
Câu lệnh 2 được thực hiện như sau:
Lần lặp thứ
i
Giá trị của j
1
0
2
2
1
4
3
2
6
4
3
8
5
4
10
6
5
12
? nhắc lại cú pháp câu lặp với số lần lặp biết trước của Pascal
- HS: đưa ra đáp án và giải thích.
Tất cả các câu lệnh đều không hợp lệ là
Câu a: giá trị đầu của biến đếm phải nhỏ hơn giá trị cuối.
Câu b: giá trị đầu và cuối của biến đếm phải là số nguyên.
Câu c: thiếu dấu “: ” khi gán giá trị đầu
Câu d: thừa dấu “; ” thứ nhất, nếu như ta muốn lặp lại câu lệnh writeln(‘A’) mười lần, ngược lại câu lệnh là hợp lệ. 
Câu e: biến x khai báo là kiểu thực vì thế không thể dùng để xác định giá trị đầu và gía trị cuối trong câu lệnh lặp. (biến đếm là số nguyên)
- HS: đọc đề và nêu thuật toán của bài toán. 
- GV: nhận xét và đưa ra thuật toán:
Bước 1: gán A <- 0, i <- 1
Bước 2: < - 
Bước 3: i < - i + 1
Bước 4: nếu quay lại bước 2.
Bước 5: ghi kết quả A và kết thúc thuật toán.
- HS: đọc đề
- HS: nêu thuật toán.
- HS: viết chương trình.
- GV: nhận xét và đưa ra đoạn chương trình đúng.
Program chao;
Var i:integer; ten: string;
Begin
 For i: = 1 to 5 do
 begin Writeln (‘nhap ten:’); readln(ten);
 writeln(‘Hello’, ten, ‘!’); 
 end;
 readln;
end.
Bài 3: (sgk) 
Khi thực hiện câu lệnh lặp, máy tính kiểm tra một điều kiện. Với lệnh lặp:
For : = to do ; 
của Pascal, điều kiện cần kiểm tra là gì?
- HS: trả lời 
Bài 4: (sgk)
HS: đọc đề trong SGK.
HS: cấu trúc lặp với số lần lặp biết trước.
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? 
HS: 6 lần.
HS: đưa ra đáp án và giải thích câu lệnh trong vòng lặp for..do
 J : = 0;
For i: = 0 to 5 do j : = j + 2 ;
=> sau 6 bước lặp giá trị của biến 
j = 12
Bài 5 - sgk: 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 ... / 8a;	d/Tam giac;
e/ beginprogram	f/ end;
 Câu 24 Hãy ghép mõi kiểu dữ liệu đúng với phạm vi giá trị của nó:
Kiểu tên 
Phạm vi giá trị
ghép
a/char
1/ số nguyên trong khoảng từ -32000 đến + 32000.
b/ string
2/ Só thực trong khoảng – 10-38 đến 1038.
C/ Integer
3/ Một kí tự trong bảng chữ cái.
d/ Real
4/ Xâu kí tự, tối đa gồm 255kí tự.
Câu 25. Khi khai báo biến ta cần khai báo:
 	a/ khai báo tên biến	b/ khai báo kiểu dữ liệu của biến
	c/ Tên biến và kiểu dữ liệu của biến	d/ Các tên biến và các kiểu dữ liệu của biến
Câu 26 . Trong các cách khai báo sau đây khai báo nào là đúng:
	a/ Var : a, b ; integer;	b/ Var a, b := integer ;
	c/ Var a , b :integer; 	d/ Var a , b : interger ;
Câu 27. Giả sử A đựoc khai báo là biến với kiểu dữ liệu số thực , X là biến với kiểu dữ liệu xâu. các phép gán sau đây có hợp lệ không ?
Hợp lệ
Không hợp lệ
a/ A:= 4;
b/ X := 3242;
c/ X := ‘ 3242 ’ ;
d/ A:= ‘ Ha Noi ’ ;
Câu 28. Trong pascal , khai báo nào sau đây đúng hoặc sai :
Cách khai báo
Sai
a/ Var tb : real ;
b/ Var 4hs : integer ;
c/ Const X : real ;
d/ Var R = 30 ;
Câu 29 .các câu lệnh trong pascal sau đây được viết đúng hay sai:
Câu lệnh 
đúng 
Sai
a/ if x:=7 then a = b ;
b/ if x > 7 then m:=n ;
c/ if (b 0) and (c 0) then x:= - c/b;
d/ if x > 7 then a:=b ; else m:=n
Câu 30 các câu lệnh trong pascal sau đây được viết đúng hay sai:
Câu lệnh 
đúng 
Sai
a/ if then ;
b/ if then ; ;
c/ if then ; else ;
d/ if then else ;
Câu 31 . trong chương trình pascal sau đây:
Var x : integer ;
Begin
X:= 3 ; 
	If (45 mod 3) =0 then x:= x +2;
	If x > 10 then x := x +10 ;
End.
X có giá trị là mấy
	a/ 3	b/ 5
	c/ 15	d/10
Câu32. trong chương trình pascal sau đây:
program hcn;
var a, b :integer;
	s,cv :real ;
begin
	a:= 10;
	b:= 5;
s:= a*b ;
	cv:= (a +b ) * 2 ;
writeln(‘dien tich hcn la:’ , s );
writeln( ‘chu vi hcn la : ‘ , cv ) ;
	readln;
end.
Biến s và cv có giá trị là mấy:
	a/ s = 10 ; cv = 5 ;	b/ s= 30 ; cv = 50 ; 
	c/ s = 50 ; cv = 40 ; 	d/ s = 50 ; cv = 30 ;
Câu 33: sau mỗi câu lệnh trong pascal sau đây x sẽ có giá trị là bao nhiêu , nế trước đó giá trị của x bằng 5: sau thực hiện các lệnh x có các giá tri ( 0; -10 ; 5 ; 6 12 )
Câu lệnh 
 Giá trị của x
a/ if x mod 3 = 2 then x:= x +1;
b/ if (x mod 3 =0) or (x>=5) then x:= 2*x;
c/ if (x mod 2 =1 ) and (x>10 ) then x:=0 ;
d/ if x mod 5 = 0 then begin x:=x*x ; x:=x -10;
Câu34: cho chương trình sau:
 	Var a,b : integer ;
	Begin
 	A:=16 ; b:=8 ;
	 If a< b then a:= a + b else 
	 Begin a:= a- b; b:= b + a end;
 	Writeln( ‘ a= ‘, a , ‘ b = ‘, b);
	End.
Biến a và b có giá trị là mấy:
	a/ a=16 ;b = 8;	b/ a= 24 ; b= 8;
	c/ a = 8 ; b =16;	d/ a =24 ; b =16;
Câu 35: cho chương trình sau:
 program gptbn;
 var b, c : integer;
 x :real;
 begin
	b:= 5 ; c:= -10 ;
	if (b=0 ) and (c=0) then writeln( ‘ x có vô số nghiệm’ );
	if (b =0 ) and (c 0) then writeln( ‘ x vô nghiệm ‘);
	if (b 0) and ( c 0 ) then writeln (‘ pt có nghiệm x= ‘ , - c/b);
 	readln;
end.
X có nghiệm là mấy
	a/ x có vô số nghiệm ;	b/ x vô nghiệm ;
	c/x có nghiệm = - 2	d/ x có nghiệm = 2;
Câu 36: cho chương trình sau:
program doigiatri;
 var x,y: integer;
begin
	x:=10; y:=15 ;
 x:= x+ y ;
	y:= x – y;
	x := x – y;
	writeln ( ‘ x= ‘, x, ‘y=’ , y);
	readln;
end.
X, y có giá trị là mấy:
	a/ x= 10 ;b= 15	b/ x=25 ; y= 15;
	c / x= 25 ; b=10	d/ x=15 ; y= 10;
	Câu 37: Các thành phần cơ bản của một ngôn ngữ lập trình là ?
a/ Các từ khoá và tên	
b/ bảng chữ cái, các từ khoá và tên
c/ Bảng chử cái và các quy tắt để viết các câu lệnh sau cho có thể tạo thành một chương trình hoàn chỉnh và có thể chạy được trên máy tính.
d/ Chỉ bảng chữ và các từ khoá
Câu 38: Máy tính có thể hiểu được trực tiếp ngôn ngữ nào trong các ngô ngữ dưới đây ? 
a/ Ngôn ngữ tự nhiên	b/ Ngô ngữ lập trình
c/ Ngôn ngữ máy	d/ Tất cả các ngôn ngữ nói trên
Câu 39: Trong khái báo sau đây kai báo nào là đúng nhất:
a/ Var tb: real	b/ Var 4hs: Interger
c/ Const x: = real	d/ Var R=30
Câu 40: Hãy ghép mõi kiểu dữ liệu đúng với phạm vi giá trị của nó : 
Tên kiểu
Phạm vi giá trị
Ghép
a/ Char
1/ Số nguyên trong khoản từ -32000-32000
b/ String
2/ Số thực trong khoảng -10-38 đến 1037
c/ Interger
3/ Một ký tự trong dãy chử cái
d/ Real
4/ Xâu ký tự, tối đa gồm 255 kí tự
Ngày dạy:
TIẾT 68, 69:
ÔN TẬP HOC KÌ II
I - MỤC TIÊU
1. Kiến thức
Hiểu được các mạch kiến thức cơ bản trong chương trình HKII như: khái niệm ngôn ngữ lập trình, các từ khóa, câu lệnh, quá trình giải bài toán trên máy tính, cấu trúc rẽ nhánh, câu lệnh điều kiện. ph ần m ềm học tập.
2. Kỹ năng
Bước đầu biết lập trình hóa những bài toán có nội dung thực tiễn. 
Bước đầu viết được một chương trình đơn giản bằng ngôn ngữ lập trình Pascal.
Vận dụng được: đưa bài toán từ thực tiễn đến chương trình thông qua mô tả thuật toán; sử dụng các từ khóa, câu lệnh của ngôn ngữ lập trình Pascal để lập trình bài toán thực tiễn thành chương trình trên máy tính.
Vận dụng thành thạo: Kiến thức, kỹ năng, tri thức, phương pháp được học vào giải bài tập, viết chương trình.
3. Thái độ
Cẩn thận, chính xác .
Tập trung cao độ, nghiêm túc trong giờ học.
Phát triển tư duy suy luận logic, trí tưởng tượng và tạo được hứng thú trong học tập.
II - PHƯƠNG PHÁP
 Gợi mở vấn đáp đan xen thảo luận nhóm.
III. CHUẨN BỊ
1. Giáo viên: Giáo trình, bảng phụ.
2. Học sinh: Kiến thức cũ, sách, vở.
IV - TIẾN TRÌNH BÀI GIẢNG
1 - ỔN ĐỊNH
2 – ÔN TẬP
I. Khoanh tròn vào chữ cái đứng trước phương án đúng (4 điểm)
Câu 1: Trong ngôn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:
If then else 
If then ; else ;
If then else ;
If ; then else ;
Câu 2: Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh điều kiện Ifthen?
Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa hai dấu ngoặc đơn.
Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End
Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End;
Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End.
Câu 3: Trong ngôn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:
	A. If a=5 then a:=d+1; else a:=d+2;	B. If a=5 then a:=d+1else a:=d+2;	
	C. If a=5 then a=d+1; else a=d+2;	D. If a=5 then a:=d+1else a:=d+2
Câu 4: Trong ngôn ngữ Pascal, về mặt cú pháp câu lệnh nào sau đây đúng với cấu trúc lặp Fortodo ?
For i:=1 to 100 do a:=a-1;	B. For i:=1 to 100 do; a:=a-1;
C. For i:=1 to 100 do a:=a-1	D. For i:=1; to 100 do a:=a-1;
Câu 5: Trong lệnh lặp Fortodo của Pascal, sau mỗi vòng lặp biến đếm thay đổi như thế nào?
 A. Tăng 1 đơn vị;	B. Giảm 1 đơn vị;
 C. Một giá trị bất kì;	D. Một giá trị khác 0;
Câu 6: Sau khi thực hiện đoạn chương trình sau, giá trị của biến a bằng bao nhiêu?
a:=2 ;
for i:= 1 to 3 do a:= a+1;
A. 3	B. 4
C. 5	D. 2
Câu 7: Trong câu lệnh lặp for i:=1 to 10 do beginend; câu lệnh ghép được thực hiện bao nhiêu lần (nói cách khác, bao nhiêu vòng lặp được thực hiện?)
	A. Không lần nào	B. 1 lần
	C. 10 lần	D. 2 lần
Câu 8: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?
For i:=1 to 10 do write (i,’ ‘);
1 2 3 4 5 6 7 8 9 10	B. 10 9 8 7 6 5 4 3 2 1
C. Đưa ra 10 dấu cách	D. Không đưa ra kết quả gì
II. Đánh dấu x vào ô vuông sau các câu lệnh em cho là đúng ? (1 điểm)
a) if a>b then max:=a; else max:=b;
b) if a>b then max:=a else max:=b;
c) for i:=1 to 10 for j:=1 to 10 do x:=x+1;
d) for i:=1 to 10 do x:=x+1;
III. Viết cấu trúc các câu lệnh trong PASCAL: (2 điểm)
a) Câu lệnh lặp với số lần cho trước:	. ..
...............................................................................................................................................................................................................................................................
b) Câu lệnh lặp với số lần chưa biết trước : 	 .. .   
...
IV. Hãy viết chương trình để giải quyết bài toán sau : (3 điểm)
 Nhập vào 2 số nguyên a, b. So sánh hai số đó và thông báo kết quả ra màn hình.
I. Khoanh tròn vào chữ cái đứng trước phương án đúng (4 điểm)
Câu 1: Trong ngôn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:
If then else 
If then else ;
If then ; else ;
If ; then else ;
Câu 2: Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh điều kiện Ifthen?
Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa hai dấu ngoặc đơn.
Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End;
Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End
Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End.
Câu 3: Trong ngôn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:
	A. If a=5 then a:=d+1; else a:=d+2;	B. If a=5 then a:=d+1else a:=d+2
	C. If a=5 then a=d+1; else a=d+2;	D. If a=5 then a:=d+1else a:=d+2;
 Câu 4: Trong ngôn ngữ Pascal, về mặt cú pháp câu lệnh nào sau đây đúng với cấu trúc lặp Fortodo?
For i:=1 to 100 do a:=a-1;	B. For i:=1 to 100 do; a:=a-1;
C. For i:=1 to 100 do a:=a-1	D. For i:=1; to 100 do a:=a-1;
Câu 5: Trong lệnh lặp Fortodo của Pascal, sau mỗi vòng lặp biến đếm thay đổi như thế nào?
 A. Tăng 1 đơn vị;	B. Giảm 1 đơn vị;
 C. Một giá trị bất kì;	D. Một giá trị khác 0;
Câu 6: Sau khi thực hiện đoạn chương trình sau, giá trị của biến a bằng bao nhiêu?
a:=5 ;
for i:= 1 to 3 do a:= a+1;
A. 5	B. 6
C. 7	D. 8
Câu 7: Trong câu lệnh lặp for i:=1 to 15 do beginend; câu lệnh ghép được thực hiện bao nhiêu lần (nói cách khác, bao nhiêu vòng lặp được thực hiện?)
	A. Không lần nào	B. 1 lần
	C. 2 lần	D. 15 lần
Câu 8: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?
For i:=1 to 10 do write (i+1,’ ‘);
2 3 4 5 6 7 8 9 10 11	B. 10 9 8 7 6 5 4 3 2 1
C. Đưa ra 10 dấu cách	D. Không đưa ra kết quả gì
II. Đánh dấu x vào ô vuông sau các câu lệnh em cho là đúng ? (1 điểm)
a) if a>b then max:=a; else max:=b;
b) if a>b then max:=a else max:=b;
c) for i:=1 to 10 for j:=1 to 10 do x:=x+1;
d) for i:=1 to 10 do x:=x+1;
III. Viết cấu trúc các câu lệnh trong PASCAL: (2 điểm)
a) Câu lệnh lặp với số lần chưa biết trước: 	 .. .   .
...
b) Câu lệnh lặp với số lần cho trước :	. .
...............................................................................................................................................................................................................................................................
IV. Hãy viết chương trình để giải quyết bài toán sau : (3 điểm)
 Tính và thông báo ra màn hình tổng: 12 + 22 + 32 +  + n2. Với n là số tự nhiên được nhập từ bàn phím.
Ngày dạy:
TIẾT 70
KIỂM TRA HỌC KÌ II

Tài liệu đính kèm:

  • docTin 8 tiet 37 den 58.doc