Vấn đề này được thể hiện khá rõkhi học tới nội dung được xem là khó đó là: kiểu mảng một chiều là dãy hữu hạncác phần tử có cùng kiểu dữ liệu, kiểu xâu có thể xem như mảng một chiều màmỗ
Trang 1
Số:
SÁNG KIẾN KINH NGHIỆM
Giảng dạy nội dung khó trong tin học 11 bằng phương pháp đặt và giải quyết vấn đề
Người thực hiện: Trịnh Văn Thịnh
Lĩnh vực nghiên cứu:
- Quản lý giáo dục
- Phương pháp dạy học bộ môn: Tin Học 11
- Lĩnh vực khác:
Có đính kèm: Các sản phẩm không thề hiện trong bản in SKKN
Trang 2SƠ LƯỢC LÝ LỊCH KHOA HỌC
I THÔNG TIN CHUNG VỀ CÁ NHÂN
8 Nhiệm vụ được giao: giảng dạy môn tin học THPT
9 Đơn vị công tác: Trường THPT Ngô Sĩ Liên
II TRÌNH ĐỘ ĐÀO TẠO
- Học vị (hoặc trình độ chuyên môn, nghiệp vụ) cao nhất: Cử nhân
- Năm nhận bằng: 2005
- Chuyên ngành đào tạo: Tin học
III KINH NGHIỆM KHOA HỌC
- Lĩnh vực chuyên môn có kinh nghiệm: Giảng dạy môn tin học THPT
Số năm có kinh nghiệm: 7 năm
- Các sáng kiến kinh nghiệm đã có trong 5 năm gần đây: 02
Trang 6II CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN
Trong sáng kiến kinh nghiệm của tôi năm học 2013 – 2014 "Phương pháp
giảng dạy một số nội dung khó trong chương trình tin học 11" đã nêu lên một
số vấn đề sau:
Trong quá trình học một vấn đề mới thì học sinh cần phải có sự liên hệ vớinhững nội dung đã được học từ những bài trước, phân biệt được sự khác nhau vềkiểu dữ liệu, về cấu trúc và về câu lệnh Từ đó mới hình thành được khả năng tưduy và tiếp thu được nội dung mới của bài học Vấn đề này được thể hiện khá rõkhi học tới nội dung được xem là khó đó là: kiểu mảng một chiều (là dãy hữu hạncác phần tử có cùng kiểu dữ liệu), kiểu xâu (có thể xem như mảng một chiều màmỗi phần tử là một kí tự), Kiểu tệp (dữ liệu được lưu trữ lâu dài) và Chương trìnhcon (lập trình có cấu trúc)
Nội dung nghiên cứu đã trình bày các phương pháp để làm rõ một số vấn đềsau:
Kiểu dữ liệu mảng một chiều là cần thiết trong các chương trình có sử dụngnhiều giá trị có kiểu dữ liệu giống nhau
Tại sao kiểu xâu có thể xem như mảng một chiều và khi sử dụng thì giốngkiểu mảng một chiều ở những điểm nào
Tại sao phải sử dụng kiểu tệp, khi làm việc với kiểu tệp thì cần phải chú ýnhững điều gì
Chương trình con được viết dưới hai dạng: thủ tục (procedure) và hàm
(function).
- So sánh cấu trúc của 2 kiểu chương trình con này thì tương tự với nhau,mặc dù cách truy xuất của chúng có khác nhau và cách trao đổi thông tin trong
mỗi kiểu cũng có điểm khác nhau Hàm (function) trả lại một giá trị kết quả vô
hướng thông qua tên hàm và hàm được sử dụng trong biểu thức hoặc các thủ tục.
- Các giải pháp đã thực hiện trong sáng kiến kinh nghiệm cũ đã một phần
giải quyết được cách tiếp cận của học sinh đối với một vấn đề, một nội dung mới,
đơn giản hóa cách suy nghĩ, đơn giản hóa kiến thức mà vẫn đảm bảo được nội dung của chương trình học
- Các giải pháp của đề tài này là sử dụng một phương pháp dạy học cụ thể là đặt và giải quyết vấn đề để giảng dạy hiệu quả hơn những nội dung trên
* Các hình thức và cấp độ được áp dụng trong đề tài này là.
- Vấn đáp đặt và giải quyết vấn đề
“Giáo viên xây dựng một hệ thống câu hỏi để gợi ý, dẫn dắt học sinh thực
hiện tất cả các pha của dạy học đặt và giải quyết vấn đề, ngoại trừ pha thể chế hoá
Ở mức độ thấp hơn thì chính giáo viên thực hiện việc tạo tình huống có vấn đề và trình bày vấn đề
Trang 7Học sinh, nhờ vào hệ thống câu hỏi gợi ý dẫn dắt của giáo viên mà tự giác và
tích cực nghiên cứu phát hiện, trình bày và giải quyết vấn đề
Tri thức không được cho dưới dạng có sẵn và trực tiếp, mà xuất hiện trong
quá trình hình thành và giải quyết vấn đề, được khám phá nhờ quá trình tương tác
giữa thầy và trò, trong đó trò đóng vai trò chính.”[5]
- Thuyết trình đặt và giải quyết vấn đề
Là cấp độ thấp nhất của dạy học đặt và giải quyết vấn đề
“Giáo viên thực hiện tất cả các khâu của hình thức dạy học này: Tạo tình
huống gợi vấn đề, trình bày vấn đề, trình bày quá trình suy nghĩ tìm kiếm, dự đoán cách thức giải quyết vấn đề (chứ không đơn thuần trình bày lời giải), … Giáo viên trình bày cả quá trình tìm kiếm của mình, có lúc thành công, có lúc thất bại, có lúc phải điều chỉnh phương hướng nhiều lần mới đi đến kết quả
Nói cách khác, giáo viên phải đóng vai một học sinh đang tìm cách phát hiện
và giải quyết vấn đề : tự đặt ra cho mình các câu hỏi, các nghi vấn, tự mày mò tìm kiếm các phương án giải quyết, rồi tự trả lời, … Điều quan trọng là trong quá trình này, giáo viên cần để lại những “khoảng lặng” để cho học sinh (người học) đủ thời gian cùng tham gia vào quá trình suy nghĩ, tìm kiếm câu trả lời như chính học sinh giả tưởng, chứ không cho câu trả lời ngay sau khi vừa đặt ra một câu hỏi, một nghi vấn nào đó
Học sinh theo dõi quá trình nghiên cứu đặt và giải quyết vấn đề được trình
bày bởi giáo viên Trong quá trình này, họ cũng trải qua những thời điểm, những cảm xúc và thái độ khác nhau như một học sinh đang thực sự tham gia quá trình nghiên cứu, nhưng không trực tiếp giải quyết vấn đề
Tri thức, mặc dù không được khám phá bởi chính học sinh, nhưng cũng
không được truyền thụ dưới dạng có sẵn và trực tiếp, mà nảy sinh trong quá trình đặt và giải quyết vấn đề của giáo viên.”[5]
* Các bước chủ yếu của dạy học giải quyết vấn đề
“Bước 1: Tạo tình huống gợi vấn đề
Bước 2: Trình bày vấn đề và đặt mục tiêu giải quyết
Bước 3: Giải quyết vấn đề
Trang 8Bước 5: Vận dụng kiến thức mới để giải quyết những nhiệm vụ đặt ra tiếp
theo
Tìm hiểu những khả năng ứng dụng kết quả
Đề xuất những vấn đề mới có liên quan nhờ xét tương tự, khái quát hóa, lật ngược vấn đề, và giải quyết nếu có thể.”[5]
Trong đề tài này tôi đã đưa ra giải pháp thay thế một phần giải pháp đã có
để cụ thể hóa phương pháp giảng dạy bằng cách vận dụng các hình thức và cấp độ cùng với các bước chủ yếu của phương pháp dạy học đặt và giải quyết vấn đề Cácgiải pháp khi thực hiện đề tài này chỉ chủ yếu áp dụng 2 cấp độ là "Vấn đáp đặt vàgiải quyết vấn đề" và "Thuyết trình đặt và giải quyết vấn đề" cùng với các bước đểthực hiện trong cả 4 nội dung đã được đề cập đó là : Kiểu mảng 1 chiều, kiểu xâu, kiểu tệp và chương trình con
Trang 9III TỔ CHỨC THỰC HIỆN CÁC GIẢI PHÁP
1 Giải pháp giảng dạy kiểu mảng một chiều
Phương pháp giảng dạy khi bắt đầu cho học sinh làm quen với kiểu mảng một chiều với cấp độ vấn đáp và thuyết trình
“Bắt đầu từ kiểu dữ liệu có cấu trúc thì học sinh được tìm hiểu thêm mộtkiểu dữ liệu mới là kiểu mảng một chiều vì vậy giáo viên phải biết cách đặt vấn đề
để học sinh hiểu rõ tại sao phải có kiểu dữ liệu đó, nếu không có dữ liệu đó mà chỉcần những dữ liệu đã học thì có thể giải quyết được các bài toán hay không hay viếtchương trình có tối ưu không”[6] Cụ thể thực hiện như sau:
* Nội dung 1: Hiểu ý nghĩa của kiểu mảng một chiều
Bước 1: Tạo tình huống gợi vấn đề
GV: Với kiến thức đã học các em hãy viết một đoạn chương trình để nhập
vào điểm trung bình của 2 học sinh
HS: Viết đoạn chương trình bình thường
GV: Bây giờ hãy viết đoạn chương trình để nhập điểm trung bình của các
học sinh trong lớp
Khi học sinh làm bài sẽ nảy sinh tình huống có vấn đề ở đây là: số lượngbiến khai báo khá nhiều và phải viết nhiều câu lệnh hoặc câu lệnh viết quá dài
Bước 2: Trình bày vẫn đề và đặt mục tiêu giải quyết
GV: Như vậy vấn đề gặp phải khi viết chương trình này là gì nếu như yêu
cầu của chương trình là nhập vào điểm trung bình của học sinh toàn trường
HS: Suy nghĩ và trả lời vì có nhiều biến phải khai báo:
Var x1, x2, x3, x4, x5, … real;
Câu lệnh phải viết quá dài hoặc phải có nhiều câu lệnh
Readln(x1,x2,x3,x4,x5,…)
chương trình sẽ không phù hợp với kiểu dữ liệu chuẩn đã học
GV: Để giải quyết vấn đề trên thì mục tiêu là cần phải có một kiểu dữ liệu
mới phù hợp hơn, có đủ các phần tử để chứa được tất cả các giá trị khác nhau theoyêu cầu của bài, và chương trình được viết lại để phù hợp hơn
Bước 3: Giải quết vấn đề:
GV: Đưa ra một đoạn chương trình để giải quyết vấn đề đã nêu là nhập điểm
trung bình của các học sinh trong lớp bằng cách sử dụng kiểu mảng một chiều đểhọc sinh quan sát được sự khác biệt với đoạn chương trình cũ:
Trang 10Bước 5: Vận dụng kiến thức để đặt ra nhiệm vụ tiếp theo
GV: Tiếp tục vấn đáp, đặt câu hỏi để học sinh tìm hiểu về khái niệm mảng
một chiều, cách khai báo, cách tham chiếu đến 1 phần tử, và cách duyệt qua cácphần tử
Có thể thuyết trình, vấn đáp để giải quyết các nội dung khái niệm mảng mộtchiều như sau:
GV: Đặt câu hỏi học sinh tìm hiểu về số lượng các phần tử và kiểu dữ liệu
của các phần tử đó ở các ví dụ đã nêu
HS: Mong đợi học sinh sẽ nhận xét được như sau:
- Số lượng biến nhiều nhưng là số hữu hạn
- Mỗi phần tử đều có kiểu dữ liệu giống nhau
Dựa trên các vấn đáp đó học sinh có thể tự khái niệm được:
“Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu”.
* Nội dung 2: Khai báo mảng một chiều:
“Sách giáo khoa có khai báo cả hai cách Trong đó cách trực tiếp giới thiệutrước và gián tiếp giới thiệu sau Tuy nhiên nếu giới thiệu với học sinh theo trình tựnày có thể làm cho học sinh bị thụ động trong cách khai báo vậy giáo viên có thể
sử dụng phương pháp được dẫn chứng dưới đây để học sinh tự khai báo được mộttrong hai cách Nhằm ghi nhớ sâu hơn việc khai báo biến mảng một chiều.”[6]
Bước 1: Tạo tình huống gợi vấn đề:
- Bắt đầu từ khai báo đã biết
Var <Tên biến> : <Kiểu dữ liệu>;
GV giả sử ngoài những kiểu dữ liệu đã học bây giờ ta có một kiểu dữ liệu mớidạng kiểu mảng có tên là DiemTrungBinh, và cho HS khai báo:
Var DTB : DiemTrungBinh;
Trang 11 Vấn đề ở đây là kiểu dữ liệu DiemTrungBinh là kiểu dữ liệu đã cóchưa?, có được sử dụng không?
Bước 2: Trình bày vấn đề và đặt mục tiêu giải quyết
GV: Ở đây điểm trung bình là một tên kiểu dữ liệu mà ta tự đặt ra, xem như
đây là một kiểu dữ liệu có cấu trúc gồm nhiều phần tử đủ để chứa được điểm trungbình của các học sinh trong lớp
Pascal hỗ trợ câu lệnh để chúng ta có thể định nghĩa tạo ra một kiểu dữ liệunhư vậy đó là kiểu mảng một chiều
Bước 3: Giải quyết vấn đề:
GV: Từ vấn đề được trình bày và đặt mục tiêu giải quyết ở trên Ngôn ngữ
lập trình Pascal cho phép chúng ta định nghĩa ra kiểu dữ liệu này bằng câu lệnh:
Type <Tên kiểu mảng> = array [Kiểu chỉ số] of <kiểu phần tử>:
Do phải định nghĩa trước và khai báo sau nên các câu lệnh sẽ được viết là:
Type <Tên kiểu mảng> = array [Kiểu chỉ số] of <kiểu phần tử>;
Var <Tên biến mảng> : <Tên kiểu mảng>;
Đây là cách thứ nhất để khai báo kiểu dữ liệu mảng một chiều
Trong đó:
- Kiểu chỉ số có dạng: n1 n2 (n1, n2 là những số nguyên hoặc biểu thứcnguyên và n1 ≤ n2)
- Kiểu phần tử là kiểu dữ liệu của từng phần tử trong mảng
Ví dụ: Type DiemTrungBinh = array [1 50] of real;
Var DTB : DiemTrungBinh;
GV: Cho học sinh quan sát kỹ và nhận xét về câu lệnh về cú pháp và ví
dụ ở khai báo trên để HS phát hiện được có một đặc điểm giống như tính chất bắccầu của các biểu thức
HS: Mong đợi sẽ nhận xét được như sau:
<Tên biến mảng> : <Tên kiểu mảng>;
Mà <Tên kiểu mảng > = array [Kiểu chỉ số] of <kiểu phần tử>;
Nên có thể thay thế câu lệnh trên bằng câu lệnh sau:
Var <Tên biến mảng> : array[Kiểu chỉ số] of <Kiểu phần tử>;
Đây chính là cách thứ 2 để khai báo kiểu dữ liệu mảng một chiều:
Trang 12Bước 4: Rút ra kết luận:
Như vậy với phương pháp giảng dạy đặt và giải quyết vấn đề như trên họcsinh đã không cần phải phụ thuộc vào sách giáo khoa, mà chỉ cần nhớ kiến thức cũ
và trải qua quá trình vấn đáp và suy nghĩ theo sự dẫn dắt của giáo viên các em cũng
có thể hiểu rõ được vai trò của kiểu mảng một chiều, khái niệm được và khai báođược mảng một chiều một cách hoàn toàn tự nhiên, Tự viết ra được một cách khaibáo trực tiếp từ gián tiếp Học sinh sẽ cảm thấy hứng thú và nhớ bài ngay trên lớp
* Nội dung 3: Duyệt và tham chiếu các phần tử trong mảng một chiều:
Với nội dung này tôi xin trình bày vắn tắt các bước trong quá trình đặt và giải quếtvấn đề như sau:
Bước 1: Tạo tình huống gợi vấn đề
GV: Đặt tình huống là muốn đưa ra màn hình điểm trung bình của một học
sinh nào đó hay đưa ra tất cả điểm trung bình của các học sinh ra màn hình thì phảilàm thế nào
HS: Mong đợi suy nghĩ:
Đưa ra màn hình tất cả: Sử dụng câu lệnh Write(DTB);
Còn đưa ra điểm của một học sinh: Chắc phải có một sự tham chiếunào đó
Bước 2: Trình bày vấn đề và đặt mục tiêu giải quyết
GV: Từ suy nghĩ của học sinh giáo viên có thể thực hiện ngay câu lệnh mà
học sinh suy nghĩ là Write(DTB) Tất nhiên trình biên dịch sẽ báo lỗi Từ vấn đề đó
giáo viên sẽ dẫn dắt để học sinh biết cách phải tham chiếu và xuất ra từng phần tửmột theo đúng cú pháp
Tham chiếu: <Tên biến mảng>[<chỉ số>]
Chú ý đối với học sinh là: chỉ sổ ở trên có phục thuộc vào việc chọn kiểu chỉ
số trong khai báo
Bước 3: Giải quyết vấn đề:
GV: Để học sinh viết câu lệnh xuất điểm của một học sinh nào đó từ khai
báo đã ví dụ ở trên
HS: Sẽ viết được
Ví dụ: Write(DTB[4]:4:1); (Xuất điểm của học sinh thứ 4 trong lớp)
Hoặc xuất ra màn hình điểm của 40 học sinh trong lớp
For i := 1 to 40 do write(DTB[i]:4:1)
Bước 4: Rút ra kết luận:
GV: Nhấn mạnh việc thao tác trên mảng là phải thao tác với từng phần tử trong
mảng, vì vậy yếu tố duyệt và cách tham chiếu đến các phần tử trong mảng có yếu tốquan trọng khi viết các chương trình có sử dụng kiểu dữ liệu mảng một chiều
Trang 132 Giải pháp giảng dạy kiểu xâu:
Bản chất của kiểu xâu là kiểu mảng một chiều mà mỗi phần tử là một kí tự.Dựa vào điều này giáo viên có thể sử dụng phương pháp đặt và giải quyết vấn đềmang tính gợi mở để học sinh có một cách tiếp cận tự nhiên từ kiến thức mới học
đó là kiểu mảng một chiều Tôi sẽ trình bày cụ thể các bước khi thực hiện giải phápgiảng dạy này như sau:
Bước 1: Tạo tình huống gợi vấn đề
GV: Trình chiếu dãy các giá trị sau và gợi hỏi học sinh nhận xét về đặc điểm
và bản chất của từng dãy:
1 4 2 8 5 9 3 2.5 6.1 5.0 4.3 7.2
T I N H O C
HS: nhận xét: Dãy A là dãy gồm 7 số nguyên
Dãy B là dãy gồm 5 số thựcDãy C là dãy gồm 6 kí tự
“Theo định nghĩa về kiểu mảng thì mỗi dãy trên đều gồm một số hữu hạncác phần tử có cùng kiểu dữ liệu nên các dãy trên đều có thể xem là mảng mộtchiều”[6]
“Như vậy, từ nhận xét trên thì có một vấn đề nảy sinh từ kiến thức mảng mộtchiều đó là dãy A và dãy B thì quen thuộc nhưng ở dãy C thì mỗi phần tử ở đây làmột kí tự.”[6]
Bước 2: Trình bày vấn đề và đặt mục tiêu giải quyết
GV: Đặt câu hỏi gợi mở cho học sinh suy nghĩ và nhận xét về dãy C Đây là
dãy gồm các kí tự, hay còn gọi là một xâu kí tự, vậy các em có suy nghĩ gì khi làmviệc với dãy này? Về cách để xuất giá trị của dãy này ra màn hình? Ví dụ như xuất
ra họ và tên của một học sinh, có phải bắt buộc phải xuất từng kí tự không? Rồi khi
xử lí dãy này như muốn in hoa, muốn xóa bớt kí tự, muốn sao chép một số kí tự,…điều đó có khó khăn không?
HS: Với một số các câu hỏi đặt ra của giáo viên thì mong đợi học sinh sẽ có
những suy nghĩ đó là nếu như xem đây là mảng một chiều thì việc thực hiện nhữngvấn đề nêu trên sẽ rất khó khi thực hiện
Dãy A:
Dãy B:
Dãy C:
Trang 14 Đặt mục tiêu giải quyết vấn đề trên là liệu có một quan niệm khác cho dãy Chay không, đó là không xem dãy C là mảng một chiều Và ngôn ngữ lập trìnhPascal đã hỗ trợ một kiểu dữ liệu mới là kiểu xâu, và khi chúng ta làm việc với dãy
C như là một kiểu dữ liệu xâu mà không phải là mảng một chiều thì các vấn đề đặt
ra ở trên sẽ được giải quyết khá là dễ dàng Và để thực hiện với kiểu dữ liệu xâunày thì sẽ phải tìm hiểu một số nội dung là khai báo như thế nào và có những thaotác cơ bản nào trên kiểu dữ liệu xâu
Từ đây, học sinh đã có thể tự tri giác được các kiến thức sau:
- Bản chất của kiểu xâu là kiểm mảng một chiều mà mỗi phần tử là một kítự
- Hoàn toàn có thể thao tác với kiểu xâu như kiểu mảng, ví dụ như thamchiếu đến kí tự nào đó trong xâu
- Kiểu xâu sẽ có nhiều thao tác xử lí đơn giản mà ngôn ngữ lập trình cung
cấp sẵn các câu lệnh để xử lí (đó là các hàm và thủ tục xử lí xâu)
Bước 3: Giải quyết vấn đề:
* Nội dung 1: Khái niệm và khai báo:
GV: Để học sinh tự suy nghĩ và khái niệm về kiểu xâu từ cách mà giáo viên
đã đưa ra tình huống ở trên:
HS: Khái niệm về kiểu dữ liệu xâu: Là mảng một chiều mà mỗi phần tử là
một kí tự
GV: Để sử dụng kiểu xâu thì phải khai báo kiểu xâu GV đưa ra cú pháp khai
báo
Var <Tên biến xâu> : String[<độ dài lớn nhất của xâu>];
Trong đó, độ dài lớn nhất của xâu là số lượng kí tự tối đa mà xâu được khai báo muốn lưu trữ và không lớn hơn 255 Khi bỏ qua tham số này thì xâu sẽ chứa tối đa 255 kí tự.
HS: Tự lấy các ví dụ khai báo một số biến xâu GV có thể đưa ra một số
khai báo chưa đúng để học sinh nắm vững cách khai báo
Ví dụ: Var s : String[50];
s1,s2 : String [30];
s3 : String; (s3 có độ dài tối đa là 255 kí tự);
* Nội dung 2: Tham chiếu đến các kí tự trong xâu:
GV: Lưu ý học sinh : bản chất là xâu là mảng một chiều nên tham chiếu tới
kí tự cũng như tham chiếu tới các phần tử trong mảng một chiều chỉ số của kí tựđầu tiên trong xâu luôn là 1
HS: Tự tham chiếu đến các kí tự trong xâu :
Ví dụ: đưa ra màn hình một số kí tự trong dãy C (giả sử C là tên của biến
xâu)
Trang 15Write(C[1]) (xuất ra màn hình kí tự ‘T’);
Hay Write(C[4]) (xuất ra màn hình kí tự ‘H’);
* Nội dung 3: Các thao tác xử lí xâu:
Các thao tác cơ bản gồm: Ghép xâu, so sánh xâu, các thủ tục delete, insert, hay cáchàm copy, pos, length, upcase
Với các thao tác trên thì quy trình giảng dạy của giáo viên cần thực hiện vớitrình tự sau:
Đặt vấn đề: Muốn có kết quả nào đó, ví dụ như nối họ đệm với tên, sắp xếp
tên theo thứ tự, Xóa một số kí tự trong xâu, … Đó là các kết quả của các thao tác
Bước 4: Rút ra kết luận: Kiểu xâu có vai trò vô cùng quan trọng trong khi
lập trình và để thực hiện tốt các thao tác trên xâu thì việc nắm vững các thao tác cơbản xử lí xâu là yếu tố quyết định khi lập trình có thể thao tác thành thạo với kiểuxâu hay không
Với phương pháp và trình tự thực hiện với kiểu xâu như trên học sinh sẽ
tự lĩnh hội được nhiều kiến thức mới, không quá phụ thuộc vào nội dung giới thiệu
ở sách giáo khoa, từ các vấn đề mà GV đặt ra học sinh sẽ tự tìm được lời giải từkiến thức về mảng một chiều, có thể kết thúc nội dung kiểu dữ liệu xâu mà họcsinh chỉ trao đổi và tìm cách giải quyết vấn đề chứ không cần phải sử dụng sachgiáo khoa Hình thành nên khả năng tư duy tự học và sáng tạo
3 Giải pháp giảng dạy kiểu tệp:
Học sinh đã được làm quen với một số kiểu dữ liệu chuẩn và một số kiểu dữliệu có cấu trúc Đây là kiểu dữ liệu mà người lập trình sử dụng chủ yếu vào mụcđích sử dụng nguồn dữ liệu lưu trữ sẵn có hoặc xử lí kết quả khi thực hiện chươngtrình Vậy tại sao cần phải có kiểu dữ liệu tệp (làm rõ vấn đề này tức là đã làm chohọc sinh hiểu rõ được vai trò của kiểu tệp) Trong chương trình chỉ đề cập đến kiểutệp văn bản
Trang 16Nội dung chủ yếu cần đạt: Hiểu vai trò của tệp và các thao tác với tệp:
Bước 1: Tạo tình huống gợi vấn đề [6]
- Chạy lại một số chương trình đã học,
như tính tổng trong bài mảng một chiều
hay giải phương trình bậc 2,
- Thoát khỏi chương trình và hỏi: Kết
quả sau khi thực hiện các chương trình
này được xem lại như thế nào?
- Chốt lại: Như vậy với các chương trình
đã học kết quả chỉ có được khi chạy
chương trình đó là vì toàn bộ dữ liệu
trong chương trình được lưu trữ ở ram,
nên không có khả năng lưu trữ lâu dài
- Để lưu trữ dữ liệu lâu dài thì dữ liệu
được lưu trữ ở đâu ? và các đơn vị lưu
trữ là gì?
Quan sát kết quả
- TL:Chạy lại chương trình
- Lưu trữ ở bộ nhớ ngoài và các đơn vịlưu trữ là các tệp
Bước 2: Trình bày vấn đề và đặt mục tiêu giải quyết
“Trong quá trình giảng dạy giáo viên cần làm rõ một số vấn đề sau:”[6]
Trình bày vấn đề đặt ra Mục tiêu giải quyết
- Khai báo bao nhiêu biến tệp?
- Tại sao phải gắn tên tệp?
- Tại sao phải mở tệp?
- Việc đọc ghi tệp được thực hiện như
thế nào?
- Bằng với số tệp trong chương trình
- Trong lập trình ta không thao tác trựctiếp với tệp trên đĩa mà thông qua biếntệp vậy nên phải gắn từng tên tệp chocác đại diện là biến tệp
- Giống như việc muốn xem hoặc ghi vàsửa chữa nội dung trong tệp cần phảithực hiện nháy đúp để mở tệp đó
- Khi lập trình pascal trong chương trìnhtin học 11 thì 3 thao tác cơ bản là nhập,tính, xuất
- Đối với các nội dung đã học thì sẽ lànhập từ bàn phím vào các biến, tính (xửlí) và ghi kết quả ra màn hình
Khi làm việc với tệp thì về mặt tính (xử