Triển khai bài mới 2p HOẠT ĐỘNG CỦA THẦY VÀ TRÒ Hoạt động 1: Trình bày mục đích yêu cầu 13p Tiết học hôm nay chúng ta phải thực hiện được các nội dung sau: Làm quen với việc khai báo v[r]
Trang 1Ngày soạn: 13/03/2011
Ngày dạy: 17/03/2011
Lớp: 8
Giáo viên hướng dẫn: Lê Đình Trung Giáo viên soạn : Cái Thị Hạ Ngân
Tiết 59, Bài thực hành 7 XỬ LÍ DÃY SỐ TRONG CHƯƠNG TRÌNH
A MỤC TIÊU
Sau khi học xong bài này học sinh cần đạt được các mục tiêu sau:
1 Kiến thức:
- Hiểu và viết được chương trình với thuật toán tìm giá trị lớn nhất, nhỏ nhất của một dãy số, tính tổng dãy số
- Ôn luyện cách sử dụng câu lệnh if then, for do
2 Kỹ năng:
- Thực hành khai báo và sử dụng các biến mảng
- Củng cố kĩ năng đọc, hiểu và chỉnh sửa chương trình
3 Thái độ:
- Hình thành phương pháp làm việc khoa học
- Vận dụng vào trong học tập và thực tiễn
B.Chuẩn bị
1 Giáo viên
- Bài giảng điện tử
- Giáo án
- Máy tính, Projector
2 Học sinh
- SGK, và dụng cụ học tập
C Phương pháp
- Thuyết trình
- Vấn đáp
- Trực quan
- Hướng dẫn thực hành
- Phát hiện và giải quyết vấn đề
D Tiến trình lên lớp
I Ổn định tổ chức (1p)
- Kiểm tra sĩ số( vắng…phép,…không phép)
- Ổn định chổ ngồi học sinh
II Kiểm tra bài cũ (5p)
Câu hỏi 1: Dữ liệu kiểu mảng là gì? Cách khai báo biến mảng trong Pascal?
Câu hỏi 2: Trình bày cú pháp của câu lệnh lặp với số lần biết trước và câu lệnh điều
kiện
Đáp án:
Trang 2Câu hỏi 1: 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ự và mọi
phần tử đều có cùng một kiểu dữ liệu
Cách khai báo biến mảng trong Pascal
Tên mảng: ARRAY [<chỉ số đầu> <chỉ số cuối>] OF <kiểu dữ liệu>
Câu hỏi 2: Trình bày cú pháp của câu lệnh lặp với số lần biết trước và câu lệnh điều
kiện
Cú pháp của câu lệnh lặp với số lần biết trước
FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO <câu lệnh>;
Câu lệnh điều kiện
+ IF <điều kiện> THEN <câu lệnh>;
+ IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2> ;
III Triển khai bài mới (2p)
Hoạt động 1: Trình bày mục đích yêu cầu
(13p)
Tiết học hôm nay chúng ta phải thực hiện
được các nội dung sau:
Làm quen với việc khai báo và sử dụng các
biến mảng
Ôn luyện cách sử dụng câu lệnh lặp
FOR DO
Củng cố các kĩ năng đọc, hiểu và chỉnh sửa
chương trình
Thực hiện được các nội dung đó xem như
chúng ta đã được mục đích yêu cầu của bài học
1 Trình bày mục đích yêu cầu
Làm quen với việc khai báo
và sử dụng các biến mảng
Ôn luyện cách sử dụng câu lệnh lặp FOR DO
Củng cố các kĩ năng đọc, hiểu và chỉnh sửa chương trình
Hoạt động 2: Thực hành - Bài tập 1 (30p)
Hoạt động 2.1: Xem lại các ví dụ 2, ví dụ 3, bài
9 về cách sử dụng và khai báo biến mảng
trong Pascal.
GV: Cho HS xem lại ví dụ 2 và ví dụ 3 của bài 9
trong sgk trang 76
HS: Theo dõi.
GV: Giảng.
Ở ví dụ 2:
* Sử dụng biến mảng Diem thay cho các biến
Diem_1; Diem_2; Diem_3,… để lưu điểm số
của các HS
* Khai báo biến mảng Diem như sau:
VAR Diem: ARRAY [1 50] OF REAL;
* Mỗi HS có thể có nhiều điểm theo từng
môn học như Toán,Văn, Lý,…Ta có thể sử
dụng biến mảng DiemToan, DiemVan, DiemLi
thay cho các biến Diem_1; Diem_2; Diem_3,…
để lưu điểm số của các HS theo từng môn học
Vì các biến mảng DiemToan, DiemVan,
DiemLi có cùng chỉ số đầu, chỉ số cuối ,một
2 Thực hành - Bài tập 1 2.1 Xem lại các ví dụ 2, ví dụ 3, bài 9 về cách sử dụng và khai báo biến mảng trong Pascal.
Trang 3kiểu dữ liệu nên ta có thể gộp ba mảng này lại
với nhau và khai báo như sau:
VAR DiemToan, DiemVan, DiemLi: ARRAY
[1 50] OF REAL;
Ở ví dụ 3:
* Sử dụng biến mảng A thay cho các biến A1;
A2; A3,…
* Khai báo biến mảng A như sau:
VAR A: ARRAY [1 100] OF INTEGER;
Ở đây các phần tử của biến mảng A được giới
hạn là 100 Nếu như tăng số phần tử càng lớn thì
chỉ số cuối cùng của biến mảng càng lớn Ví dụ
như N=1000
HS: Theo dõi.
Hoạt động 2.2: Liệt kê các biến dự định sẽ
dùng trong chương trình Tìm hiểu phần khai
báo và tìm hiểu tác dụng của từng biến.
GV: Gọi HS đọc đề bài ở sách giáo khoa.
Yêu cầu HS còn lại chú ý lắng nghe
Ghi đề lên bảng
HS: Đọc bài tập.
GV: Liệt kê các biến dự định sẽ dùng trong
chương trình?
HS: Trả lời.
GV: Giảng
Tương tự ở ví dụ 3, ở bài tập này biến mảng
A giới hạn số phần tử là 100
GV: Cho HS xem phần khai báo.
* PROGRAM PHANLOAI;
VAR
I,N: INTEGER;
GIOI,KHA, TRUNGBINH, KEM: INTEGER;
A: ARRAY[1 100] OF REAL;
HS: Theo dõi.
GV: Trong chương trình này các biến có tác
dụng gì?
2.2 Liệt kê các biến dự định sẽ dùng trong chương trình Tìm hiểu phần khai báo và tìm hiểu tác dụng của từng biến.
Bài tập 1: Viết chương trình nhập điểm của các bạn trong lớp Sau đó
in ra màn hình số bạn đạt kết quả học tập loại GIOI, KHA, TRUNGBINH, KEM Tiêu chuẩn:
- Loại giỏi: 8.0 trở lên
- Loại khá: 6.5 đến 7.9
- Loại trungbình: 5.0 đến 6.4
- Loại kém: dưới 5.0
+ I, N, GIOI, KHA, TRUNGBINH, KEM
+ Biến mảng A thay cho các biến A1; A2; A3,…
* PROGRAM PHANLOAI;
VAR I,N: INTEGER;
GIOI,KHA, TRUNGBINH, KEM: INTEGER;
A: ARRAY[1 100] OF REAL;
Trang 4HS: Trả lời.
GV: Khái quát lại.
HS: Ghi bài.
Hoạt động 2.3: Gõ phần khai báo trên vào
máy tính và lưu tệp với tên Phanloai Tìm
hiểu các câu lệnh trong phần thân chương
trình.
GV: Yêu cầu HS.
Gõ phần khai báo trên vào máy tính và lưu
tệp với tên Phanloai
HS: Thực hiện.
GV: Cho HS xem chương trình.
* BEGIN
WRITE('NHAP SO CAC BAN TRONG LOP, N = ');
READLN(N);
WRITE('NHAP DIEM : ');
FOR I:=1 TO N DO
BEGIN
WRITE(I,' ');
READLN(A[I]);
END;
GIOI:=0;
KHA:=0;
TRUNGBINH:=0;
KEM:=0;
FOR I:=1 TO N DO
BEGIN
IF A[I] >= 8.0 THEN
GIOI:=GIOI + 1;
IF A[I] < 5 THEN
KEM:=KEM + 1;
IF (A[I] < 8.0 ) AND (A[I] > 6.5 ) THEN
KHA:=KHA + 1;
IF (A[I] >= 5 ) AND (A[I] < 6.5 )
THEN
TRUNGBINH:=
TRUNGBINH + 1;
END;
WRITELN('KET QUA HOC TAP: ');
WRITELN(GIOI, 'BAN HOC GIOI');
WRITELN(KHA, 'BAN HOC KHA');
WRITELN(TRUNGBINH, 'BAN HOC TRUNGBINH');
WRITELN(KEM, 'BAN HOC KEM');
READLN;
END.
Biến I: làm biến đếm cho các lệnh lặp
Biến N: để nhập điểm của các bạn trong lớp
Biến: GIOI, KHA, TRUNGBINH, KEM: để lưu kết quả học tập
2.3 Gõ phần khai báo trên vào máy tính và lưu tệp với tên Phanloai Tìm hiểu các câu lệnh trong phần thân chương trình.
* PROGRAM PHANLOAI;
VAR I,N: INTEGER;
GIOI,KHA, TRUNGBINH, KEM:
INTEGER;
A: ARRAY[1 100] OF REAL;
* BEGIN
WRITE('NHAP SO CAC BAN TRONG LOP, N = ');
READLN(N);
WRITE('NHAP DIEM : ');
FOR I:=1 TO N DO BEGIN
WRITE(I,' ');
READLN(A[I]);
END;
GIOI:=0;
KHA:=0;
TRUNGBINH:=0;
KEM:=0;
FOR I:=1 TO N DO BEGIN
IF A[I] >= 8.0 THEN GIOI:=GIOI + 1;
IF A[I] < 5 THEN KEM:=KEM + 1;
IF (A[I] < 8.0 ) AND (A[I] > 6.5 ) THEN
KHA:=KHA + 1;
IF (A[I] >= 5 ) AND (A[I] < 6.5 ) THEN TRUNGBINH:=
TRUNGBINH + 1;
END;
WRITELN('KET QUA HOC TAP: ');
WRITELN(GIOI, 'BAN HOC GIOI');
WRITELN(KHA, 'BAN HOC KHA');
WRITELN(TRUNGBINH, 'BAN HOC TRUNGBINH');
WRITELN(KEM, 'BAN HOC KEM');
READLN;
Trang 5HS: Theo dõi.
GV: Ở chương trình này đã sử dụng những câu
lệnh nào?
HS: Trả lời.
GV: Khái quát lại.
Câu lệnh for do
Câu lệnh gán
Câu lệnh if then lồng nhau
HS: Theo dõi.
Hoạt động 2.4: Gõ tiếp phần thân chương
trình vào sau phần khai báo Dịch, chạy
chương trình.
GV: Yêu cầu HS.
Gõ tiếp phần thân chương trình vào sau phần
khai báo
HS: Thực hiện.
GV: Theo dõi bao quát để chỉnh sửa lỗi cho HS.
HS: Thực hiện sửa lỗi để hoàn thiện chương
trình
* Nếu HS nào làm xong thì cho lên bảng thực
hiện
END.
* Câu lệnh for do
Câu lệnh gán
Câu lệnh if then lồng nhau
2.4 Gõ tiếp phần thân chương trình vào sau phần khai báo
Dịch, chạy chương trình.
PROGRAM PHANLOAI;
VAR I,N: INTEGER;
GIOI,KHA, TRUNGBINH, KEM:
INTEGER;
A: ARRAY[1 100] OF REAL;
BEGIN WRITE('NHAP SO CAC BAN TRONG LOP, N = ');
READLN(N);
WRITE('NHAP DIEM : ');
FOR I:=1 TO N DO BEGIN
WRITE(I,' ');
READLN(A[I]);
END;
GIOI:=0;
KHA:=0;
TRUNGBINH:=0;
KEM:=0;
FOR I:=1 TO N DO BEGIN
IF A[I] >= 8.0 THEN GIOI:=GIOI + 1;
IF A[I] < 5 THEN KEM:=KEM + 1;
IF (A[I] < 8.0 ) AND (A[I] > 6.5 ) THEN
KHA:=KHA + 1;
IF (A[I] >= 5 ) AND (A[I] < 6.5 ) THEN TRUNGBINH:=
TRUNGBINH + 1;
END;
WRITELN('KET QUA HOC TAP: ');
WRITELN(GIOI, 'BAN HOC GIOI');
WRITELN(KHA, 'BAN HOC KHA');
WRITELN(TRUNGBINH, 'BAN HOC TRUNGBINH');
WRITELN(KEM, 'BAN HOC KEM');
READLN;
END.
IV Củng cố (3p)
Giáo viên nhận xét và đánh giá tiết thực hành.(Những gì làm được và chưa làm được)
V Dặn dò (1p)
Trang 6+ Nắm cú pháp và ý nghĩa các câu lệnh.
+ Đọc, tìm hiểu ý nghĩa của các câu lệnh trong các bài tập tương tự.
+ Đọc trước phần còn lại của bài thực hành thực hiện tuần tự các yêu cầu.
E RÚT KINH NGHIỆM
Ngày … tháng 03 năm 2011 Duyệt GV hướng dẫn
Leâ Ñình Trung