Tải bản đầy đủ

skkn đổi mới phương pháp giảng dạy theo hướng tổ chức hoạt động học theo nhóm và hướng dẫn học sinh tự học trong bài dữ liệu kiểu mảng một chiều

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ

TRƯỜNG THPT LƯU ĐÌNH CHẤT

SÁNG KIẾN KINH NGHIỆM

ĐỀ TÀI: ĐỔI MỚI PHƯƠNG PHÁP GIẢNG DẠY THEO
HƯỚNG TỔ CHỨC HOẠT ĐỘNG HỌC THEO NHÓM VÀ
HƯỚNG DẪN HỌC SINH TỰ HỌC TRONG BÀI DỮ LIỆU
KIỂU MẢNG MỘT CHIỀU.

Người thực hiện: Nguyễn Thị Hường
Chức vụ: Giáo viên
SKKN thuộc lĩnh vực: Tin Học

THANH HOÁ NĂM 2018


MỤC LỤC

A.


NỘI DUNG
1. PHẦN MỞ ĐẦU

TRANG

1.1. Lí do chọn đề tài
1.2. Mục đích nghiên cứu
1.3. Đối tượng nghiên cứu
1.4. Phương pháp nghiên cứu
2. PHẦN NỘI DUNG
2.1. Cơ sở lí luận của SKKN
2.2. Thực trạng vấn đề trước khi áp dụng SKKN
2.3. Các SKKN hoặc các giải pháp đã sử dụng để giải quyết vấn đề
2.4. Hiệu quả của SKKN đối với hoạt động giáo dục, với bản thân,

Trang 1
Trang 2
Trang 2
Trang 2
Trang 2
Trang 2
Trang 3
Trang 18

đồng nghiệp và nhà trường.
3. PHẦN KẾT LUẬN, KIẾN NGHỊ
- Kết luận
- Kiến nghị
* Tài liệu tham khảo

Trang 19
Trang 19
Trang 20


1. Mở đầu
1.1. Lí do chọn đề tài:
Hiện nay toàn ngành giáo dục nước ta đang gắng hết sức để tìm ra các giải
pháp tốt nhất nhằm nâng cao chất lượng giáo dục. Nhiều đợt tập huấn diễn ra


với nhiều phương dạy học được bàn cải sôi nổi để cuối cùng đi đến một cái
chung nhất là đưa chất lượng nền giáo dục nước nhà đi lên.
Qua đợt thi quốc tề vừa qua nước ta đã gặt hái được khá nhiều thành công
trong lĩnh vực giáo dục mang về nhiều tấm huy chương vàng, bạc, đồng danh
giá trong đó có sự góp mặt của bộ môn Tin học. Đó là minh chứng rõ nhất cho
thấy Việt Nam là một nước không thua kém với các cường quốc năm châu. Vậy
tại sao thực trạng chung ở các nhà trường THPT bộ môn Tin học lại không được
đón nhận một cách nhiệt tình từ phía các em học sinh. Phải chăng đối với các em
nó là môn phụ hay nó quá trừu tượng hoặc quá khó để các em có thể yêu thích
và đam mê. Mặc dù các em biết trong thời kỳ công nghệ thông tin ngày nay tin
học là một phần không thể thiếu trong sự phát triển chung của nhân loại. Đó là
câu hỏi được đặt ra rất nhiều không chỉ cho những người giáo viên chúng tôi mà
cho toàn ngành giáo dục và hơn nữa là cho toàn xã hội. Liệu giải pháp nào là tốt
nhất để khắc phục tình trạng này. Tựu chung lại dù là lí do gì đi nữa thì đấy cũng
là những nguyên nhân để những người giáo viên như chúng tôi trăn trở oằn
mình trong từng tiết học mong các em có niềm đam mê hơn trong môn học của
mình để mục tiêu cuối cùng không chỉ là những tấm huy chương vàng mà còn là
những sáng chế, những phát minh tạo ra nhiều sản phẩm giúp ích cho đời.
Đợt tập huấn gần đây nhất tôi được tham dự bàn về vấn đề “Phương pháp
và kĩ thuật tổ chức hoạt động học theo nhóm và hướng dẫn học sinh tự học” mà
bộ giáo dục và đào tạo đang có hướng triển khai. Đây là một phương pháp
không mới đối với nhiều nước trên thế giới, nó đã và đang mang lại khá nhiều
thành công trong lĩnh vực giáo dục của họ. Vậy liệu đối với nước Việt nam thân
yêu của chúng ta có nên áp dụng các phương pháp đó để mang lại hiều quả giáo
dục không nhỉ?
Bản thân Tôi nhận thấy để đạt hiệu quả cao trong mỗi phần học, tiết học
cần có cách thiết kế bài giảng cho phù hợp với nội dung kiến thức; phương
pháp, phương tiện dạy học phải phù hợp với từng đối tượng học sinh. Để qua
mỗi phần học, tiết học học sinh thích thú với kiến thức mới, qua đó hiểu được
kiến thức đã học trên lớp, đồng thời học sinh thấy được tầm quan trọng của vấn
đề và việc ứng dụng của kiến thức trước hết để đáp ứng những yêu cầu của môn
học, sau đó là việc ứng dụng của nó vào các công việc thực tiễn trong đời sống
xã hội. Cho nên Tôi nghĩ rằng đó là một Phương pháp hay và vì thế tôi chọn
hướng nghiên cứu này làm đề tài sáng kiến kinh nghiệm của mình trong bài học
về dữ liệu kiểu mảng một chiều của chương trình Tin học lớp 11 với tên “Đổi
mới phương pháp giảng dạy theo hướng tổ chức hoạt động học theo nhóm và
hướng dẫn học sinh tự học trong bài dữ liệu kiểu mảng một chiều”.
1


1.2. Mục đích nghiên cứu
Đề tài này được nghiên cứu nhằm mục đích giúp các em chủ động trong
lĩnh hội tri thức, rèn khả năng họat động theo nhóm và khả năng tự học của
mình để từ đó thúc đẩy niềm đam mê học tập, hứng thú với môn học, giúp các
em có cái nhìn khác về bộ môn tin học và đặc biệt đem lại hiệu quả giáo dục
cao.
1.3. Đối tượng nghiên cứu
Học sinh khối 11 tại trường THPT LƯU ĐÌNH CHẤT.
1.4. Phương pháp nghiên cứu
+ Kết hợp thực tiễn giáo dục ở trường THPT LƯU ĐÌNH CHẤT.
+ Có tham khảo các tài liệu về ngôn ngữ lập trình Pascal, sách giáo khoa,
sách giáo viên.
+ Tham khảo tài liệu tập huấn về “Phương pháp và kĩ thuật tổ chức hoạt
động học theo nhóm và hướng dẫn học sinh tự học”.
+ Tìm hiểu kĩ lưỡng bài học, tổng hợp những kết quả đã có trong việc xây
dựng bài học theo tiêu chí phát huy tính chủ động sáng tạo của học sinh.
+ So sánh giữa giải pháp cũ thường làm với giải pháp mới để có sự kế
thừa và phát huy.
+ Trao đổi trong nhóm và trao đổi với đồng nghiệp để bổ sung, hoàn
thiện tiết dạy; trao đổi với học sinh, lắng nghe ý kiến từ phía học sinh.
+ Dự giờ, thăm lớp, tích luỹ kinh nghiệm thực tế.
2. Nội dung sáng kiến kinh nghiệm
2.1. Cơ sở lí luận của sáng kiến kinh nghiệm
- Đối với các em học sinh bậc THPT thì bộ môn Tin học đang còn khá
mới mẻ và khó để các em có thể tiếp cận một cách tốt nhất, đặc biệt là chương
trình Tin học lớp 11. Vì thế cần phải tạo hứng thú học tập trong mỗi em học
sinh. Bởi khi có hứng thú, say mê trong nghiên cứu, học tập thì thì việc lĩnh hội
tri thức trở nên dễ dàng hơn; ngược lại, khi nắm bắt được vấn đề, tức là hiểu
được bài thì người học lại có thêm hứng thú để học.
- Nhiều bài trong chương trình Tin học 11 thực sự gây nhiều khó khăn cho
cả giáo viên lẫn học sinh trong việc truyền thụ và lĩnh hội tri thức. Đặc biệt để
các em có thể hiểu được kiểu mảng là gì, khi nào thì dùng nó và việc sử dụng
kiểu mảng như thế nào là điều rất khó.
2.2. Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm.
- Đại bộ phận Học sinh còn coi nhẹ bộ môn, coi đây là môn phụ nên
không mấy hứng thú với môn học, chưa đầu tư nhiều thời gian công sức nên
giáo viên rất khó khăn trong việc truyền đạt kiến thức, đổi mới phương pháp dạy
học.
- Chất lượng học sinh còn chưa cao và chưa đồng đều. Lớp mũi nhọn thì
tiếp thu tốt, các lớp khác thì tiếp thu còn chậm.
2


- Các em học sinh vẫn còn quen với cách dạy truyền thống là ỉ lại cho
giáo viên, không chủ động trong lĩnh hội tri thức.
- Môn học khá mới mẻ và khó.
- Kiến thức có liên quan nhiều đến toán học nên yêu cầu học sinh phải có
tư duy tốt.
2.3. Các sáng kiến kinh nghiệm hoặc các giải pháp đã sử dụng để giải
quyết vấn đề.
Tôi chia lớp thành 4 nhóm với các nhiệm vụ khác nhau thực hiện theo các
hoạt động xuyên suốt của tiến trình dạy học. Các em tự làm việc, trả lời phiếu
câu hỏi, tự trình bày và tự đưa ra các câu hỏi cho mỗi hoạt động
Tiến trình dạy học bài 11: Kiểu mảng
Tiết 1: Hoạt động khởi động và hoạt động hình thành kiến thức và luyện
tập
Tiết 2,3: Hoạt động vận dụng và hoạt động tìm tòi mở rộng.
[1]
Chuẩn kiến thức, kỹ năng: [3]
Về kiến thức:
- Hiểu được một kiểu dữ liệu mới là kiểu mảng một chiều. Biết được một
loại biến có chỉ số.
- Hiểu được cấu trúc tạo kiểu mảng một chiều và cách khai báo biến kiểu
mảng một chiều.
Về kỹ năng:
- Tạo được kiểu mảng một chiều.
- Khai báo và sử dụng được biến mảng một chiều trong ngôn ngữ lập trình
Pascal để giải quyết một số bài toán cụ thể.
Về thái độ:
- Học sinh hiểu bài và hứng thú với bài học
- Tự giác, tích cực, chủ động trong giải quyết các bài tập.
- Tiếp tục xây dựng lòng ham thích lập trình, nhằm giải quyết các bài toán
bằng máy tính.
- Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình
như: ý thức chọn và xây dựng kiểu dữ liệu khi thể hiện những đối tượng trong
thực tế.
Phương pháp và phương tiện dạy học:
- Dạy học theo quan điểm hoạt động.
- Sử dụng máy tính, máy chiếu, slide bài giảng, sách giáo khoa, bảng,
phiếu câu hỏi.
A. KHỞI ĐỘNG
Hoạt động 1: Kiểm tra bài cũ
(1) Mục tiêu: Kiểm tra kiến thức của bài học trước về câu lệnh rẽ nhánh If
– Then và câu lệnh lặp For – Do nhằm đáp ứng được lượng kiến thức cần thiết
để giải quyết bài toán ví dụ ở hoạt động 2.
3


(2) Phương pháp/Kĩ thuật: Vấn đáp
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu.
(5) Sản phẩm: Học sinh hiểu và vận dụng được cấu trúc rẽ nhánh và cấu
trúc lặp để giải quyết tình huống cụ thể (mức vận dụng cao).
Nội dung hoạt động
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau cho kết quả là gì?
T:=0;
For i:=1 to n do if (I mod 2=0) then
T:=T+i;
Tính tổng các số nguyên là số lẻ từ 0 đến n.
Tính tổng các số nguyên là số chẵn từ 0 đến n.
Tính tổng các số nguyên là số chẵn từ 1 đến n.
Tính tổng các số nguyên từ 1 đến n.
Đáp án: C
Hoạt động 2: Tìm hiểu bài toán ví dụ
(1) Mục tiêu: Học sinh hiểu được nhu cầu của việc sử dụng kiểu mảng.
(2) Phương pháp/Kĩ thuật: Dạy học nêu vấn đề.
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm.
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câu
hỏi, các chương trình nguồn mẫu.
(5) Sản phẩm: Học sinh không nhàm chán khi tiếp cận vấn đề mới. Học
sinh hiểu được bài toán ví dụ, trả lời được các phiếu câu hỏi của giáo viên đưa ra
từ đó giúp các em nhận thấy cần phải có một kiểu dữ liệu mới phù hợp hơn để
giải quyết vấn đề (Mức vận dụng cao).
Nội dung hoạt động
Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần, tính và đưa màn
hình nhiệt độ trung bình của tuần và số lượng ngày trong tuần có nhiệt độ cao
hơn nhiệt độ trung bình của tuần. [2]
Giáo viên phát phiếu câu hỏi cho các nhóm.
PHIẾU CÂU HỎI 1
Bài này cho gì?
Vậy phải khai báo bao nhiêu biến cho các ngày đó?
Các biến này có kiểu dữ liệu là gì?
Có mấy biến cùng kiểu dữ liệu với nhau?
Bài này bắt đi tìm cái gì?
Viết câu lệnh tính nhiệt độ trung bình.
Câu lệnh để đếm các ngày thõa mãn điều kiện bài toán có cú pháp là gì?
Có mấy câu lệnh như vậy?
Các câu lệnh có tương tự nhau không?
Nếu bài toán xử lí với số ngày là một tháng hay một năm thì phải khai báo
bao nhiêu biến?
4


Có bao nhiêu câu lệnh đếm số ngày thỏa mãn điều kiện bài toán?
Chương trình như vậy gặp khó khăn gì không nếu số ngày lên tới 10 năm?
Các em có nhận xét gì về các biến lưu nhiệt độ của ngày và các câu lệnh?
Giáo viên thu phiếu trả lời của các nhóm rồi phân 4 nhóm thành hai
cặp trả lời và phản biện lẫn nhau.
Giáo viên nhận xét và chính xác lại các câu trả lời của Học sinh như
sau:
Bài này cho nhiệt độ trung bình của 7 ngày
Bài này phải khai báo 7 biến lưu giá trị nhiệt độ cho 7 ngày, 1 biến lưu
nhiệt độ trung bình, một biến lưu tổng số ngày có nhiệt độ cao hơn nhiệt độ
trung bình.
Các biến này có kiểu dữ liệu là số thực: Real.
Có 9 biến cùng kiểu dữ liệu với nhau.
Tính nhiệt độ trung bình của cả tuần và số ngày có nhiệt độ cao hơn nhiệt
độ trung bình.
Câu lệnh tính nhiệt độ trung bình: tb:=(t1+t2+t3+t4+t5+t6+t7)/7
Câu lệnh để đếm các ngày thõa mãn điều kiện bài toán có cú pháp là:
If
t1>tb
then dem:=dem+1; {kiểm tra ngày thứ nhất}
Có 7 câu lệnh như vậy.
Các câu lệnh tương tự nhau
Nếu bài toán xử lí với số ngày là một tháng thì phải cần 30 biến, một năm
là 366 biến.
Có 30 hoặc 366 câu lệnh đếm số ngày thõa mãn điều kiện bài toán.
Chương trình như vậy gặp các khó khăn sau:
+ Khai báo quá nhiều.
+ Chương trình quá dài vì nhiều câu lệnh.
Các biến cùng kiểu dữ liệu với nhau, nhiều lệnh tương tự nhau.
Giáo viên chiếu chương trình mẫu chạy trên pascal khi không dùng kiểu
mảng và khi có dùng kiểu mảng.
Giáo viên nhận xét
Để khắc phục những hạn chế trên, người ta thường ghép chung 7 biến trên
thành một dãy và đặt cho nó chung một tên và đánh cho mỗi phần tử một chỉ số.
Cách làm như vậy tạo nên một kiểu dữ liệu mới có tên là kiểu mảng một
chiều. Và bài học hôm nay chúng ta sẽ cùng nhau bàn về kiểu dữ liệu đó.
B. HÌNH THÀNH KIẾN THỨC
Hoạt động 3: Tìm hiểu kiểu mảng một chiều
(1) Mục tiêu: Học sinh hiểu được kiểu mảng một chiều.
(2) Phương pháp/Kĩ thuật: Vấn đáp
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm + Cá nhân
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câu
hỏi.
5


(5) Sản phẩm: Học sinh trả lời được phiếu câu hỏi giáo viên đưa ra từ đó
giúp các em hiểu được kiểu mảng một chiều và các yếu tố cần xác định kiểu
mảng một chiều (Mức độ biết).
Nội dung hoạt động
1. Kiểu mảng một chiều
Định nghĩa: Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.
Các phần tử trong mảng được đặt chung 1 tên và mỗi phần tử của nó có
một chỉ số.
[2]
Các yếu cần xác định về kiểu mảng một chiều:
[2]
+ Tên kiểu mảng một chiều.
+ Số lượng phần tử.
+ Kiểu dữ liệu của phần tử.
+ Cách khai báo biến mảng.
+ Cách tham chiếu đến từng phần tử.
Ví dụ:
Chỉ số
1
2
3
4
5
6
7
29.
27 26
28
28
30
28
Nhietdo
5
+ Tên mảng: Nhietdo
+ Số lượng phần tử: 7
+ Kiểu dữ liệu của phần tử: real (số thực)
+ Phần tử thứ 5 là 28.5
PHIẾU CÂU HỎI
Số lượng các phần tử của mảng một chiều là hữu hạn hay vô hạn?
Kiểu dữ liệu của các phần tử trong mảng một chiều như thế nào?
Mảng một chiều là gì?
Biến mảng có được đặt tên không?
Các phần tử của mảng có tên như thế nào?
Phân biệt các phần tử thông qua cái gì?
Khi tham gia vào chương trình biến kiểu mảng có cần khai báo không?
Hãy xác định tên mảng, số lượng phần tử, kiểu dữ liệu của phần tử, giá trị
của phần tử thứ 5 của ví dụ đã cho.
Hãy tự đặt câu hỏi cho nội dung này?
Giáo viên cho học sinh dán phiếu trả lời lên bảng rồi cho học sinh
thảo luận và phản biện lẫn nhau.
Giáo viên chính xác lại các câu trả lời của Học sinh như sau:
Số lượng các phần tử của mảng một chiều là hữu hạn.
Các phần tử trong mảng một chiều có cùng một kiểu dữ liệu.
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.
6


Biến mảng được đặt tên.
Các phần tử của mảng có chung một tên.
Phân biệt các phần tử thông qua chỉ số của nó
Cũng giống các biến khác, khi tham gia vào chương trình biến kiểu mảng
phải được khai báo.
+ Tên mảng: Nhietdo
+ Số lượng phần tử: 7
+ Kiểu dữ liệu của phần tử: real (số thực)
+ Phần tử thứ 5 là 28.5
Giáo viên cùng các nhóm chính xác lại câu hỏi và câu trả lời của các
nhóm.
Hoạt động 4: Tìm hiểu cách khai báo biến và cách tham chiếu đến
từng phần tử của mảng một chiều
(1) Mục tiêu: Học sinh nắm được cách khai báo biến mảng một chiều,
cách tham chiếu đến từng phần tử của mảng một chiều.
(2) Phương pháp/Kĩ thuật: Thuyết trình
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm + Cá nhân
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câu
hỏi, chương trình mẫu
(5) Sản phẩm: Học sinh được giao nhiệm vụ tìm hiểu cú pháp khai báo
biến mảng một chiều từ đó giúp các em nắm 2 cách khai báo biến mảng một
chiều và cách tham chiếu đến từng phần tử của mảng một chiều (mức độ hiểu).
Nội dung hoạt động
Quan sát chương trình có dùng mảng một chiều của bài toán ví dụ.
a. Khai báo biến mảng một chiều:
Cách 1: Khai báo trực tiếp:
[4]
Var :array[chỉ số đầu..chỉ số cuối] of
;
Cách 2: Khai báo gián tiếp:
[4]
Type =array[chỉ số đầu..chỉ số cuối] of của phần tử>;
Var < Danh sách tên biến mảng>:;
Trong đó:
Of: từ khóa.
Var: từ khóa để khai báo biến.
Type: từ khóa để định nghĩa kiểu.
Array: từ khóa để khai báo mảng.
Chỉ số đầu, chỉ số cuối: là các hằng hoặc biểu thức nguyên. Chỉ số tăng
đều mỗi lần lên 1 đơn vị nguyên. Chỉ số đầu<= chỉ số cuối
Danh sách tên biến mảng: Do người lập trình đặt theo đúng quy tắc. Có
thể là một hoặc nhiều tên biến được viết phân cách nhau bởi dấu phẩy (,).
7


Tên kiểu mảng: là một tên do người lập trình đặt theo đúng quy tắc.
Kiểu dữ liệu của phần tử là một trong các kiểu dữ liệu chuẩn hoặc các
kiểu dữ liệu do người lập trình định nghĩa.
Ví dụ về khai báo trực tiếp:
Ví dụ 1:
Var nhietdo:array[1..7] of real;
PHIẾU CÂU HỎI
Có mấy biến mảng?
Tên biến mảng là gì?
Giá trị của chỉ số đầu và chỉ số cuối là bao nhiêu?
Mỗi phần tử của mảng có kiểu dữ liệu là gì?
Giáo viên gọi học sinh bất kì trong nhóm trả lời rồi cho học sinh phản
biện.
Giáo viên chính xác lại các câu trả lời theo phiếu câu hỏi của học
sinh.
Có một biến mảng
Tên biến mảng: nhietdo
Chỉ số đầu là 1, chỉ số cuối là 7
Mỗi phần tử của mảng có kiểu dữ liệu là real (số thực).
Ví dụ 2:
Var m,b:array[-3..10] of char;
c:array[a..z] of integer;
PHIẾU CÂU HỎI
Ví dụ này đúng hay sai? Nếu sai hãy giải thích và sửa sai.
Có mấy biến mảng? Đó là những biến nào?
Chỉ số đầu và chỉ số cuối của các mảng?
Chỉ số tăng thế nào từ chỉ số đầu đến chỉ số cuối.
Kiểu dữ liệu của từng phần tử của các mảng đó.
Mỗi mảng có bao nhiêu phần tử?
Nêu cách tính số lượng phần tử của mảng?
Các nhóm cử đại diện trả lời. Phiếu trả lời dán lên bảng. Cho học
sinh thảo luận và phản biện.
Giáo viên chính xác lại các câu trả lời theo phiếu câu hỏi của học
sinh.
Ví dụ này đúng đúng.
Có 3 biến mảng là m,c và b.
Hai biến m và b có chỉ số đầu là -3, chỉ số cuối là 10.
Biến c có chỉ số đầu là a, chỉ số cuối là z.
Với mảng m và b: chỉ số tăng lên 1 đơn vị số nguyên. Với mảng c: chỉ số
tăng lên một kí tự theo bảng chữ cái tiếng anh.
Kiểu dữ liệu phần tử của mảng m và b là char; của mảng c là integer.
8


Mảng m và b có 14 phần tử, mảng c có 26 phần tử.
Nếu chỉ số là kiểu số nguyên ta có thể tính theo công thức: chỉ số cuối –
chỉ số đầu +1 (Vd: 10- (-3)+1=14). Còn nếu là giá trị khác thì có thể đếm.
Ví dụ 3:
Var m,b:array[3..-10] of char;
PHIẾU CÂU HỎI
Cho nhận xét về ví dụ này?
Giáo viên có thể gọi học sinh bất kỳ trả lời.
Giáo viên nhận xét câu trả lời của học sinh rồi chính xác và nhấn
mạnh lại:
Đây là một ví dụ sai vì chỉ số đầu lớn hơn chỉ số cuối.
PHIẾU CÂU HỎI
Mỗi nhóm tự đặt hai ví dụ sai và hai ví dụ đúng về khai báo trực tiếp
biến mảng một chiều?
Giáo viên cho các nhóm dán câu trả lời lên bảng. Yêu cầu cả lớp thảo
luận rồi nhận xét chéo giữa các nhóm. Giáo viên chính xác lại các câu trả
lời.
Ví dụ về khai báo gián tiếp:
Ví dụ 1:
Type mangnd= array[1..7] of real;
Var nhietdo:mangnd;
Ví dụ 2:
Type mang1= aray[-3..10] of char;
Type mang2= array[a..c] of integer;
Var m,b:mang; c:mang2;
PHIẾU CÂU HỎI
Nhận xét về hai cách khai báo biến mảng một chiều.
Mỗi nhóm tự đặt hai ví dụ sai và hai ví dụ đúng về khai báo gián tiếp
biến mảng một chiều?
Khi nào nên khai báo biến mảng trực tiếp khi nào khai báo biến mảng
gián tiếp (Giáo viên có thể cung cấp thông tin này)
Giáo viên chính xác lại các câu trả lời:
Khai báo gián tiếp phải thông qua định nghĩa kiểu rồi khai báo biến mảng
như các biến thông thường khác. Khai báo trực tiếp không cần thông qua định
nghĩa kiểu.
Giáo viên cho các nhóm phản biện lẫn nhau rồi chính xác lại.
Khai báo gián tiếp được sử dụng khi kiểu mảng đó được sử dụng để khai
báo biến mảng nhiều lần trong chương trình. Nếu chương trình chỉ khai báo kiểu
mảng đó một vài lần thì nên sử dụng cách khai báo trực tiếp.
b. Cách tham chiếu đến từng phần tử của mảng một chiều.
[Chỉ số]
[4]
Các thao tác với mỗi phần tử của mảng cũng được thực hiện giống như
trên một biến đơn.
9


Ví dụ: Phần tử thứ 5 của mảng Nhietdo: Nhietdo[5]
PHIẾU CÂU HỎI
Quan sát chương trình hãy chỉ ra câu lệnh khai báo biến cho nhiệt độ của
7 ngày.
Khai báo trực tiếp là gì? Khai báo gián tiếp là gì?
Lấy mỗi cách khai báo hai ví dụ.
Cách khai báo nào thuận tiện hơn?
Khi nào chọn cách khai báo gián tiếp?
Cách tham chiếu đến từng phần tử của mảng một chiều.
Hãy tự đặt các câu hỏi trắc nghiệm cho nội dung này.
Giáo viên chính xác lại các câu trả lời của Học sinh như sau:
Type Kmang1=array[1..Nmax] of real;
Var nhietdo:Kmang1;
Khai báo trực tiếp: Là khai báo không qua bước trung gian.
Khai báo gián tiếp: Là khai báo có thông qua bước trung gian.
Lấy mỗi cách khai báo hai ví dụ.
Ví dụ về khai báo trực tiếp:
Ví dụ 1:
Var nhietdo:array[1..7] of real;
Ví dụ 2:
Var m,b:aray[-3..10] of char;
c:array[a..c] of integer;
Ví dụ về khai báo gián tiếp:
Ví dụ 1:
Type mangnd= array[1..7] of real;
Var nhietdo:mangnd;
Ví dụ 2:
Type mang1= aray[-3..10] of char;
Type mang2= array[a..c] of integer;
Var m,b:mang; c:mang2;
Cách khai báo trực tiếp ngắn gọn và thuận tiện khi tên kiểu mảng ít được
sử dụng.
Khi tên kiểu mảng được sử dụng nhiều lần trong chương trình ta chọn
cách khai báo gián tiếp.
[Chỉ số]
Giáo viên cùng các nhóm chính xác lại câu hỏi và câu trả lời
Giáo viên trình chiếu các đoạn chương trình trên Pascal về khai báo
biến mảng và cách tham chiếu đến từng phần tử của mảng một chiều.
Hoạt động 5: Rèn luyện kĩ năng sử dụng kiểu mảng một chiều.
(1) Mục tiêu: Học sinh nắm một số kĩ năng khi làm việc với mảng một
chiều.
(2) Phương pháp/Kĩ thuật: Thuyết trình + Rèn tư duy phân tích, tổng hợp
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm + Cá nhân
10


(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, chương
trình mẫu.
(5) Sản phẩm: Học sinh có kĩ năng thao tác với mảng một chiều. (mức độ
hiểu).
Nội dung hoạt động
Thao tác với mảng một chiều:
+ Nhập dữ liệu:
For := to do
Readln([]);
[4]
+ Xuất dữ liệu:
For := to do
Writeln([]);
[4]
+ Duyệt mảng một chiều:
Dùng cấu trúc lặp như For – Do, While – Do, Repeat – Until để duyệt các
phần tử của mảng.
[5]
Ví dụ:
+ Cách nhập mảng Nhietdo:
Write(‘Nhap so phan tu cua mang: ’);
Readln(n);
Write(‘Nhap gia tri cho tung phan tu: ’);
For i:=1 to n do
Begin
Write(‘Phan tu thu ’ , i , ‘ la: ’);
Readln(Nhietdo[i]);
End;
+ Cách in mảng Nhietdo ra màn hình:
Write(‘Mang vua nhap la: ’);
For i:=1 to n do write(Nhietdo[i]:4);
+ Cách duyệt mảng một chiều:
t:=0;
For i:=1 to n do t:=t+Nhietdo[i];
PHIẾU CÂU HỎI
Lệnh nà dùng để nhập dữ liệu vào cho từng phần tử của mảng?
Lệnh nào dùng để xuất dữ liệu ra cho từng phần tử của mảng?
Nếu mảng có n phần tử thì lệnh nhập hay xuất giá trị cho từng phần tử ấy
lặp lại bao nhiêu lần?
Vòng lặp nào phù hợp cho việc nhập/xuất giá trị cho các phần tử của
mảng?
Mỗi học sinh lấy một ví dụ về nhập và xuất dữ liệu?
Giáo viên chính xác lại các câu trả lời của Học sinh như sau:
Readln(]>);
11


writeln(]>);
Lặp lại n lần
Dùng cấu trúc lặp như For – Do, While – Do, Repeat – Until để duyệt các
phần tử của mảng.
Giáo viên cùng học sinh phản biện và chính xác lại câu trả lời của các
bạn.
Hoạt động 6: Trả lời câu hỏi về mảng một chiều
(1) Mục tiêu: Học sinh nắm được cách khai báo biến mảng một chiều,
cách tham chiếu đến từng phần tử của mảng một chiều.
(2) Phương pháp/Kĩ thuật: Rèn tư duy phân tích, tổng hợp.
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm + Cá nhân
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câu
hỏi, chương trình mẫu
(5) Sản phẩm: Học sinh được giao nhiệm vụ tìm hiểu cú pháp khai báo
biến mảng một chiều từ đó giúp các em nắm 2 cách khai báo biến mảng một
chiều và cách tham chiếu đến từng phần tử của mảng một chiều. (mức độ vận
dụng thấp).
Nội dung hoạt động
PHIẾU CÂU HỎI 1:
(1) Trong các khai báo mảng sau đây khai báo nào là sai ?
A. M1 = Array [-100..200] of Real;
B. M2= Array [‘a’..’z’] of Boolean;
C. M3= Array [“a”..”z”] of Char;
D. M4= Array [-100...0] of Integer;
(2) Trong ngôn ngữ lập trình pascal với khai báo mảng:
Var A:array[2..100] of integer; thì việc truy xuất đến các phần tử 3 như
thế nào?
A. A[4]
B. A(3)
C. A[3]
D. A<4>
(3) Trong ngôn ngữ lập trình pascal để khai báo một mảng một chiều gốm
100 phần tử có kiểu kí tự, về mặt cú pháp câu lệnh nào sau đây là đúng?
A. Var mang1c=array[1..100] of char ;
B. Var mang1c: array[100] of char ;
C. Var mang1c: array[-1..98] of char ;
D. Var mang1c= array[0..100] of char ;
(4) cho các câu lệnh sau:
Var a: array[1..5] of integer ; i,s:integer;

S:=0;
For i:=1 to 4 do s:=s+a[i];
12


Với a[1]=1;a[2]=2;a[3]=3;a[4]=4;a[5]=5; sau khi thực hiện thì s=?
15
B. 6
C. 5
D. 10
C. VẬN DỤNG
Hoạt động 7: Lập trình giải bài toán “Tìm phần tử nhỏ nhất”.
(1) Mục tiêu: Học sinh nhận dạng và hiểu được thuật toán với việc sử
dụng kiểu mảng một chiều.
(2) Phương pháp/Kĩ thuật: Rèn tư duy phân tích, tổng hợp, so sánh tương
tự.
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm + Cá nhân.
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câu
hỏi, chương trình mẫu.
(5) Sản phẩm: Học sinh được giao nhiệm vụ tìm hiểu bài toán, thuật toán
rồi trả lời phiếu câu hỏi để giúp các em biết cách nhận diện và làm việc với
mảng một chiều trong giải quyết bài toán thực tế. (mức độ vận dụng thấp).
Nội dung hoạt động
Ví dụ 1: Tìm phần tử lớn nhất của dãy số nguyên.
[2]
Input: Số nguyên dương N(N≤250) và dãy N số nguyên dương A 1, A2,
…,An, mỗi số đều không vượt quá 500.
Output: Chỉ số và giá trị của phần tử nhỏ nhất trong dãy số đã cho (nếu có
nhiều phần tử lớn nhất chỉ cần đưa ra một trong số chúng). GD)
Giáo viên trình chiếu chương trình mẫu của bài toán ví dụ 1: Tìm phần tử
lớn nhất.
[2]
PHIẾU CÂU HỎI
Dãy n số nguyên dương A1, A2, …,An có cùng kiểu dữ liệu không?
Chúng nên khai báo thành n biến hay khai báo thành một biến mảng một
chiều?
Viết các câu lệnh khai báo biến cho bài toán.
Có thể khai báo biến mảng với cách khác nào không?
Hãy viết đoạn lệnh nhập giá trị cho n và n số nguyên dương.
Để tìm được phần tử nhỏ nhất ta có phải duyệt hết tất cả các phần tử của
dãy không?
Hãy viết đoạn lệnh tìm ra phần tử lớn nhất của dãy.
Hãy viết đoạn lệnh tìm ra phần tử nhỏ nhất của dãy.
Hãy trình bày chương trình hoàn chỉnh.
Giáo viên chính xác lại các câu trả lời của Học sinh như sau:
Dãy n số nguyên dương A1, A2, …,An cùng một kiểu dữ liệu là kiểu số
nguyên.
Chúng nên khai báo thành một biến mảng một chiều.
Các câu lệnh khai báo biến cho bài toán:
Const
Nmax=250;
13


Type

Arrint=array[1..Nmax] of integer;

Var

n,i,min,csmin:integer;
a:arrint;
Var a:array[1..250] of integer;
n,i,min,csmin:integer;
Đoạn lệnh nhập giá trị cho n số nguyên dương:
Readln(n);
For i:=1 to n do
Begin
Writeln(‘phan tu thu ‘,i,’ =’);
Readln(a[i]);
End;
Để tìm được phần tử lớn nhất ta phải duyệt hết tất cả các phần tử của dãy.
Đoạn lệnh tìm ra phần tử lớn nhất của dãy:
Max:=a[1]; csmax:=1;
For i:=2 to n do
If a[i]>max then
Begin
Max:=a[i]; Csmax:=i;
End;
Đoạn lệnh tìm ra phần tử nhỏ nhất của dãy:
Min:=a[1]; csmin:=1;
For i:=2 to n do
If a[i]>min then
Begin
Min:=a[i]; Csmin:=i;
End;
Giáo viên cùng các nhóm khác nhận xét và chính xác lại chương trình.
Hoạt động 8: Sắp xếp dãy số nguyên bằng thuật toán tráo đổi.
(1) Mục tiêu: Học sinh hiểu được thuật toán và nhận dạng được thuật toán
và biết cách thực hiện tráo đổi giá trị của các phần tử trong mảng một chiều.
(2) Phương pháp/Kĩ thuật: Rèn tư duy phân tích, tổng hợp, so sánh đối
chiếu
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câu
hỏi, chương trình mẫu.

14


(5) Sản phẩm: Học sinh được giao nhiệm vụ tìm hiểu bài toán ví dụ để trả
lời được phiếu câu hỏi từ đó biết vận dụng mảng một chiều trong giải quyết bài
toán cụ thể. (mức độ vận dụng cao).
Nội dung hoạt động
Ví dụ 2: Sắp xếp dãy số nguyên bằng thuật toán tráo đổi.
[2]
Input: Số nguyên dương N(N≤250) và dãy N số nguyên dương A 1, A2,
…,An, mỗi số đều không vượt quá 500.
Output: Dãy số A được sắp xếp thành dãy không tăng.
Giáo viên trình chiếu chương trình mẫu của bài toán ví dụ 2.
[2]
PHIẾU CÂU HỎI
Dãy A thành dãy không giảm là thế nào?
Dãy A thành dãy không tăng là thế nào?
Ý tưởng để sắp xếp dãy này là gì?
Hãy viết khai báo biến cho dãy số A?
Để tráo đổi giá trị của hai biến b1, b2 cho nhau ta thực hiện thế nào?
Hãy viết câu lệnh tráo đổi giá trị cho hai phần tử A[i] và A[i+1].
Khi nào thực hiện tráo đổi giá trị của A[i] và A[i+1] cho nhau.
Dùng câu lệnh nào để duyệt các phần tử?
Hãy viết đoạn lệnh sắp xếp các phần tử của mảng A.
Hãy trình bày chương trình hoàn chỉnh.
Giáo viên chính xác lại các câu trả lời của Học sinh như sau:
Dãy A thành dãy không giảm là phần tử nhỏ hoặc bằng đứng trước, phần
tử lớn đứng sau.
Dãy A thành dãy không tăng là phần tử lớn hoặc bằng đứng trước, phần tử
nhỏ đứng sau.
Ý tưởng: Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước nhỏ
hơn hoặc bằng số sau ta đổi chỗ chúng cho nhau. Việc đó được lặp lại cho đến
khi không có sự đổi chỗ nào xảy ra nữa.
Khai báo biến cho dãy số A: Var A:array[1..250] of integer;
Để tráo đổi giá trị của hai biến cho nhau ta mượn một biến trung gian thứ
ba: Tg:=b1; b1:=b2; b2:=tg;
Câu lệnh tráo đổi giá trị cho hai phần tử A[i] và A[i+1]:
T:=A[i]; A[i]:=A[i+1]; A[i+1]:=t;
Nếu A[i]Dùng vòng lặp for – do để duyệt các phần tử.
Đoạn lệnh sắp xếp các phần tử của mảng A:
For j:=2 to n do
For i:=1 to j-1 do
15


If A[i]Begin T:=A[i]; A[i]:=A[i+1]; A[i+1]:=t; end;
Giáo viên cùng các nhóm khác nhận xét và chính xác lại chương trình.
D. TÌM TÒI, MỞ RỘNG:
Hoạt động 9: Gán giá trị cho phần tử.
(1) Mục tiêu: Học sinh nắm được cách gán giá trị cho các phần tử của
mảng một chiều.
(2) Phương pháp/Kĩ thuật: Thuyết trình + phân tích tổng hợp.
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm.
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câu
hỏi.
(5) Sản phẩm: Học sinh trả lời được phiếu câu hỏi về vận dụng câu lệnh
gán giá trị cho các phần tử của mảng (mức độ hiểu).
Nội dung hoạt động
Gán giá trị cho các phần tử của mảng
- Dùng câu lệnh gán:
[Chỉ số]:=;
[4]
Trong đó: có thể là biến, hàm, hằng, biểu thức.
Ví dụ: Nhietdo[5]:=27.5;
- Nếu hai biến mảng được khai báo trong cùng một danh sách biến ta có
thể gán giá trị của hai biến mảng cho nhau. Khi đó các các giá trị phần tử của
mảng này sẽ được gán tương ứng với các giá trị phần tử của mảng kia.
Ví dụ:
Var a,b:array[1..5] of integer; c:array[1..5] of integer;
Ta có:
a:=b; à Đúng
a:=c; àSai
- Dùng câu lệnh nhập dữ liệu để gán giá trị cho các phần tử của mảng
Read([Chỉ số]);
Readln([Chỉ số]);
Ví dụ:
For i:=1 to 7 do read(Nhietdo[i]);
- Gán giá trị cho các phần tử ở phần khai báo.
Const :array[chỉ số đầu..chỉ số cuối] of
=(hằng 1, hằng 2, … ,hằng n);
[5]
Trong đó: hằng 1, hằng 2, … ,hằng n mang các giá cùng kiểu dữ liệu của
phần tử.
PHIẾU CÂU HỎI
Lấy ví dụ tương ứng cho mỗi cách gán giá trị.
Cho các lệnh sau:
Const
a:array[1..3] of integer=(2,3,5);
Var
b:array[1..3] of integer;

For i:=1 to 3 do b[i]:=i*i;
16


a:=b;
For i:=1 to 3 do write(a[i]:5);
Sẽ cho kết quả là gì?
2 3 5 B. 1 4 9
C. 1 2 3
D. Không cho kết quả
Chỉ ra chỗ sai của các câu lệnh sau:
Var
b:array[1..3] of integer;

b[1]:=3.5; b[2]:=6; b[3]:=9.0;
(4) Type
mang:array[1..3] of integer;
Câu lênh nào đúng?
A. Readln(mang[i]);
B. Readln(mang(i));
C. Readln(mang[2]);
D. Tất cả đều sai.
Giáo viên chính xác lại các câu trả lời của Học sinh như sau:
Giáo viên cùng các nhóm nhận xét và chính xác lại các ví dụ.
D
b[1]:=3.5;và b[3]:=9.0; sai vì giá thực không phải nguyên.
D
Hoạt động 10: Mảng trong mảng
(1) Mục tiêu: Học sinh biết cách khai báo biến dạng mảng trong mảng.
(2) Phương pháp/Kĩ thuật: Thuyết trình + phân tích tổng hợp.
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm.
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câu
hỏi.
(5) Sản phẩm: Học sinh được trả lời được phiếu câu hỏi để biết cách vận
dụng khai báo biến mảng phức tạp (mức độ hiểu).
Nội dung hoạt động
Định nghĩa kiểu mảng:
Type =array[chỉ số đầu..chỉ số cuối] of của phần tử>;
[4]
Khai báo biến:
Var < Danh sách tên biến mảng>: array[chỉ số đầu..chỉ số cuối] of kiểu mảng1>;
[4]
Ví dụ:
Type
m:array[1..5]
of
integer;
Var
b,c:array[1..10]
of
m;
PHIẾU CÂU HỎI
Lấy 3 ví dụ về khai báo biến mảng một chiều dạng mảng trong mảng.
Giáo viên cùng các nhóm chính xác lại câu trả lời.
E. HƯỚNG DẪN HỌC Ở NHÀ
- Ôn lại bài học.
17


- Lập trình giải bài toán: Cho dãy A gồm n số nguyên. Tính và in ra màn
hình tổng các phần tử của dãy đó.
- Làm bài tập 5,6,7 trang 79 SGK 11 – NXB GD.
- Đọc bài tập và thực hành 3 - SGK 11 – NXB GD.
2.4. Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục,
với bản thân, đồng nghiệp và nhà trường.
- Học sinh ham thích môn học hơn.
- Tạo được hứng thú trong lập trình của các em
- Học sinh biết cách chủ động tìm tòi trong lĩnh hội tri thức.
- Tạo phong trào học tập mới tích cực, chủ động và sáng tạo.
- Giúp cho bản thân tôi nâng cao khả năng ứng dụng công nghệ thông tin
trong giảng dạy, khả năng nghiên cứu khoa học, tìm tòi và sáng tạo.
- Giúp đồng nghiệp có thêm kinh nghiệm được rút ra từ hạn chế của sáng
kiến kinh nghiệm cho một phương pháp dạy học mới.
Kết quả đánh giá chất lượng giờ dạy qua bài kiểm tra sau tiết học có
áp dụng phương pháp dạy học tích cực:
+ Lớp không sử dụng phương pháp dạy học tích cực:
Trung
STT
Lớp
Sĩ số
Giỏi
Khá
bình
1
11A2
41
5
10
25
2
11A3
42
4
9
27
+ Lớp sử dụng phương pháp dạy học tích cực:
Trung
STT
Lớp
Sĩ số
Giỏi
Khá
bình
1
11A4
37
12
15
10
2
11A5
44
14
19
11

Yếu

Kém

1
2

0
0

Yếu

Kém

0
0

0
0

3. Kết luận, kiến nghị
- Kết luận
Cùng trao đổi với tổ, nhóm bộ môn về sáng kiến kinh nghiệm này tôi đã
nhận được đánh giá khá cao về tính hiệu quả của nó. Từ những đúc rút kinh
nghiệm của bản thân qua nhiều năm giảng dạy tôi nhận thấy đây là một cách làm
hay sẽ đem lại hiệu quả cho các bài dạy của mình. Đó cũng là khởi đầu cho
phong trào tự học và sáng tạo của các em để việc học và sáng tạo không còn là
nỗi sợ hải hay nhàm chán như trước đây nữa.
- Kiến nghị
18


Cùng với chương trình thay sách là sự đổi mới phương pháp dạy học.
Song chỉ đổi mới phương pháp dạy học thôi thì chưa đủ mà phải đổi mới toàn
diện đúng quy trình tất cả các khâu từ khâu chuẩn bị – khâu dạy trên lớp – khâu
kiểm tra đánh giá mới mang lại hiệu quả tốt nhất.
Để đạt hiệu quả tốt hơn cho sáng kiến kinh nghiệm này tôi xin kiến nghị
nhà trường trang bị thêm nhiều hơn nữa về trang thiết bị trường học mà cụ thể là
máy tính, máy chiếu tại phòng học.
Trên đây là những giải pháp giảng dạy, nghiên cứu của tôi. Mặc dù quá
trình nghiên cứu có những ưu điểm nhất định song còn nhiều hạn chế. Kính
mong các đồng nghiệp, các bạn và các em học sinh đóng góp những ý kiến quý
báu để sáng kiến này áp dụng được rộng rãi trong nhà trường.
XÁC NHẬN CỦA THỦ TRƯỞNG
ĐƠN VỊ

Tôi xin cam đoan đây là sáng kiến kinh
nghiệm của mình viết không sao chép
nội dung của người khác.
Hoằng Hóa, tháng 5 năm 2018
Người viết

Nguyễn Thị Hường

19


Tài liệu tham khảo
[1] Tài liệu tập huấn “Phương pháp và kĩ thuật tổ chức hoạt động học theo
nhóm và hướng dẫn học sinh tự học – môn Tin học” của Bộ giáo dục và đào tạo
[2] Sách giáo khoa Tin học 11.
[3]. Sách giáo viên Tin học 11.
[4] Ngôn ngữ lập trình Pascal của Nguyễn Thanh Tiên – Nguyễn Hải Lộc –
ĐHSP Huế.
[5] Một số tài liệu trên các trang mạng…

20




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×