- Hiểu và viết được chương trỡnh tham chiếu đến cỏc phần tử trong mảng, nhập/xuất cỏc phần tử trong mảng.. Bổ sung và chỉnh sửa chơng trình trong bài 1 để nhập hai loại điểm Toán và Ngữ
Trang 1D ạy Lớp: 8B; 8C; 8D Ngày soạn: 05/04/2009.
Ti ết PPCT: 58 Ngày dạy: 07/04/2009.
Bài Thực Hành 7 Xử lý dóy số trong chương trỡnh (T2)
I Mục tiờu:
- Giỳp hs khai bỏo và sử dụng cỏc biến mảng
- Giỳp Hs ụn luyện cỏch sử dụng cõu lệnh rẽ nhỏnh, lệnh lặp
- Giỳp Hs cũng cố kỹ năng đọc, hiểu hiệu chỉnh lỗi trong chương trỡnh, chạy
chương trỡnh và xem kết quả
- Hiểu và viết được chương trỡnh tham chiếu đến cỏc phần tử trong mảng,
nhập/xuất cỏc phần tử trong mảng
II Chuẩn bị:
- Gv: phũng mỏy
- Hs: bài tập thực hành
III Tiến trỡnh lờn lớp:
1 Ổn định lớp:
2 Bài mới:
-Gv: yờu cầu hs tiếp tục thực hành bài 2
sgk
Bài 2 Bổ sung và chỉnh sửa chơng trình
trong bài 1 để nhập hai loại điểm Toán và
Ngữ văn của các bạn, sau đó in ra màn hình
điểm trung bình của mỗi bạn trong lớp (theo
công thức điểm trung bình = (điểm Toán +
điểm Ngữ văn)/2), điểm trung bình của cả
lớp theo từng môn Toán và Ngữ văn
a) Tìm hiểu ý nghĩa của các câu lệnh sau
đây:
Phần khai báo:
Var
Hs: Thực hành bài 2
Hs: thực hành
Hs: lắng nghe và thực hành
Hs: thực hành
Hs: thực hành bài 3
Hs: trả lời
Phần thân chơng trình:
begin
Trang 2i, n: integer;
TbToan, TbVan: real;
DiemToan, DiemVan: array[1 100] of
real;
-Gv: lưu ý hs gừ theo đỳng cỳ phỏp của
chương trỡnh
- Gv: nhắc nhở hs khi viết chương trỡnh chổ
nào cần bổ sung và chỉnh sủa chương trỡnh
- Gv: tiếp tục theo dừi, hướng dẫn cho hs
sửa lỗi nếu sai
- Từ đú giỏo viờn yờu cầu hs thực hành tiếp
và chỉnh sửa chương trỡnh và nhận biết lỗi
- Gv: Qua bài 2 cho ta thấy được điều gỡ?
- Gv: yờu cầu hs thoỏt khỏi Turbo Pascal,
lưu những bài đó chỉnh sửa
writeln('Diem trung binh:');
for i:=1 to n do writeln(i,' ',(DiemToan[i]
+DiemVan[i])/2:3:1);
TbToan:=0; TbVan:=0;
for i:=1 to n do begin TbToan:=TbToan+DiemToan[i];
TbVan:=TbVan+DiemVan[i] end;
TbToan:=TbToan/n; TbVan:=TbVan/n; writeln('Diem trung binh mon Toan:
',TbToan:3:2);
writeln('Diem trung binh mon Van:
',TbVan:3:2);
end.
b) Bổ sung các câu lệnh trên vào vị trí thích hợp trong chơng trình Thêm các lệnh cần thiết, dịch và chạy chơng trình với các số liệu thử
3 Cũng cố:
Cú pháp khai báo biến mảng kiểu số nguyên và số thực trong Pascal có dạng:
+) Var <tên biến mảng>:array[<chỉ số đầu> <chỉ số cuối>]of integer;
Var <tên biến mảng>: array[<chỉ số đầu> <chỉ số cuối>] of real; trong đó chỉ số
đầu không lớn hơn chỉ số cuối.
+) Tham chiếu tới phần tử của mảng đợc xác định bằng cách:<tên biến mảng>[chỉ số] 4.Dặn dũ:
- Về nhà xem lại cỏc bài tập đó thực hành Nếu hs nào cú mỏy tớnh cỏ nhõn thỡ nờn thao tỏc lại nhiều lần cho thành thạo
- Xem trước các bài tập tiết tiếp theo chữa bài tập
Trang 3D ạy Lớp: 8B; 8C; 8D Ngµy so¹n: 07/04/2009.
Ti ết PPCT: 59 Ngµy d¹y: 09/04/2009.
Bµi tËp.
Trang 4I Mục đích, yêu cầu:
Làm các bài tập để:
+) Nắm rõ đợ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
+) Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số
II Chuẩn bị:
GV: Soạn bài, đọc tài liệu tham khảo, dụng cụ dạy học
HS: Xem lại kiến thức bài học trớc, làm bài tập ở nhà, dụng cụ học tập
III Tiến trình dạy học:
Hoạt động 1:
1 “Có thể xem biến mảng là một biến đợc
tạo từ nhiều biến có cùng kiểu, nhng chỉ dới
một tên duy nhất.” Phát biểu đó đúng hay
sai?
2 Hãy nêu các lợi ích của việc sử dụng biến
mảng trong chơng trình
GV: yêu cầu HS suy nghỉ trả lời
GV yêu cầu HS làm tiếp:
3 Các khai báo biến mảng sau đây trong
Pascal đúng hay sai:
a) var X: Array[10,13] Of Integer;
b) var X: Array[5 10.5] Of Real;
c) var X: Array[3.4 4.8] Of Integer;
d) var X: Array[10 1] Of Integer;
e) var X: Array[4 10] Of Real;
HS: hoạt động và trả lời:
1 Đúng
2 Lợi ích chính của việc sử dụng biến mảng
là rút gọn việc viết chơng trình, có thể sử dụng câu lệnh lặp để thay nhiều câu lệnh Ngoài ra chúng ta còn có thể lu trữ và xử lí nhiều dữ liệu có nội dung liên quan đến nhau một cách hiệu quả
HS thực hiện:
3 Đáp án a) Sai Phải thay dấu phảy bằng hai dấu chấm;
b) và c) Sai, vì giá trị nhỏ nhất và lớn nhất
của chỉ số mảng phải là số nguyên;
d) Sai, vì giá trị đâu của chỉ số mảng phải
nhỏ hơn hoặc bằng chỉ số cuối;
e) Đúng.
Trang 5Hoạt động 2:
GV yêu nêu và yêu cầu HS làm các bài tập
sau:
4 Câu lệnh khai báo mảng sau đây có đợc
máy tính thực hiện không?
var N: integer;
A: array[1 N] of real;
5 Viết chơng trình Pascal sử dụng mảng để
nhập từ bàn phím các phần tử của một dãy
số Độ dài của dãy cũng đợc nhập từ bàn
phím
6 Đoạn chơng trình sau dùng để sắp xếp lại
dãy số đợc ghi trong mảng A[i], i = 1,2, ,
N, theo thứ tự tăng dần:
For i:=1 to N do
For j:=i to N do
If A[i] > A[j] then
Begin Tg:=A[i]; A[i]:=A[j]; A[j]:=Tg;
End;
Hãy kiểm tra tính đúng đắn của đoạn
chơng trình trên
Hoạt động 3:
Hớng dẫn về nhà:
Xem lại phần lý thuyết và các bài tập đã
làm, làm tiếp các bài tập còn lại
*) HS: hoạt động va trình bày các bài tập
GV yêu cầu:
4 Không Giá trị nhỏ nhất và lớn nhất của chỉ số mảng phải đợc xác định trong phần khai báo chơng trình
5 Chơng trình có thể nh sau:
uses crt;
var N, i: integer;
A: array[1 100] of real;
begin clrscr;
write(’Nhap so phan tu cua mang, n= ’); readln(n);
for i:=1 to n do begin
write(’Nhap gia tri ’,i,’cua mang, a[’,i,’]= ’);
read(a[i]) end;
end
6 Đúng