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 .
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:
- tuần 29.doc