IV/ Hoạt động dạy và học:
1/ Kiểm tra bài cũ:
?Hãy nêu lợi ích của việc sử dụng biến mảng trong chơng trình?
(Đáp án: Sử dụng biến mảng trong chơng trình giúp cho việc viết chơng trình đợc ngắn gọn và dễ dàng hơn).
2/ Bài mới:
Hoạt động 1: Nêu mục đích, yêu cầu của tiết thực
hành
Hoạt động 2: Gv yêu cầu HS gõ chơng trình nhập
N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất. (Đã có ở phần lý thuyết)
- Sửa lỗi nếu có nhập và quan sát kết quả.
Hoạt động 3: Tìm hiểu 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 giỏi, khá, trung bình, kém ( Từ 8 trở lên đạt loại giỏi, từ 6.5 đến 7.9 đạt loại khá, từ 5 đến 6.4 đạt trung bình, và dới 5 xếp loại kém.
? Hãy nêu cách sử dụng và khai báo biến mảng trong Pascal.
? Hãy liệt kê các biến sẽ sử dụng trong chơng trình.
* Tìm hiểu phần khai báo và tác dụng của từng biến.
Program Phanloai; uses crt;
var i,n, gioi, kha, tb, kem: integer; A: array [1..100] of Real;
* Gõ phần khai báo vào máy và lu với tên
Phanloai.
* Tìm hiểu các câu lệnh trong phần thân chơng trình
begin Clrscr;
Write (' nhap so cac ban trong lop, n='); readln (n); Writeln (' Nhap diem:');
for i:= 1 to n do
begin Write (i,'.'); readln(a[i]); end; Gioi:= 0; Kha:= 0; TB:= 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 tb:= tb+1;
end;
Writeln (' ket qua hoc tap:');
Lắng nghe
Thực hiện trên máy
Các nhóm trao đổi kinh nghiệm cho nhau.
var <tên mảng> : array[<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>
i, n, gioi, kha, tb, kem kiểu nguyên a khai báo mảng. i: biến đếm n: số HS trong lớp kha: lu số HS khá gioi: Lu số HS giỏi tb: Lu số HS tb kem: Lu số HS kém mảng A: lu điểm Thực hiện trên máy.
Nhap HS trong lớp Nhap diem
Nếu điểm >8.0 thì tăng giỏi Nếu điểm <5 và điểm > 6.5 thì tăng kém.
Nếu điểm <8 và điểm >6.5 thì tăng khá.
Nếu điểm >=5 và điểm <6.5 thì tăng tb.
Writeln (Gioi,' ban hoc gioi'); Writeln (kha,' ban hoc kha');
Writeln( TB, ' ban hoc trung binh'); Writeln( kem,' ban hoc kem'); Readln;
End.
* Gõ chơng trình trên vào máy * Dich và chạy chơng trình
In ra số bạn học giỏi, khá, TB, kém.
Thực hiện trên máy.
Củng cố bài: - Nêu lợi ích của việc sử dụng biến mảng trong chơng trình?
- Nhắc lại thuật toán tìm Min và max. Hớng dẫn về nhà: Đọc và làm trớc bài 2 SGK
Tiết 58: Bài thực hành 7
Xử lý dãy số trong chơng trình (tiếp)
Ngày soạn: 02/04/2009
I/ Mục tiêu:
- Thực hành khai báo và sử dụng các biến mảng. - Ôn luyện cách sử dụng các câu lệnh if..then, for..do; - Củng cố kỹ năng đọc, hiểu và chỉnh sửa chơng trình.
II/ Ph ơng pháp : Hớng dẫn, thảo luận.
III/ Chuẩn bị: Máy tính, phần mềm.IV/ Hoạt động dạy và học: IV/ Hoạt động dạy và học:
1/ Kiểm tra bài cũ:
Câu lệnh khai báo biến mảng sau đây máy tính có thực hiện đợc không? var n: integer;
A: array [1..n] of real;
(Đáp án: Không. Giá trị đầu và giá trị cuối phải đợc xác định trong phần khai báo ch- ơng trình.)
2/ Bài mới:
Hoạt động 1: Tìm hiểu bài tập 2 SGK
Bài 2: Bổ sung và chỉnh sửa chơng trình trong bài 1 để
nhập 2 loại điểm Toán và N. 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 N.văn)/2), điểm trung bình của cả lớp theo từng môn Toán và N. văn.
a) Tìm hiểu ý nghĩa của các câu lệnh sau?
{ Phần khai báo} Var i, n: integer;
Tbtoan, Tbvan: Real;
Diemtoan, diemvan: array[1..100] of Real; { Phần thân chơng trình}
begin
Writeln (' diem trung binh:'); For i: = 1 to n do
Writeln (i, '.', ( diemtoan[i]+ diemvan[i])/2); 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); Writeln(' Diem trung binh mon Van:', Tbvan); Readln;
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. trong chơng trình. Thêm các lệnh cần thiết.
Program Tinhdiem; Var i, n: integer; Tbtoan, Tbvan: Real;
Diemtoan, diemvan: array[1..100] of Real; { Phần thân chơng trình}
begin
Write (' nhap so cac ban trong lop, n='); readln (n); Writeln (' Nhap diem:');
for i:= 1 to n do begin
write(i,'.'); readln (diemtoan[i]);
Đọc bài và trao đổi - i: biến đếm. - n: số học sinh.
- Tbtoan, Tbvan: lu trung bình toán, trung bình văn. - Diemtoan, diemvan: Lu điểm toán, lu điểm văn. {phần thân}
- in dòng chữ diem trung binh ra màn hình
- in ra diem tất cả HS
- Tính điểm trung bình Toán, văn.
- Tính điểm trung bình Toán, văn của cả lớp.
- in ra điểm Toán, văn của cả lớp.
Các nhóm trao đổi cách làm
HS thực hiện trên máy. Các nhóm trao đổi kinh nghiệm cho nhau.
Write(i,'.'); Readln(diemvan[i]); end; Writeln (' diem trung binh:');
For i: = 1 to n do
Writeln (i, '.', ( diemtoan[i]+ diemvan[i])/2); 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); Writeln(' Diem trung binh mon Van:', Tbvan); Readln;
end.
c. Dịch và chạy chơng trình với các bộ dữ liệu thử. V. Củng cố bài: - HS đọc phần tổng kết SGK V. Củng cố bài: - HS đọc phần tổng kết SGK Ra bài tập về nhà:
Bài1. Viết chơng trình nhập vào một mảng 10 số thực bất kỳ, báo ra màn hình tổng của bình phơng các số âm trong mảng.
Bài 2: Viết chơng trình nhập vào một mảng các số nguyên thực bất kỳ, báo ra màn hình các số dơng và chẵn trong mảng.
Tiết 59: Bài tập
Ngày soạn: 06/04/2009
I/ Mục tiêu:
* Kiến thức: - Ôn lại cách khai báo biến mảng, truy cập các phần tử của mảng.
- Vận dụng kiến thức trên làm một số bài tập.
* Kỹ năng: Thực hiện đợc các khai báo mảng, truy cập phần tử, sử dụng phần tử mảng trong biểu thức tính toán.
II/ Ph ơng pháp : Hớng dẫn, thảo luận.