Bài toá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à in ra màn hình số điểm cao nhất.. - Dãy số đã nhập theo số liệu bất kỳ trong khung điểm GV: - Vì mỗi biến
Trang 1Phòng GD&ĐT Quận Hoàng Mai
Chủ đề: Dạy học cấu trúc mảng một chiều định hướng hình thành năng lực cho học sinh
Kế hoạch giảng dạy chuyên đề: Làm việc với dãy số
Môn: Tin học lớp 8 I.Mục tiêu
1.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, truy cập các phần tử của mảng
2.Kĩ năng
- Thực hiện được khai báo mảng, truy cập phần tử mảng, sử dụng các phần tử của mảng trong biểu thức tính toán
3 Năng lực hướng tới
Mô hình quản lý dữ liệu của dãy số sắp xếp bất kỳ và tìm theo số lớn nhất, bé nhất
II.Xây dựng tình huống và tổ chức dạy học.
Kiến thức Hoạt động GV và HS Định hướng năng lực
Hoạt động 1: Tình huống dạy học kiến thức mới
1 Xây dựng tình huống dãy
số
Bài toá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à in ra
màn hình số điểm cao nhất
2 Dãy số và biến mảng
a Phát hiện tình huống gợi
vấn đề
- Tình huống từ thực tế: tìm
điểm cao nhất của số lượng
lớn học sinh
- GV tổ chức lại theo ý đồ sư phạm
- Dãy số đã nhập theo số liệu bất kỳ trong khung điểm GV: - 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 1 học sinh
- Nếu số học sinh trong lớp càng nhiều thì việc khai báo và đọc dữ liệu trong chương trình càng dài Vậy để giúp giải quyết các vấn đề trên, hầu hết các ngôn ngữ lập trình đều có kiểu dữ liệu được gọi là mảng
- GV đưa ra những yêu cầu để
HS nhận thấy tình huống gợi vấn đề
b Giải quyết vấn đề - GV trình bày cách sử dụng
biến mảng và câu lệnh lặp giúp việc viết chương trình được ngắn gọn và dễ dàng hơn
Cho HS ghi ngắn gọn,
Trang 2khác sách giáo khoa
- GV giới thiệu chương trình Nhắc HS không chép chương trình
Hoạt động 2: Tình huống củng cố
1 Viết chương trình đơn giản
a Xây dựng tình huống
Bài toán 1 Viết chương trình
nhập vào 1 mảng A gồm N
phần tử nguyên, tính và in ra
màn hình tổng của mảng vừa
nhập
Bài toán 2 Viết chương trình
nhập vào 1 mảng A gồm N
phần tử nguyên, tính và in ra
màn hình tổng của các số
chẵn trong mảng vừa nhập
Bài toán 3 Viết chương trình
nhập vào 1 mảng A gồm dãy N
phần tử nguyên, tính và in ra
màn hình tổng của các số ở vị
trí chẵn mảng vừa nhập
b.Tổ chức thực hiện Cho HS làm việc theo nhóm
Nhắc HS không chép chương trình
- Các đề đều phải sử dụng mảng một chiều
- Quán triệt tinh thần của lý thuyết kiến tạo những điều đã biết,việc phải làm chuẩn bị cho việc làm tiếp theo
- Góp phần hình thành kỹ năng: Viết chương trình; Giao tiếp; Tự học
2.2 Nhận dạng và thể hiện
mảng một chiều
a Xây dựng tình huống
Một người đã viết chương
trình trên máy tính như dưới
đây.
Program Vidu;
Uses Crt ;
Var A: array[1 100] of
integer;
n, i, S :integer;
Begin
ClrScr ;
Write (‘ Nhap vao so
luong phan tu ‘ ); Readln
Trang 3(n ) ;
For i:= 1 to n do
begin
write(‘nhap phan tu thu
’, i); readln (a[i]);
end;
S:=0;
For i:=1 to n do
S:=S+a[i];
Write (‘Tong la ’, s);
Readln
End
- Khi thực hiện chương trình
nhập vào n=4, các phần tử lần
lượt là 3,4,5,6 cho biết kết quả
in ra màn hình như thế nào?
- Theo em chương trình trên
có thể sửa như thế nào để giải
quyết được bài toán 2?
- Bài toán 3 khác bài toán 2 ở
chỗ nào? Em hãy sửa lại
chương trình để giải quyết bài
toán 3?
b Tổ chức thực hiện + Cho HS hoạt động nhận
dạng + Cho HS hoạt động thể hiện
+ Bồi dưỡng nhân sinh quan, thế giới quan
+ Kỹ năng sửa chương trình
Hoạt động 3 Vận dụng
1 Sử dụng biến mảng
a) Xây dựng tình huống.
Bài toán 1: Nhập vào một dãy
N phần tử nguyên vào mảng
A Tính tổng các phần tử có
giá trị lẻ, hiển thị kết quả ra
màn hình
Bài toán 2: Nhập vào một dãy
N phần tử nguyên vào mảng
A Tính tổng các phần tử ở vị
trí lẻ
Bài toán 3: Viết chương trình
nhập điểm kiểm tra một tiết
môn tin học của các bạn trong
lớp Sau đó in ra màn hình
điểm cao nhất của các bài
kiểm tra
Bài toán 4 Viết chương trình
nhập vào số kg giấy vụn của N
Trang 4lớp trong một trường vào
mảng A, tìm lớp có số kg giấy
vụn nhiều nhất, ít nhất
b Tổ chức thực hiện Tình huống gợi vấn đề
Giải bài toán, chưa biết thuật toán
GV và HS đàm thoại giải quyết vấn đề
Cho HS ghi tiếng Việt theo cấu trúc lồng nhau để về nhà viết chương trình
Sử dụng kỹ thuật minh họa trực quan
Rèn tư duy logic, tương tự Thực hành kiến thức chuẩn Chuẩn bị động cơ cho bài toán sắp xếp
S ß 0 Duyệt từ 1 đến N thực hiện:
Nếu A[i] lẻ thì S ß S+A[i]; Hiển thị S
Program tong_gtri_le;
Uses Crt ; Var A: array[1 100] of integer;
n, i, S :integer;
Begin ClrScr ; Write(‘ Nhap vao so luong phan tu ‘ ); Readln (n ) ; For i:= 1 to n do
begin writeln(‘nhap phan tu thu ’, i); readln (a[i]); end;
S:=0;
for i:=1 to N do
if a[i] mod 2 = 1 then
S:=S+a[i]; Writeln(‘Tong cac phan tu
có gia tri le la: ‘ ,S);
Readln End
2 Sử dụng biến mảng – tìm
giá trị nhỏ nhất trong dãy số
a) Xây dựng tình huống
Một người đã viết chương
trình tìm giá trị nhỏ nhất trong
dãy số như sau:
Program Tim_Min;
Uses Crt ;
Var A: array[1 100] of
integer;
n, i, Min :integer;
Begin
ClrScr ;
Write(‘ Nhap vao so luong
phan tu ‘ ); Readln (n ) ;
Trang 5For i:= 1 to n do
begin
writeln(‘nhap phan tu
thu ’, i); readln (a[i]);
end;
Min:=a[1];
for i:=2 to N do
if Min>a[1] [then
Min:=a[i];
Writeln(‘Gia tri nho nhat
trong day so la:’ , Min);
Readln
End
(1) Tìm chỗ sai và giải thích
tại sao sai trong chương trình
tìm số nhỏ nhất của dãy số ở
trên, cho 3 số cụ thể để minh
họa
(2) Hãy sửa lại đoạn chương
trình
IF Min > A[i] Then Min :=
A[i];
của chương trình trên để có
được tính đúng đắn của
chương trình
(3) Tìm Min của dãy 5 số
A[1]=3; A[2]=5; A[3]=2;
A[4]=1; A[5]=7
b Tổ chức thực hiện Tình huống gợi vấn đề
Giải bài toán, chưa biết thuật toán
GV và HS đàm thoại giải quyết vấn đề
Cho HS ghi tiếng Việt theo cấu trúc lồng nhau để về nhà viết chương trình
Sử dụng kỹ thuật minh họa trực quan
(i) Cho HS hoạt động nhận dạng
Khắc sâu hoạt động thao tác với biến mảng (lưu dãy số)
(ii) Cho HS hoạt động thể hiện Tìm ra qui trình tính tổng, tìm Max, Min của dãy số
Viết chương trình tính tổng, tìm Max, Min của dãy số (iii) Cho HS hoạt động khái quát hóa
Rèn tư duy logic, tương tự
(i) Những kỹ năng được định hướng
+ Kỹ năng sửa lỗi chương trình
+ Kỹ năng tư duy tương tự, khái quát
(ii) Tình huống được xây dựng để có những yếu tố, những công việc nhằm vận dụng nội dung kiến thức thực hiện mục đích chức năng
Trang 6+ Tìm ra qui trình tìm số lượng các phần tử có giá trị bằng giá trị lớn nhất trong dãy
số
+ Chuẩn bị cho viết chương trình tìm số lượng các phần tử
có giá trị bằng giá trị lớn nhất trong dãy số
Kiến thức vận dụng ở thời điểm hiện tại được kế thừa kiến thức đã học từ trước và sẽ được phát triển trong tương lai