Giáo án Tin học 8 - Tuần 29 - Dương Phước Giàu

I. MỤC TIÊU

1. Kiến thức

- Biết cú pháp và công dụng của câu lệnh lặp với số land chưa biết trước.

2. Kỹ năng

- Viết được thuật toán dạng lặp với số lần chưa biết trước;

- Hiểu v vận dụng khai bo v sử dụng biến mảng;

3. Thái độ

- Nghiêm túc trong Kiểm tra, có tinh thần học hỏi, sáng tạo .

 

doc6 trang | Chia sẻ: Thewendsq8 | Lượt xem: 1519 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Giáo án Tin học 8 - Tuần 29 - Dương Phước Giàu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tuần: 29	Tiết 57	Ngày soạn: 09/03/2014
KIỂM TRA 1 TIẾT
TIN HỌC 8
I. MỤC TIÊU
Kiến thức
- Biết cú pháp và cơng dụng của câu lệnh lặp với số land chưa biết trước.
Kỹ năng
- Viết được thuật tốn dạng lặp với số lần chưa biết trước;
- Hiểu và vận dụng khai báo và sử dụng biến mảng;
Thái độ
- Nghiêm túc trong Kiểm tra, có tinh thần học hỏi, sáng tạo .
II. ĐỀ BÀI
A. Trắc nghiệm : khoanh tròn câu trả lời đúng nhất (5đ)
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?
a. tăng 1	b. Giảm 1	c. Giá trị bất kỳ	d. Giá trị khác 0
Câu 2: Phát biểu nào sau đây là đúng ?
a. 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.
b. Tên trong Pascal có số đứng đầu, ví dụ 8a
c. 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
d. 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 nào đúng:
a. x:=10; While x:=10 do x:=x+5 end.;	b. x:=10; While x:=10 do else x=x+5;
c. x:=10; While x=10 to x=x+5;	d. x:=10; While x=10 do x:=x+5;
Câu 4: Câu lệnh sau lặp bao nhiêu lần : For i:= 1 to 10 do writeln(‘A’)?
a. 2	b 5	c. 7	d. 10
Câu 5: em hiểu đoạn lệnh sau và cho biết với đoạn lệnh đó chương trình thực cho kết quả gì?
S:=0; n:=0;
While S< =10 do
Begin
	n:=n+1;
	s:=s+n;
end;
a. 1	b.55	c.10	d.15
Câu 6: Để tính tổng các số chẳn, em phải có dùng lệnh nào ?
a ( i mod 2)=0	b. (i mod 2) >0	c. ( i mod 2)0	d. ( i mod 2)=1
Câu 7 : Trong Pascal, lệnh “Begin” có tác dụng gì ?
a. chạy chương trình	b. dừng chương trình
c. xóa màn hình	d. tất cả sai
Câu 8 : từ nào không phải từ khóa ?
a. begin	b. end	c. tinh_toan	d. While
Câu 9 : Sau câu lệnh Whiledo, có thể có bao nhiêu câu lệnh ?
a. một	b. nhiều	c. a và b đúng	d. tất cả sai
Câu 10 : công thức “giá trị cuối – giá trị đầu + 1” dùng tính gì?
a. số lần lặp trong Whliedo	b. số lần lập trong Fordo
c. không giá trị	d. tất cả sai
B. Tự luận 
Câu 1: (2đ) Trình bày cú pháp và hoạt động của câu lệnh lặp với số lần chưa biết trước?
Câu 2: (2đ) Viết chương trình tính tổng sau S = 1+2+3+ đến khi tổng bé hơn hoặc bằng 1000, dùng câu lệnh While..do
III. MA TRẬN ĐỀ
Nội dung
Biết
Hiểu
Vận dụng
Tổng
TN
TL
TN
TL
TN
TL
Câu lệnh lặp
Câu 4,7,10 (1.5đ)
Câu 1
(1đ)
Câu 1,2 (1đ)
Câu 1 (2đ)
Câu 6 (0.5đ)
6đ tỉ lệ 60%
Lặp với sô lần chưa biết
Câu 3,8(1đ)
Câu 5,9 (1đ)
Câu 2 (2đ)
4đ tỉ lệ 40%
Tổng
3.5đ tỉ lệ 35%
4đ tỉ lệ 40%
2.5đ tỉ lệ 25%
10đ tỉ lệ 100%
IV. ĐÁP ÁN
A. TRẮC NGHIỆM
1.a	2.a	3.d	4.d	5.b	6.a	7.d	8.c	9.c	10.b
B. LÝ THUYẾT:
Câu 1: 
* Cú pháp: while do ;
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.
Câu lệnh này được thực hiện như sau:
1. Kiểm tra điều kiện.
2. Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và 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.
Câu 2: 
Program cau2;
Var s,i :integer;
S:=0;
i:=1;
while i <= 1000 do
 begin
 s:=s+i;
 i:=i+1;
end;
write(‘tong la’,s);
end.
Tuần: 29	Tiết 58	Ngày soạn: 09/03/2014
Bài 9 : LÀM VIỆC VỚI DÃY SỐ
I. MỤC TIÊU
Kiến thức
- Biết được khái niệm mảng một chiều.
- Biết cách khai báo mảng, nhập, in, truy cập các phần tử của mảng.
Kỹ năng
- Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số.
3. Thái độ
- Nghiêm túc trong học tập, có tinh thần học hỏi, sáng tạo .
II. CHUẨN BỊ
Nội dung:
- Khai báo biến mảng.
- Truy cập mảng và nhập giá trị cho biến mảng.
Đồ dùng:
- Giáo viên: Sách giáo khoa, giáo án, bài tập.
- Học sinh:Sách giáo khoa, vở, viết, thước kẻ. Xem bài mới trước khi lên lớp.
III. HOẠT ĐỘNG DẠY HỌC
Tổ chức lớp	(1’)
- Ổn định tổ chức. Kiểm tra sĩ số học sinh.
Kiểm tra bài cũ (5’)
* Câu hỏi: 
CH1: Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp biết trước và câu lệnh lặp với số lần lặp biết trước.
* Trả lời: 
Lặp với số lần chưa biết 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 đã xác định trước.
- Điều kiện là giá trị của biến đếm có giá trị nguyên đã đạt giá trị lớn nhất hay chưa.
- 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ặp với số lần biết 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 chưa được xác định trước.
- Điều kiện tổng quát hơn, có thể là kiểm tra một giá trị của một số thực, cũng có thể là một điều kiện khác.
- Trước hết điều kiện được kiểm tra. Nếu câu lệnh thỏa mản điều kiện mới thực hiện
Bài mới: 
* Giới thiệu bài: (1’)
- Giả sử chúng ta cần viết chương trình nhập điểm kiểm tra của các học sinh trong một lớp và sau đó in ra màn hình điểm số cao nhất. Vì mỗi biến chỉ có thể lưu một giá trị duy nhất, để có thể nhập điểm và so sánh chúng, ta cần sử dụng nhiều biến, mỗi biến cho một học sinh. Vì thế ngôn ngữ lập trình đều có một kiểu dữ liệu được gọi là kiểu mảng. Nội dung như thế nào thì bây giờ ta sẽ tìm hiểu.
* Tiến trình bài dạy:
TG
Hoạt động giáo viên
Hoạt động học sinh
Nội dung
10’
Hoạt động 1: Tìm hiểu dãy số và biến mảng 
1. Dãy số và biến mảng: 
- Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu phần tử.
- Khi khai báo một biến có kiểu dữ liệu là kiểu mảng, biến đó được gọi là biến mảng.
- Đưa ra ví dụ nhằm đưa đến nhu cầu cần có biến mảng trong ngôn ngữ lập trình.
+ Trở lại phần mở đầu: Nếu số HS trong lớp càng nhiều thì đoạn khai báo và đọc dữ liệu trong chương trình càng dài.
+? Việc viết chương trình của chúng ta sẽ như thế nào?
+ Nhận xét. Vì thế chúng ta có thể lưu nhiều dữ liệu có liên quan với nhau bằng một biến duy nhất và đánh số thứ tự cho chúng.
+ Ví dụ: Với i=1 đến 50 hãy nhập điểm i. Hoặc với i=1 đến 50 hãy so sánh max với điểm i.
-> Kết luận.
- Lắng nghe.
- Dài. Ta cần nhớ hết tên biến nên rất dễ dẫn đến nhầm lẫn và sai sót.
- Chú ý.
- Lắng nghe.
13’
Hoạt động2: Tìm hiểu cấu trúc mảng.
2. Ví dụ về biến mảng:
* Khai báo biến mảng: 
Var : array [.. ] of 
Trong đó: Chỉ số đầu và chỉ số cuối là hai số nguyên thỏa mãn Chỉ số đầu chỉ số cuối.
- Để làm việc với các dãy số nguyên hay số thực, chúng ta phải khai báo biến mảng có kiểu tương ứng trong phần khai báo của chương trình.
- Cách khai báo biến mảng có thể khác nhau nhưng luôn cần chỉ rỏ: Tên biến 
- Chú ý theo dõi.
- Lắng nghe.
Mảng, số lượng phần tử, kiểu dữ liệu chung của các phần tử.
- Đưa ra ví dụ và chỉ rỏ.
+ VD này ta đã khai báo biến diem gồm 50 phần tử.
+? Khai báo một biến mảng với tên chieucao gồm 30 phần tử.
+ Ví dụ khác.
- Theo dõi.
- Chú ý.
- Var chieucao:array [1.. 50] of real;
- Var tuoi:array [21.. 80] of integer;
Ví dụ: Var diem: array [1.. 50] of real;
9’
- Sử dụng các khai báo vừa thực hiện để giới thiệu về các truy cập vào biến mảng.
- Giới thiệu các cách nhập giá trị cho biến mảng.
-? Trước giờ để nhập giá trị trực tiếp từ bàn phím ta sử dụng lệnh gì?
- Nhận xét. Cho ghi bài.
- Theo dõi và thực hiện cùng GV.
- Lắng nghe.
- Trả lời:
* Truy cập mảng 
- Xét VD khai báo chiều cao: VD này đã tạo ra một biến mảng có 50 phần tử, được đánh số thứ tự từ 1 đến 50.
- Để nhập giá trị cho biến mảng thì cần nhập giá trị cho từng phần tử của mảng.
+ Gán trực tiếp bằng lệnh gán: VD: diem[1] :=8,
Diem[2] :=9,5.
+ Gán gí trị nhập từ bàn phím: sử dụng lệnh read hoặc readln;
VD: readln diem[1], readln diem[2];
4. Củng cố (5’)
- Tính hiệu quả việc dùng biến mảng trong Pascal ?
- Cách khai báo biến mảng ? 
- Nhận xét gì về chỉ số đầu, chỉ số cuối trong khai báo kiểu mảng ?
5. Dặn dò: (1’)
- Học bài và xem trước nội dung còn lại. Soạn bài :
+ giá trị các phần tử trong mảng có nhập hay gán giá trị ?
+ viết lại chương trình trong bài tập 1 bài thực hành 6 sử dụng biến mảng thay cho câu lệnh While do

File đính kèm:

  • doctuần 29.doc