Để hoàn thiện một chương trình, các em cần khai báo biến và sử dụng các câu lệnh một cách hợp lý và chính xác.. Lớp chúng ta cùng quan sát.[r]
Trang 1PHÒÒNG GD&ĐT QUẬẬẬN THẬNH XUẬẬN
TRƯỜÒNG THCS PHƯỜNG LIỆẬẬT
TIỆẾT CHUYỆẬN ĐỆỀ CUẬM:
XỬ LÍ DÃY SỐ TRONG CHƯƠNG TRÌNH
I MỤC TIÊU
1 Kiến thức:
- Làm quen với việc khai báo và sử dụng các biến mảng trong chương trình
- Ôn luyện cách sử dụng câu lệnh lặp For To do và câu lệnh điều kiện if then và các câu lệnh cơ bản khác
2 Kĩ năng:
- Củng cố các kĩ năng đọc, hiểu thuật toán và chỉnh sửa các lệnh trong chương trình
3 Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học
4 Định hướng phát triển năng lực:
- Năng lực tư duy, năng lực sáng tạo, năng lực khái quát hóa, năng lực tính toán
- Năng lực giải quyết vấn đề, năng lực hợp tác,
- Năng lực giao tiếp, năng lực sử dụng ngôn ngữ
II CHUẨN BỊ
1 Giáo viên: Giáo án, máy tính, máy chiếu
2 Học sinh: Chuẩn bị bài, SGK, vở ghi, máy tính
III TIẾN TRÌNH BÀI DẠY
1 Ổn định lớp: - Kiểm tra sĩ số (1 phút)
2 Bài mới
Hoạt động 1: Sửa lỗi chương trình có sẵn (7 phút)
* Định hướng phát triển năng lực: năng lực tư duy, giao tiếp, sử dụng ngôn ngữ
GV: “Ở các tiết trước, các em
đã được làm quen với cách khai
báo và sử dụng biến mảng trong
chương trình Ngày hôm nay, cô
và trò chúng ta sẽ cùng ôn tập và
củng cố lại các xử lý thường gặp
trong dãy số”
- “Đầu tiên, chúng ta cùng
khởi động với một bài tập
sau: Trên đây, là một chương
trình và cô giáo sẽ biên dịch
thử chương trình báo lỗi”
- Với bài tập này, các em hãy
khởi động chương trình
-HS chăm chú
Xủ lí dãy số trong chương trình
1 Phát hiện và sửa lỗi sai chương
trình:
Var i,n: integer;
a: array[1 n] of integer; Begin
Clrscr;
Writeln('nhap so phan tu n la'); For i:=1 to n do
begin Writeln ('nhap phan tu thu ',i,' ='); readln(a(i));
Readln;
End
Chương trình nhập một dãy
Trang 2Pascal và mở file
baitap1_cd.pas
Đã có sẵn trong máy tính và hãy
quan sát chương trình – phát
hiện và sửa lỗi sai để chương
trình dịch và chạy đúng Thời
gian hoàn thành là 2 phút Các
em chú ý đến đồng hồ trên máy
tính
Sau 2 phút, yêu cầu một hs lên
thao tác trực tiếp trên máy tính
và thuyết trình
- Gv chốt kiến thức:
Để hoàn thiện một chương trình,
các em cần khai báo biến và sử
dụng các câu lệnh một cách hợp
lý và chính xác
Lớp chúng ta cùng quan sát
lại chương trình vừa rồi,
trước và sau khi sửa lỗi Vậy
sau khi bạn sửa lỗi, dịch và
chạy chương trình, các em
hãy cho cô biết mục đích của
chương trình này là gì?
- Hs khởi động máy tính và
mở file baitap1_cd.pas
phát hiện và sửa lỗi chương trình
-HS: phát hiện lỗi sai và giải
thích:
Lỗi 1: thiếu phần khai báo thư
viện crt;
Thêm lệnh gọi thư viện:
uses crt;
Lỗi 2: phần khai báo: chỉ số
đầu phải nhỏ hơn chỉ số cuối, giữa 2 chỉ số là 2 dấu chấm, và chỉ số phải là các số nguyên
Sửa thành [1 50]
Lỗi 3: Bổ sung lệnh nhập số
nguyên n
Readln(n);
Lỗi 4: Sai cú pháp truy cập đến
phần tử thứ i trong mảng a
Sửa a(i) thành a[i]
Lỗi 5: thiếu từ khóa end; sau
readln(a[i]);
Bổ sung từ khóa end; sau lệnh readln(a[i]);
- Hs trả lời:
“Chương trình nhập một dãy số nguyên gồm n phần tử (với n là số nguyên dương được nhập
từ bàn phím)”
số nguyên gồm n phần tử (với
n là số nguyên dương được nhập từ bàn phím)
Trang 3- Yêu cầu hs nhận xét câu trả
lời
Hoạt động 2: Viết thêm chương trình theo yêu cầu (8 PHÚT)
* Định hướng phát triển năng lực: năng lực tư duy, giao tiếp, thực hành, sử dụng ngôn ngữ, năng lực giải
quyết vấn đề, năng lực hợp tác, năng lực sang tạo
- Dựa trên chương trình vừa
rồi, các em hãy viết thêm
chương trình để thực hiện:
tính tổng dãy số vừa nhập và
in ra kết quả
- Với câu hỏi này, cô yêu cầu
các em hoạt động nhóm :
2hs/nhóm Thời gian hoàn
thành là 2 phút…
- Thời gian hoạt động nhóm
đã hết, vậy lớp mình có bao
nhiêu nhóm đã tính ra kết
quả
- Cô mời đại diện nhóm lên
đại diện bổ sung trực tiếp
câu lệnh trên máy và thuyết
trình
- Yêu cầu hs nhận xét kết quả
chương trình
- GV: “Theo các con, để tính
tổng dãy số vừa nhập, có còn
cách viết nào khác không?”
- Yêu cầu hs nhận xét kết quả
chương trình
- Gv nhận xét và chốt kiến
thức
Vậy để thực hiện tính tổng
dãy số vừa nhập, chúng ta
có 2 cách:
+ Nhập được phần tử nào thì
cộng luôn phần tử đó
+Sau khi nhập, viết lệnh lặp để
duyệt phần tử trong mảng, rồi
- Hs lắng nghe và quan sát
- Hs đọc yêu cầu đề bài
- Hs trao đổi và thực hành
- Hs thao tác, thuyết trình và chạy chương trình
- Hs lắng nghe và quan sát
- Hs bổ sung cách viết chương trình khác
- Hs lắng nghe và quan sát
2 Dựa trên chương trình vừa rồi,
các em hãy viết thêm chương
trình để thực hiện: tính tổng
dãy số vừa nhập và in ra kết quả.
Uses crt;
Var i,s,n: integer;
a: array[1 50] of integer; Begin
Clrscr;
Writeln(‘nhap so phan tu n la’); Readln (n);
For i:=1 to n do begin
Writeln (‘nhap phan tu thu ’,i,’ =‘); readln(a[i]);
s:=s+a[i];
End;
writeln(‘S =’,s);
Readln;
End
Cách khác:
Uses crt;
Var i,s,n: integer;
a: array[1 50] of integer; Begin
Clrscr;
Writeln(‘nhap so phan tu n la’); Readln (n);
For i:=1 to n do begin
Writeln (‘nhap phan tu thu ’,i,’ =‘); readln(a[i]);
End;
Trang 4thực hiện tính tổng các số trong
dãy vừa nhập
Vậy chúng ta thấy rằng, với
mỗi một yêu cầu đưa ra ta
có thể thực hiện với nhiều
cách khác nhau, nhưng các
em cần suy nghĩ và đưa ra
một cách viết tối ưu nhất.
For i:=1 to n do s:=s+a[i];
writeln(‘S =’,s);
Readln;
End
Hoạt động 3: Đặt thêm các câu hỏi khác nhau và viết chương trình (28p)
- Năng lực tư duy, năng lực sáng tạo, năng lực khái quát hóa, năng lực tính toán
- Năng lực giải quyết vấn đề, năng lực hợp tác,
- Năng lực giao tiếp, năng lực sử dụng ngôn ngữ
GV:
- Vậy ngoài câu hỏi mà cô
đưa ra vừa rồi, các em hãy
suy nghĩ và đặt thêm các
câu hỏi khác nhau để xử lý
các phần tử đó?
- Với câu hỏi này, cô giáo yêu
cầu các em sẽ hoạt động
nhóm, mỗi một dãy là 1
nhóm, nhóm 1 tính từ phía
cửa ra vào, sau đó đến nhóm
2, nhóm 3 và nhóm 4
Các em cùng thảo luận và
tổng hợp kết quả trên văn
bản Word, lưu tên dưới dạng
“tennhom.doc”, thời gian
hoàn thành là 4 phút
- Đã hết thời gian hoạt động
nhóm, các nhóm có 1 phút
để gửi file vừa tổng hợp đến
email cho cô giáo đến địa
chỉ:
nguyenphuonglien87@gma
il.com
- Hs lắng nghe câu hỏi và quan sát
- Hs trao đổi và thực hiện
3 Viết các câu hỏi khác nhau để
xử lý dãy số
Trang 5- Gv mở kết quả của 4
nhóm… yêu cầu hs đứng dậy
đọc kết quả của nhóm
- Gv thống nhất các câu hỏi
đúng, chỉ ra các câu hỏi sai
- Vậy sau khi các nhóm thêm
rất nhiều các câu hỏi khác
nhau cho bài toán, cô giáo
thấy rằng: các câu hỏi được
chia ra thành 4 dạng
+ dạng 1: tính tổng các số…có
điều kiện
+ dạng 2: tính tích các số có
điều kiện
+ dạng 3: in các số ra màn hình
theo điều kiện
Vì trong điều kiện thời gian có
hạn, nên chúng ta sẽ không thể
giải quyết hết được các câu hỏi
này, cô giáo sẽ chọn ra 4 câu hỏi
hay nhất để chúng ta thực hiện
Cô yêu cầu mỗi dãy sẽ thực hiện
1 câu:
Dãy 1: tính tổng các số chẵn và
in ra kết quả
Dãy 2: tính tích các số lẻ và in ra
ra kết quả
Dãy 3: in ra màn hình các số
chia hết cho 5
Dãy 4: in ra màn hình các số
chia hết cho cả 2 và 3
Thời gian thực hiện là 2 phút
- GV mời từng nhóm lên bổ
sung câu lệnh, biên dịch và
- Hs đọc kết quả của nhóm
- Hs lắng nghe và quan sát
- Hs làm việc theo nhóm
- Hs lên trực tiếp thực hiện
Trang 6chạy thử.
- Gv nhận xét
- Đặc biệt, trước khi xét các
yếu tố nhập, in, tính toán
hay đưa ra điều kiện cần chú
ý dùng vòng lặp để duyệt
các phần tử trong mảng”
- GV chốt kiến thức:
- Việc sử dụng mảng bao
gồm:
- Nhập các giá trị cho các
thành phần của mảng.
- In giá trị của một số hoặc
tất cả các phần tử của
mảng
- Duyệt các phần tử của
mảng để kiểm tra, tính toán
Các công việc này thường
gọi là xử lý dãy số
và thuyết trình
- Hs lắng nghe
4 Nhận xét và hướng dẫn về nhà (1 phút): Giáo viên nhận xét và đánh giá tiết thực hành.
IV RÚT KINH NGHIỆM