Quá trình dạy học không chỉ trang bị cho học sinh vốn kiến thức để hìnhthành thế giới quan mà còn rèn luyện cho các em năng lực nhận thức và nănglực hành động, biết vận dụng lí thuyết để
Trang 1- -Nguyễn thị thìn
Một vài phơng pháp hỗ trợ việc rèn luyện
kỹ năng thực hành pascal khi dạy chơng
“kiểu dữ liệu có cấu trúc”
Khóa luận tốt nghiệp đại học
Chuyên ngành: phơng pháp giảng dạy tin học
Vinh - 2011
Trang 2Một vài phơng pháp hỗ trợ việc rèn luyện
kỹ năng thực hành pascal khi dạy chơng
“kiểu dữ liệu có cấu trúc”
Khóa luận tốt nghiệp đại học
Chuyên ngành: phơng pháp giảng dạy tin học
Vinh - 2011
Trang 3Để hoàn thành khoá luận này, ngoài sự nỗ lực cố gắng của bản thân, tôi
đã nhận được sự giúp đỡ nhiệt tình của các thầy giáo, cô giáo, của gia đình và bạn bè.
Tôi xin bày tỏ lời cảm ơn sâu sắc tới ThS Hồ Thị Huyền Thương - người
đã tận tình hướng dẫn, giúp đỡ và chỉ bảo trong suốt quá trình thực hiện đề tài.
Tôi xin chân thành cảm ơn các thầy cô giáo trong tổ bộ môn Phương pháp giảng dạy của Khoa CNTT Trường Đại học Vinh.
Tôi xin chân thành cảm ơn tất cả các thầy giáo, cô giáo trong tổ bộ môn Tin của trường THPT Quỳnh Lưu I - Nghệ An đã tạo mọi điều kiện giúp đỡ và đóng góp ý kiến để tôi thực hiện đề tài này.
Tôi xin chân thành cảm ơn các bạn cùng lớp đã động viên, đoàn kết, thương yêu nhau giúp đỡ nhau trong suốt thời gian học.
Cuối cùng, tôi xin bày tỏ lòng biết ơn đối với gia đình đã động viên, giúp
đỡ tôi hoàn thành luận văn này.
Mặc dù đã cố gắng tiếp thu ý kiến của các thầy cô giáo hướng dẫn và nỗ lực trong nghiên cứu, song khoá luận này chắc chắn không thể tránh khỏi những sai sót Vì vậy, rất mong được sự góp ý của các thầy cô giáo và các bạn
để tôi có được cái nhìn sâu sắc hơn về vấn đề nghiên cứu, hoàn thiện đề tài, đạt chất lượng cao hơn.
Tôi xin chân thành cảm ơn !
Vinh, tháng 5 năm 2011
Tác giả
Nguyễn Thị Thìn
Trang 4PHẦN MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục đích nghiên cứu 3
3 Giả thuyết khoa học 3
4 Khách thể và đối tượng nghiên cứu 3
5 Phạm vi nghiên cứu 3
6 Nhiệm vụ nghiên cứu 4
7 Phương pháp nghiên cứu 4
8 Những đóng góp mới của đề tài 5
9 Cấu trúc của khoá luận 5
PHẦN NỘI DUNG 6
Chương I CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN CỦA VIỆC VIỆC RÈN LUYỆN KỸ NĂNG THỰC HÀNH PASCA L 6
1 Cơ sở lí luận của việc rèn luyện kỹ năng thực hành 6
1.1 Khái niệm kỹ năng thực hành 6
1.2 Vai trò của kỹ năng thực hành trong dạy học Tin học 6
2.2 Đặc điểm năng lực nhận thức và năng lực thực hành của học sinh THPT 9
2.3 Thực trạng của việc rèn luyện kỹ năng thực hành Tin học ở trường THPT 10
3 Định hướng đổi mới phương pháp dạy học 11
4 Vai trò của CNTT trong việc rèn luyện kỹ năng thực hành cho học sinh .12
KẾT LUẬN CHƯƠNG I 13
Chương II XÂY DỰNG HỆ THỐNG CÁC BÀI TẬP VÀ THỰC HÀNH HỖ TRỢ VIỆC RÈN LUYỆN KỸ NĂNG THỰC HÀNH PASCAL KHI DẠY CHƯƠNG “KIỂU DỮ LIỆU CÓ CẤU TRÚC” 14
Trang 51 Những nội dung chủ yếu của chương “Kiểu dữ liệu có cấu trúc” 14
Trang 62.1 Nội dung 16
2.2 Yêu cầu 21
3 Quy trình rèn luyện kỹ năng 22
3.1 Tìm hiểu nội dung bài toán 22
3.2 Xây dựng thuật giải 22
3.3 Thực hiện xây dựng chương trình 23
3.4 Thực hiện chương trình (chạy chương trình) 24
4 Các bước của bài thực hành 24
5 Yêu cầu đối với bài thực hành 25
6 Xây dựng hệ thống bài tập và thực hành hỗ trợ rèn luyện kỹ năng thực hành cho học sinh qua đó phát triển tư duy thuật giải 25
KẾT LUẬN CHƯƠNG II 44
Chương III TÌM HIỂU VỀ MÃ NGUỒN MỞ JOOMLA ĐỂ THIẾT KẾ WEBSITE HỖ TRỢ VIỆC RÈN LUYỆN KỸ NĂNG THỰC HÀNH PASCAL KHI DẠY CHƯƠNG “KIỂU DỮ LIỆU CÓ CẤU TRÚC” 45
1 Giới thiệu về Joomla 45
2 Thiết kế web bằng Joomla – cài đặt Joomla 46
3 Một số màn hình giao diện chính của Website 56
3.1 Màn hình trang home 56
3.2 Màn hình tìm kiếm tài liệu 56
3.3 Màn hình đăng nhập quản trị 57
3.4 Màn hình trang quản trị 57
3.5 Màn hình tạo nội dung bài viết 58
3.6 Màn hình thiết lập ngôn ngữ tiếng Việt 58
3.7 Màn hình xem vị trí các Module 59
KẾT LUẬN CHƯƠNG III 59
Trang 71 Mục đích thực nghiệm 60
2 Đối tượng thực nghiệm 60
3 Nội dung thực nghiệm 60
4 Phương pháp thực nghiệm 60
5 Xử lí và phân tích kết quả thực nghiệm 62
KẾT LUẬN CHƯƠNG IV 65
PHẦN KẾT LUẬN 66
PHỤ LỤC 67
TÀI LIỆU THAM KHẢO 69
Trang 8CNTT: Công nghệ thông tinĐC: Đối chứng
HĐH: Hệ điều hành
MTĐT: Máy tính điện tửSGK: Sách giáo khoaTN: Thực nghiệm
Trang 9sử dụng các ứng dụng công nghệ thông tin đang là nhu cầu cấp bách trên phạm
vi toàn thế giới
Trong bối cảnh đó nếu muốn nền giáo dục nước nhà phát triển, bắt kịp
và đáp ứng được công cuộc công nghiệp hóa, hiện đại hóa của đất nước thì nềngiáo dục nước ta cần đổi mới phương pháp giảng dạy học Theo hướng vận dụngcông nghệ thông tin và các thiết bị dạy học, phần mềm dạy học, Website dạyhọc, phát huy mạnh mẽ tư duy sáng tạo, kỹ năng thực hành và hứng thú học tậpcủa học sinh, để nâng cao chất lượng dạy học Việc ứng dụng công nghệ thôngtin vào nước ta hiện nay có 2 nội dung chủ yếu là: Ứng dụng công nghệ thôngtin phục vụ cho công tác quản lý và ứng dụng công nghệ cho việc dạy và học,đổi mới phương pháp giáo dục làm tăng chất lượng giáo dục Hiện nay có rấtnhiều phần mềm hỗ trợ dạy học ra đời và ngày càng được ứng dụng cho côngtác giáo dục, mang lại hiệu quả trong dạy học
Ở Việt Nam, những thành công của sự nghiệp đổi mới trong hơn hai thậpniên qua đã tạo tiền đề cho việc ứng dụng các thành tựu của CNTT vào trongnhà trường
Trong sự nghiệp công nghiệp hoá, hiện đại hóa đất nước nhằm đưa nước
ta theo kịp nhịp độ phát triển của thế giới trong xu hướng hội nhập với nền kinh
tế toàn cầu đòi hỏi thế hệ trẻ phải sử dụng thành thạo các ứng dụng của CNTT
Trang 10vào lĩnh vực công tác của mình trong tương lai Nhiều quan niệm cho rằng
“Không biết Tin học coi như bị mù chữ lần thứ hai” Việc dạy Tin học cũngquan trọng như việc xoá mù chữ”
Tin học là một môn khoa học công cụ, tri thức và kỹ năng Tin học được ápdụng rộng rãi, hỗ trợ đắc lực cho rất nhiều ngành khoa học khác nhau trong hầu hếtlĩnh vực của đời sống, và là một thành phần không thể thiếu của trình độ văn hoáphổ thông của con người trong thời đại mới Bởi vậy, dạy Tin học cho học sinhkhông chỉ truyền thụ nội dung đơn giản, mà phải hướng cho học sinh những nhậnthức, những hiểu biết ngang tầm thời đại, phải luyện cho học sinh luôn tự tìm tòi,khám phá những lĩnh vực mới của nhân loại, góp phần phát triển tư duy nhận thứccủa học sinh; rèn luyện cho học sinh khả năng vận dụng kiến thức Tin học vào thựctiễn Từ đó, giáo dục kỹ thuật tổng hợp và hướng nghiệp cho học sinh
Hiện nay môn Tin học đã trở thành môn học bắt buộc trong nhà trườngphổ thông và có tăng thêm thời lượng Đây là một thuận lợi rất lớn cho việc tiếnhành giảng dạy Học sinh sẽ nghiêm túc hứng thú và có trách nhiệm hơn khi họcmôn học Nhà trường có cơ sở pháp lí để đầu tư về trang thiết bị, phòng máy,triển khai các hoạt động ngoại khoá liên quan Tuy nhiên, đa số trang thiết bịdạy học ở phòng máy ở hầu hết các cơ sở đào tạo hiện tại chưa đáp ứng đượcnhu cầu triển khai chương trình dạy Tin học Do vậy việc giảng dạy thực hành,đổi mới phương pháp dạy học còn nhiều khó khăn Mặt khác có tiến hành cácbuổi thực hành trên phòng máy thì chất lượng cũng chưa cao Giáo viên cònchưa quan tâm đến học sinh đạt được những kỹ năng gì qua các buổi thực hành
Vì vậy đa số học sinh lớp 11 THPT còn non kém về kỹ năng lập trình Giáo viênchỉ biết chú trọng đến việc dạy lý thuyết mà quên rằng việc rèn luyện kỹ năngthực hành là quan trọng đối với bộ môn Tin Học
Quá trình dạy học không chỉ trang bị cho học sinh vốn kiến thức để hìnhthành thế giới quan mà còn rèn luyện cho các em năng lực nhận thức và nănglực hành động, biết vận dụng lí thuyết để giải quyết các bài toán cụ thể Bởi vì
Trang 11chúng ta cần đào tạo nên những con người lao động mới vừa nắm vững lí thuyếtvừa có năng lực thực hành với kỹ năng vững vàng Do vậy nhất thiết phải rènluyện cho học sinh các kỹ năng cơ bản, đặc biệt là kỹ năng thực hành.
Nhận thức được tầm quan trọng của việc dạy Tin học trong việc giáodưỡng và giáo dục hướng nghiệp cho học sinh, qua đó thấy được thực trạng dạy
và học Tin học ở trường phổ thông Mong muốn đóng góp một phần rất nhỏ vềphương pháp dạy học một môn học còn rất mới mẻ trong nhà trường THPT Đó
chính là lí do tôi tiến hành nghiên cứu đề tài “Một vài phương pháp hỗ trợ việc rèn luyện kỹ năng thực hành Pascal khi dạy chương “Kiểu dữ liệu có cấu trúc”.
2 Mục đích nghiên cứu
Nghiên cứu cách tổ chức dạy học các bài tập và thực hành và chất lượng củatiết thực hành của các bài thực hành trong chương “Kiểu dữ liệu có cấu trúc”
3 Giả thuyết khoa học
Nếu tổ chức dạy học các bài thực hành Tin học theo hướng đổi mới màbảo đảm các yêu cầu về sư phạm thì sẽ hình thành, rèn luyện và phát triển được
kỹ năng thực hành lập trình cho học sinh, kích thích hứng thú học tập từ đó nângcao chất lượng dạy học bộ môn
4 Khách thể và đối tượng nghiên cứu
a) Khách thể nghiên cứu
Học sinh lớp 11
b) Đối tượng nghiên cứu
Quá trình tổ chức dạy học các bài tập và thực hành chương “Kiểu dữ liệu
có cấu trúc” nhằm rèn luyện kỹ năng thực hành
5 Phạm vi nghiên cứu
Trong phạm vi đề tài này tôi chỉ tiến hành nghiên cứu xây dựng hệ thốngbài tập và thực hành Pascal đồng thời tìm hiểu cách thiết kế website bằng mã
Trang 12nguồn mã để hỗ trợ trong việc học và rèn luyện kĩ năng thực hành cho học sinh
khi dạy chương “ Kiểu dữ liệu có cấu trúc”.
6 Nhiệm vụ nghiên cứu
- Nghiên cứu tổng hợp cơ sở lí luận về hình thành và phát triển kỹ năngtrong giảng dạy thực hành Tin học ở trường THPT
- Xác định cơ sở và hệ thống các kỹ năng thực hành cơ bản cần rènluyện cho học sinh
- Nghiên cứu cách tổ chức dạy học các bài thực hành Tin học triển khaiứng dụng CNTT vào dạy thực hành một cách phù hợp nhằm rèn luyện và pháttriển kỹ năng thực hành cho học sinh
- Nghiên cứu một số phương pháp hỗ trợ việc rèn luyện kỹ năng thựchành Pascal cho học sinh
- Thực nghiệm sư phạm
7 Phương pháp nghiên cứu
a) Nghiên cứu lí thuyết
- Nghiên cứu các văn kiện của Đảng và nhà nước cũng như của Bộ giáodục và đào tạo về việc nâng cao chất lượng giáo dục và vấn đề đưa Tin học vàonhà trường phổ thông
- Nghiên cứu các tài liệu, bài giảng về phương pháp dạy học Tin học
- Nghiên cứu các tài liệu giáo dục học, tâm lí học, các tài liệu về phươngpháp dạy học môn Toán, Vật lí, để từ đó áp dụng vào giảng dạy Tin học
- Nghiên cứu các tài liệu về ngôn ngữ lập trình Turbo Pascal
- Nghiên cứu khối lượng kiến thức được học về lập trình bằng ngôn ngữPascal và thực trạng dạy học thực hành Tin học ở trường THPT
b) Nghiên cứu thực nghiệm
- Tiếp xúc với giáo viên và học sinh THPT để trao đổi các vấn đề liênquan đến việc dạy học, truyền thụ tri thức Tin học, nhất là dạy học lập trình chohọc sinh THPT
Trang 13- Thực nghiệm sư phạm.
- Xử lí số liệu thu được bằng phương pháp thống kê toán học
8 Những đóng góp mới của đề tài
Khoá luận là công trình nghiên cứu việc tổ chức dạy học thực hành Tinhọc để rèn luyện kỹ năng thực hành cho học sinh Sau đây là những đóng gópmới của đề tài:
- Xác định được hệ thống kỹ năng thực hành cần rèn luyện cho học sinhlớp 11 THPT
- Bước đầu xác định quy trình rèn luyện kỹ năng thực hành
- Xác định cách tổ chức dạy học các bài tập và thực hành để rèn luyện
kỹ năng thực hành cho học sinh
- Xây dựng được hệ thống các bài tập thực hành chương “Kiểu dữ liệu
có cấu trúc” và đưa ra phương pháp thiết kế một website để hỗ trợ việc học vàrèn luyện kĩ năng thực hành Pascal kích thích hứng thú học tập của học sinh
9 Cấu trúc của khoá luận
- Phần mở đầu
- Phần nội dung
Chương I: Cơ sở lí luận và thực tiễn của việc rèn luyện kỹ năng thực
hành Pascal
Chương II: Xây dựng hệ thống bài tập và thực hành hỗ trợ việc rèn
luyện kỹ năng thực hành Pascal khi dạy chương “Kiểu dữliệu có cấu trúc”
Chương III: Tìm hiểu về mã nguồn mở Joomla để thiết kế Website hỗ
trợ việc rèn luyện kỹ năng thực hành Pascal
Chương IV: Thực nghiệm sư phạm
- Phần kết luận
Trang 14PHẦN NỘI DUNG
Chương I
CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN CỦA VIỆC VIỆC RÈN LUYỆN
KỸ NĂNG THỰC HÀNH PASCAL
1 Cơ sở lí luận của việc rèn luyện kỹ năng thực hành
1.1 Khái niệm kỹ năng thực hành
Kĩ năng là một vấn đề được nhiều nhà tâm lí học, giáo dục học quan tâm.Xung quanh khái niệm kỹ năng đã có rất nhiều cách định nghĩa khác nhau
Chẳng hạn, theo tác giả Bùi Văn Huệ thì “Kĩ năng là khả năng vận dụngtri thức, khái niệm, định nghĩa, định luật, vào thực tiễn”
Tác giả Lưu Xuân Mới trong cuốn Lý luận dạy học Đại học cho rằng “Kĩnăng là sự biểu hiện kết quả hành động trên cơ sở kiến thức đã có Kĩ năng là trithức trong hành động”
Theo từ điển Việt Nam thì “Kĩ năng là khả năng vận dụng những kiếnthức thu nhận được vào thực tế”
Tổng hợp lại thì “Kĩ năng là khả năng thực hiện có kết quả một hành độnghay một hoạt động nào đó bằng cách lựa chọn và vận dụng những kiến thức đã
có để giải quyết một nhiệm vụ, thực hiện một công việc nào đó ở cấp độ tiêuchuẩn xác định”
Theo từ điển Tiếng Việt phổ thông “Thực hành là làm để vận dụng lýthuyết vào thực tế”
Từ hai khái niệm “Kĩ năng” và “Thực hành” có thể hiểu: Kĩ năng thựchành trong dạy học (đối với học sinh) là khả năng vận dụng các kiến thức đã họcvào thực tế mang lại hiệu quả
1.2 Vai trò của kỹ năng thực hành trong dạy học Tin học
Mục tiêu của nền giáo dục Việt Nam hiện nay là: Thực hiện giáo dục toàndiện nhằm nâng cao năng lực sản xuất cho nền sản xuất hiện đại, đó là những
Trang 15con người có kiến thức ngang tầm thời đại, có phẩm chất đạo đức, tư duy sángtạo và năng lực thực hành giỏi, có ý thức vươn lên trong học tập, rèn luyện lậpthân, lập nghiệp Là một người lao động thời đại công nghiệp hóa, hiện đại hóathì không chỉ có kiến thức mà còn phải có ý thức kỉ luật, kỹ năng thực hành giỏi,lòng say mê nghề nghiệp Những phẩm chất năng lực này đã được trang bị từkhi ngồi trên ghế nhà trường Do đó việc hình thành kỹ năng cho học sinh trongquá trình dạy học là quá trình từng bước hoàn thành mục tiêu của nền giáo dục.
Nhiệm vụ dạy học thể hiện ở 3 mặt: kiến thức, kỹ năng, thái độ Trong khithực hiện các nhiệm vụ dạy học cần thông suốt một quan điểm là: Dạy họckhông chỉ trang bị cho học sinh vốn kiến thức mà còn rèn luyện cho các em kỹnăng thực hành cơ bản vì: “Ba nhiệm vụ này có mối liên hệ thống nhất hữu cơ
và có sự tác động qua lại với nhau” thể hiện: Nhiệm vụ trang bị kiến thức là cơ
sở để thực hiện hai nhiệm vụ còn lại Vì không có vốn tri thức và phương phápnhận thức nhất định thì không phát triển được trí tuệ và hình thành được nhâncách Ngược lại sự hình thành kỹ năng, kỹ xảo là kết quả của việc nắm tri thức
và cũng là điều kiện để nắm tri thức sâu hơn, tiếp tục lĩnh hội tri thức, kỹ năngmới Đồng thời nó cũng là điều kiện để hình thành nhân cách vì cần phải có mộtkhối lượng kiến thức và kỹ năng nhất định mới có thể biến nhận thức thànhniềm tin lý tưởng và từ đó có năng lực ý chí và hành động đúng Và việc hìnhthành nhân cách vừa là kết quả tất yếu của hai nhiệm vụ trên vừa là mục đíchcuối cùng của việc dạy học, vừa là yếu tố kích thích và là động cơ thúc đẩy việcnắm kiến thức và hình thành kỹ năng
Trong dạy học, giáo viên phải đồng thời thực hiện tốt cả 3 nhiệm vụ nóitrên trong đó nhiệm vụ hình thành và phát triển kỹ năng rất cần thiết Đây lànhiệm vụ khó khăn vì năng lực ở đây là sự tổng hợp, việc xây dựng đòi hỏi cảmột quá trình
Tin học là một môn học liên quan đến máy tính, tuy nhiên không đồngnhất việc học kỹ năng ở đây với kỹ năng học nghề sử dụng máy tính Học kỹ
Trang 16năng ở đây trước hết là để biết và hiểu các vấn đề trong chuẩn kiến thức được tốthơn sau đó mới có thể vận dụng được kỹ năng để làm được một số công việcnhưng cũng chỉ với những công việc đơn giản phục vụ học tập Bên cạnh trang
bị cho học sinh một lượng lớn kiến thức lí thuyết chúng ta còn phải rèn luyệncho các em kỹ năng thực hành tương ứng Vì kỹ năng thực hành là công cụ đểhọc sinh tự lực nghiên cứu Tin học và áp dụng các thành tựu của Tin học vàođời sống thực tiễn
2 Cơ sở thực tiễn của việc rèn luyện kỹ năng thực hành
2.1 Mục tiêu và nhiệm vụ của môn Tin học trong nhà trường phổ thông
Bộ môn Tin học phải cùng với bộ môn khác tham gia thực hiện mục tiêucủa nhà trường phổ thông là đào tạo thế hệ trẻ thành những người có học vấnvững chắc, có nhân cách toàn diện và có năng lực bảo vệ, xây dựng đất nướcphồn vinh Là một trong những môn thuộc lĩnh vực khoa học tự nhiên, bộ mônTin học phải cung cấp những tri thức cơ bản làm nền tảng để học sinh có thể tiếpthu những tri thức của các lĩnh vực kỹ thuật công nghệ tiên tiến nhất là các lĩnhvực của CNTT
Để đạt được mục tiêu giáo dục chung, căn cứ vào đặc điểm và vị trí mônTin học, bộ môn Tin học ở trường phổ thông cần đạt được những mục tiêu cụthể(hay những nhiệm vụ cụ thể)sau đây:
Trang bị cho học sinh những tri thức, kỹ năng cơ bản, cơ sở của Tin học,
từ đại cương về Tin học đến phương pháp lập trình giải các bài toán trên mộtngôn ngữ lập trình nào đó Từ đó làm cho họ có khả năng, có kỹ năng khai thácnhững thành tựu mới của khoa học Tin học và vận dụng Tin học vào thực tiễn.Tiến thêm một bước nữa bộ môn Tin học phải cung cấp cho học sinh những hiểubiết cơ bản về ứng dụng của Tin học vào trong các quá trình công nghệ, trongthông tin liên lạc, trong các quá trình sản xuất, quản lí kinh tế, xã hội
Trên cơ sở cung cấp những tri thức cơ bản, có hệ thống bộ môn Tin họccòn phải rèn luyện cho học sinh những năng lực trí tuệ chung như kỹ năng tư
Trang 17duy trừu tượng, kỹ năng thực hành cần thiết Về tư duy cần hình thành và pháttriển các thao tác chủ yếu: tư duy logic, phân tích, so sánh, tổng hợp, khái quáthóa, trừu tượng hóa Về thực hành cần chú trọng đến kỹ năng sử dụng máy tính,
kỹ năng vận dụng Tin học vào thực tiễn Cũng cần chú ý cho học sinh thói quengắn liền các thao tác tư duy với các kỹ năng thực hành như là một thể thống nhấttrong hoạt động nhận thức
Qua việc dạy Tin học mà hình thành cho học sinh những quan niệm,những phương thức tư duy và hoạt động đúng đắn, phù hợp với những quanđiểm của chủ nghĩa duy vật biên chứng
Bộ môn Tin học phải đảm bảo chất lượng phổ cập đồng thời phải cónhiệm vụ phát hiện và bồi dưỡng học sinh giỏi Tin học
2.2 Đặc điểm năng lực nhận thức và năng lực thực hành của học sinh THPT
Lứa tuổi THPT là thời kì các em đạt được sự trưởng thành về mặt thể lực,
hệ thần kinh có những thay đổi quan trọng trong cấu trúc bên trong não bộ, chứcnăng của não phát triển tạo điều kiện cho sự phức tạp hóa hoạt động học tập,phân tích tổng hợp của học sinh Các hoạt động của học sinh có tính độc lập,sáng tạo, ý thức trách nhiệm và thái độ hợp lý hơn lứa tuổi thiếu niên
Nội dung và tính chất hoạt động học tập của thanh niên học sinh khác rấtnhiều so với thiếu niên Sự khác nhau không chỉ ở nội dung học tập sâu hơn màhoạt động học tập có tính năng động và độc lập ở mức cao hơn, yêu cầu có sựphát triển tư duy lý luận, các em có vốn kinh nghiệm sống rất phong phú, thái độ
ý thức của các em đối với học tập ngày càng phát triển, hứng thú học tập gắnliền với khuynh hướng nghề nghiệp
Lứa tuổi học sinh THPT tính chủ định phát triển mạnh ở tất cả các quátrình nhận thức, tri giác có mục đích đạt tới mức độ cao Quan sát trở nên cómục đích, có hệ thống toàn diện hơn Quá trình quan sát chịu sự điều khiển của
hệ thống tín hiệu thứ 2 nhiều hơn và không tách khỏi tư duy ngôn ngữ Tuynhiên, quan sát của học sinh khó có hiệu quả nếu thiếu sự chỉ đạo của giáo viên
Trang 18Do đó giáo viên cần quan tâm để hướng quan sát của các em vào một nhiệm vụnhất định để các em không vội vàng kết luận khi chưa đủ các sự kiện.
Sự ghi nhớ có chủ định giữ vai trò chủ đạo trong hoạt động trí tuệ, vai tròcủa ghi nhớ logic trừu tượng, ghi nhớ ý nghĩa ngày một tăng lên rõ rệt
Do cấu trúc và chức năng của não phát triển tư duy của các em chặt chẽhơn, có căn cứ và nhất quán hơn, năng lực thực hành của học sinh có những biếnđổi thực sự, ở lứa tuổi thiếu niên các năng lực thực hành còn mang nhiều cảmtính, nhiều động tác thừa còn ở học sinh THPT năng lực thực hành gần như hoànthiện
Nắm được quy trình thao tác thực hành nhằm đạt được mục đích, điều cơbản học sinh nắm chắc kỹ năng, ghi nhớ và áp dụng lý thuyết, thực hiện các thaotác hành động gần như hoàn thiện Do đó năng lực thực hành của học sinhTHPT cao hơn học sinh THCS
2.3 Thực trạng của việc rèn luyện kỹ năng thực hành Tin học ở trường THPT
Môn Tin học đã trở thành môn học bắt buộc trong nhà trường THPT và cótăng thêm thời lượng Qua đợt thực tập sư phạm ở trường THPT Quỳnh Lưu I,tôi đã được tìm hiểu về thực trạng dạy học thực hành Tin học của lớp 11 THPT
và rút ra nhận xét sau: việc rèn luyện các kỹ năng thực hành cho học sinh đangcòn nhiều hạn chế vì một số lí do sau đây:
Thứ nhất, do phòng máy nói chung là quá tải nên việc tổ chức và thựchiện các buổi thực hành còn gặp nhiều khó khăn Mỗi tiết thực hành được tiếnhành trong vòng 45 phút, nếu tổ chức không tốt sẽ có rất nhiều học sinh khônglàm việc trong giờ thực hành
Thứ hai, giáo viên không quản lý được hết các hoạt động thực hành củahọc sinh dẫn đến nhiều học sinh làm việc riêng trong giờ thực hành
Thứ ba, mục đích lớn nhất của học sinh hiện nay là vào đại học, nên việcđầu tư vào nghiên cứu môn Tin học hầu như ít được quan tâm Mặt khác, khôngphải mọi gia đình đều có máy vi tính riêng cho con em Nhiều học sinh có máy
Trang 19hoặc tiếp xúc với máy chỉ sử dụng nhiều vào mục đích chơi các trò chơi, các emchưa có hứng thú học tập môn Tin.
Thứ tư, học sinh chưa có phương pháp vận dụng các kiến thức đã học vàoviệc giải quyết các bài toán trên máy tính
Thứ năm, chưa có hệ thống bài tập thực hành để học sinh rèn luyện kỹnăng thực hành qua đó hình thành tư duy thuật giải cho thực
3 Định hướng đổi mới phương pháp dạy học
Điều 24, chương 1, luật giáo dục nước cộng hòa xã hội chủ nghĩa Việt Namnêu rõ: “ Phương pháp giáo dục phổ thông phải phát huy tính tích cực, tự giác,chủ động, tư duy sáng tạo của học sinh; phù hợp với từng đặc điểm của từng lớphọc, môn học; bồi dưỡng phương pháp tự học, rèn luyện kĩ năng vận dụng kiếnthức vào thực tiễn; tác động đến tình cảm, đem lại niềm vui, hứng thú học tậpcho học sinh”
Quy định này phản ánh nhu cầu đổi mới phương pháp giáo dục để giải quyếtmâu thuẫn giữa yêu cầu đào tạo con người mới với thực trạng lạc hậu củaphương pháp dạy học ở nước ta hiện nay Thật vậy, sự phát triển xã hội và đổimới đất nước đang đòi hỏi cấp bách phải nâng cao chất lượng giáo dục và đàotạo Nền kinh tế nước ta đang chuyển đổi từ cơ chế kế hoạch hóa tập trung sang
cơ chế thị trường có sự quản lý của nhà nước, công cuộc đổi mới này đã đề ranhững yêu cầu mới đối với hệ thống giáo dục, đòi hỏi chúng ta cùng với nhữngthay đổi nôi dung, cần có những những đổi mới căn bản về phương pháp dạyhọc Phải thừa nhận rằng trong tình hình hiện nay, việc dạy học theo kiểu thuyếttrình tràn lan vẫn đang được phổ biến Nhiều giáo viên vẫn chưa từ bỏ lối dạyhọc cũ, không kiểm soát và điều khiển được sự hoạt động của trò, làm cho trò bịđộng, lệ thuộc vào giáo viên
Phương pháp dạy học cần hướng vào việc tổ chức cho người học học tập trong hoạt động và bằng hoạt động tự giác, tích cực, sáng tạo
Trang 20Định hướng này có thể gọi tắt là học tập trong hoạt động và bằng hoạt động,hay gọn hơn; hoạt động hóa người học.
4 Vai trò của CNTT trong việc rèn luyện kỹ năng thực hành cho học sinh
Thế giới hôm nay chứng kiến những đổi thay có tính chất cách mạngtrong mọi hoạt động kinh tế - xã hội nhờ những thành tựu của CNTT CNTTgóp phần tạo ra những nhân tố năng động mới, cho quá trình hình thành nềnkinh tế tri thức và xã hội thông tin Ở Việt Nam hiện nay việc nghiên cứu ứngdụng CNTT trong dạy học cũng đang được sự quan tâm của các nhà khoa họccũng như các nhà quản lý giáo dục
CNTT mở ra triển vọng to lớn trong việc đổi mới các phương pháp vàhình thức dạy học Những phương pháp dạy học theo hướng tiếp cận kiến tạo,phương pháp dạy học theo dự án, theo hướng phát triển và giải quyết vấn đềcàng có nhiều điều kiện để ứng dụng rộng rãi, các hình thức dạy học đồng loạt,dạy học theo nhóm, dạy học cá nhân cũng có những đổi mới trong công nghệthông tin và truyền thông Ứng dụng CNTT học sinh có thể học qua mạng, quacác phần mềm học tập phát triển phương pháp học chủ động, khả năng tìm tòikiến thức mới cho bản thân, hoc sinh có thể nhớ lâu, dễ hiểu
Sự phát triển của khoa học và công nghệ, sự bùng nổ thông tin đòi hỏinhà trường tạo nên những con người lao động thông minh, sáng tạo Sử dụngphương tiện kỹ thuật hiện đại vào dạy học là một đặc trưng của nhà trườnghiện đại Sử dụng CNTT trong dạy học làm sinh động thêm bài học, kích thíchtính tích cực học tập, tư duy sáng tạo đồng thời tiết kiệm thời gian học tập chongười học
Với những thành công của sự nghiệp đổi mới đất nước đã tạo tiền đề choviệc ứng dụng CNTT vào trường học Môn Tin học được đưa vào giảng dạy ởtrường phổ thông, nhiều trường học được trạng bị máy vi tính, các thiết bị liênquan đến giảng dạy môn Tin, mạng Internet đã trở thành quen thuộc với giáoviên và học sinh trong việc tìm kiếm thông tin phục vụ cho học tập Công nghệ
Trang 21phần mềm phát triển mạnh, trong đó phần mềm giáo dục cũng có những thànhtựu đáng kể, đó là sự ra đời của sgk điện tử, giáo án điện tử, các đĩa phần mềmhọc tập,… làm phong phú nguồn tài liệu tham khảo và lựa chọn phương thứchọc phù hợp.
Do đó việc ứng dụng CNTT trong dạy học là bước tiến mới trong việcnâng cao chất lượng học tập của học sinh, tạo môi trường giáo dục mang tínhtương tác cao chứ không phải đơn thuần "thầy đọc, trò chép" như kiểu truyềnthống, học sinh được khuyến khích và tạo điều kiện chủ động tìm tri thức, sắpxếp hợp lý quá trình học tập, tự rèn luyện bản thân
KẾT LUẬN CHƯƠNG I
Qua nghiên cứu lý luận và thực tiễn tôi có một số kết luận như sau:
Để hoàn thành nhiệm vụ dạy học phổ thông và mục đích của nền giáo dụcViệt Nam, nhất thiết chúng ta phải ứng dụng CNTT vào dạy học nhất là dạy họcthực hành nhằm rèn luyện kỹ năng thực hành Tin học cho học sinh
Hoạt động lập trình là điều kiện để thực hiện tốt các mục đích của việcdạy học Tin học trong nhà trường THPT Nhờ đó mà học sinh có điều kiện pháttriển những năng lực trí tuệ chung, rèn luyện các thao tác và phẩm chất tư duy
Trang 22Chương II XÂY DỰNG HỆ THỐNG CÁC BÀI TẬP VÀ THỰC HÀNH HỖ TRỢ VIỆC RÈN LUYỆN KỸ NĂNG THỰC HÀNH PASCAL KHI DẠY
CHƯƠNG “KIỂU DỮ LIỆU CÓ CẤU TRÚC”
1 Những nội dung chủ yếu của chương “Kiểu dữ liệu có cấu trúc”.
Kiến thức chủ yếu về các kiểu dữ liệu có cấu trúc bao gồm: Dữ liệu kiểumảng, kiểu xâu và kiểu bản ghi
a Dữ liệu kiểu mảng
Khi dạy cho học sinh về kiểu mảng ta nên yêu cầu học sinh nắm được ýnghĩa, cách khai báo và cách truy nhập đến các phần tử của mảng và trìnhbày đầy đủ về:
- Những kiểu dữ liệu nào có thể là kiểu dữ liệu của các phần tử củamảng
- Những kiểu dữ liệu nào có thể là kiểu chỉ số
- Kích thước cho phép của mảng
* Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu Mảng được đặt tên vàmỗi phần tử của nó có một chỉ số
* Có hai cách để khai báo mảng một chiều:
- Cách 1: khai báo trực tiếp
Var <tên biến mảng> : array [kiểu chỉ số] of <kiểu phần tử>;
- Cách 2: Khai báo gián tiếp
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>;
* Mảng hai chiều là bảng các phần tử cùng kiểu có các dòng và các cột Cácdòng và các cột đều được đánh số bằng các số nguyên liên tiếp Hai đoạn sốnguyên dùng để đánh số cho các dòng và các cột có thể khác nhau Nhận xétrằng mỗi hàng của mảng hai chiều có cấu trúc như một mảng một chiều cùng
Trang 23kích thước Nếu coi mỗi hàng của mảng hai chiều là một phần tử thì ta có thểnói mảng hai chiều là một mảng một chiều mà mỗi phần tử của mảng là mộtmảng một chiều.
Tương tự như mảng một chiều, đối với mảng hai chiều cũng có hai cáchkhai báo như sau:
- Cách 1: khai báo trực tiếp
Var <tên biến mảng>:array [kiểu chỉ số hàng, kiểu chỉ số cột] of <kiểu phần
tử>;
- Cách 2: Khai báo gián tiếp
Type <tên kiểu mảng> =array [kiểu chỉ số hàng, kiểu chỉ số cột] of <kiểu phần
tử>;
Var <tên biến mảng>:<tên kiểu mảng>;
b Dữ liệu kiểu xâu
Đối với kiểu dữ liệu này học sinh cũng chỉ cần nắm được khái niệm, cáchkhai báo và các thao tác với xâu
- Xâu là dãy các kí tự trong bộ mã ASCII, mỗi kí tự được gọi là một phần tửcủa xâu Số lượng kí tự trong một xâu được gọi là độ dài của xâu
- Có thể xem xâu là mảng một chiều mà mỗi phần tử là một kí tự Các kí tự củaxâu được đánh số thứ tự, thường bắt đầu từ 1
- Biến kiểu xâu có thể được khai báo như sau:
Var <tên biến>: String [độ dài lớn nhất của xâu];
- Các thao tác xử lý đối với xâu bao gồm: Phép ghép xâu, các phép so sánh, cáchàm và thủ tục chuẩn
c Dữ liệu kiểu bản ghi
Kiểu dữ liệu này phức tạp hơn so với các kiểu dữ liệu đã trình bày trước nênkhi dạy cho học sinh về kiểu bản ghi, giáo viên nên có sự dẫn dắt đặt vấn đềbằng các câu hỏi và bài tập để rút ra được sự cần thiết phải xây dựng kiểu dữliệu mới
Trang 24- Dữ liệu kiểu bản ghi (Record) dùng để mô tả các đối tượng có cùng
một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau Mỗiđối tượng được miêu tả bằng một bản ghi Mỗi thuộc tính của đối tượng tương
ứng với một trường của bản ghi Các trường khác nhau có thể có các kiểu dữ liệu khác nhau.
- Do dữ liệu kiểu bản ghi thường dùng để mô tả nhiều đối tượng nên ta
thường định nghĩa một kiểu bản ghi và sau đó dùng nó để khai báo các biến liênquan
Kiểu bản ghi thường được định nghĩa như sau:
Type <tên kiểu bản ghi> = Record
<tên trường 1>:< kiểu trường 1>;
<tên biến bản ghi>:<tên kiểu bản ghi>;
Cũng giống như ở kiểu mảng, không thể nhập hay xuất giá trị của mộtbiến bản ghi như nhập hay xuất giá trị của một biến kiểu dữ liệu chuẩn mà phảinhập hay xuất cho từng trường của bản ghi và để tham chiếu đến từng trườngcủa bản ghi ta viết như sau:
Tên biến bản ghi.tên trường
Ví dụ: Để tham chiếu đến trường X của một biến kiểu bản ghi A ta viết:
Trang 25Để bài thực hành có hiệu quả cao nhất trong việc rèn luyện kỹ năng, khithực hiện giáo viên cần nắm rõ đặc điểm của từng bài thực hành.
Bài tập và thực hành 3:
Củng cố cho học sinh những hiểu biết về kiểu dữ liệu mảng
Tổ chức những hoạt động trong phòng máy để học sinh có được các kĩnăng cơ bản làm việc với kiểu mảng (một chiều) trong lập trình, cụ thể là:
- Khai báo kiểu dữ liệu mảng
- Nhập dữ liệu cho mảng, đưa ra màn hình chỉ số và giá trị của các phần
tử của mảng
- Duyệt qua tất cả các phần tử của mảng để xử lý từng phần tử
Cung cấp cho học sinh ba thuật toán cơ bản và đơn giản thường gặp với
dữ liệu kiểu mảng
- Tính tổng các phần tử thõa mãn điều kiện nào đó
- Đếm số các phần tử thõa mãn điều kiện nào đó
- Tìm phần tử lớn nhất (hay nhỏ nhất) của mảng cùng với vị trí của nótrong mảng
Giới thiệu hàm Random(n) cho học sinh thấy có thể dùng lệnh để máy lấy
ngẫu nhiên một số nguyên trong khoảng từ 0 đến N-1, giới hạn N dongười lập trình đưa ra
Góp phần hình thành và rèn luyện tư duy lập trình, tác phong của ngườilập trình
* Những điểm cần lưu ý trong bài
Khi kết thúc giờ thực hành, ít nhất học sinh phải chạy được ba chương
trình ở bài 1a, 1b và 2a Tùy theo điều kiện cụ thể, trình độ học sinh giáo viên
cần giúp học sinh đạt được mục đích chính của bài thực hành
Về bài 1
Học sinh hiểu được chương trình cho sẵn ở câu a và thấy được kết quả
chạy chương trình này, trên cơ sở đó mới tìm ra được cách giải quyết yêu cầu
đặt ra ở câu b.
Trang 26Điểm khác nhau cơ bản của các chương trình ở câu a và câu b là chương trình ở câu a kiểm tra lần lượt từng phần tử của mảng để quyết định có cộng tích lũy hay không, còn chương trình ở câu b kiểm tra từng phần tử của mảng để
quyết định đếm tăng cho số các số dương hay đếm tăng cho số các số âm
Cần chú ý cho học sinh là: Thủ tục Randomize khởi tạo bộ lấy ngẫu nhiên trước khi dùng lệnh Random(n) để lấy một số nguyên ngẫu nhiên trong phạm vi
từ 0 đến n – 1
Nếu đủ thời gian cũng có thể nêu thêm một vài yêu cầu khác để tăng thêmkhả năng vận dụng của học sinh
Chú ý nhắc học sinh ghi lại chương trình ở câu a trước khi sửa đổi để
có chương trình đáp ứng yêu cầu ở câu b.
Về bài 2
Chương trình ở câu a nhằm cung cấp cho học sinh thuật toán tìm phần tửlớn nhất (nhỏ nhất) trong một mảng, đây là thuật toán hay gặp trong nhiều bàitoán thực tế Trọng tâm của bài này là giúp học sinh hiểu được đoạn chươngtrình thể hiện thuật toán đó, việc tạo mảng dữ liệu học sinh đã được thực hành ởbài 1
Chương trình 2a thể hiện thuật toán lớn nhất
- Tìm hiểu vai trò của biến j: Qua câu lệnh đưa kết quả ra màn hình, qua lệnh gán khởi trị cho biến j trước khi duyệt từng phần tử của mảng bằng vòng lặp For – do; qua câu lệnh If – then dùng để kiểm tra phần tử thứ i của mảng và lưu trữ chỉ số i của phần tử này trong biến j.
- Phải cho học sinh nắm được điểm mấu chốt là tại bước lặp thứ i trong câu lệnh For – do, phần tử A[i] được so sánh với A[j], nghĩa là so sánh với phần
tử lớn nhất tìm được trong phạm vi các phần tử đã được duyệt qua ở trước bước
này (từ phần tử thứ nhất đến phần tử thứ i – 1) So sánh đó được thực hiện để tìm phần tử lớn nhất trong phạm vi có thêm A[i] Như vậy ở bước lặp thứ i, biến
j luôn lưu trữ chỉ số của phần tử lớn nhất đã tìm được trong phạm vi A[1] đến
Trang 27A[i] Bởi vậy khi thực hiện xong câu lệnh For – do, giá trị của biến j chính là chỉ
Lưu ý, việc tạo mảng có các phần tử là các số ngẫu nhiên tạo điều kiện chohọc sinh chạy được chương trình có kích thước mảng tương đối lớn
Rèn luyện học sinh một ý thức cần có của người lập trình là viết chươngtrình với khối lượng tính toán ít nhất có thể được
Góp phần hình thành và rèn luyện tư duy lập trình, tác phong của ngườilập trình
* Những điểm cần lưu ý trong bài
Về bài 1
Mục đích: Củng cố cho học sinh thuật toán sắp xếp (bằng tráo đổi) và kỹnăng cài đặt bằng ngôn ngữ lập trình
Chương trình ở bài 1a chỉ khác với chương trình ở Đ11, mục 1b, ví dụ 2 ở
chỗ dãy số nguyên không nhập từ bàn phím mà được máy tạo ra ngẫu nhiên mộtcách nhanh chóng
Khuyến khích học sinh giỏi viết chương trình cài đặt các thuật toán sắpxếp khác
Trang 28Về bài 2
Mục đích: Rèn luyện thêm cho học sinh kỹ năng lập trình với kiểu dữ liệumảng, đồng thời yêu cầu học sinh có ý thức muốn viết chương trình sao chokhối lượng tính toán là ít nhất có thể được
Bài này đưa cho học sinh một bài toán tính các tổng i phần tử đầu tiên của một mảng tương ứng với mỗi giá trị của i và hai cách giải quyết khác nhau kèm
theo sự phân tích và so sánh hai cách đó Giáo viên cần làm cho học sinh biếtvới cùng một bài toán có thể cài đặt những chương trình khác nhau (những thuậttoán khác nhau), người lập trình luôn phải có ý thức chọn cách cài đặt sao cho sốphép toán máy tính thực hiện càng ít càng tốt Trong chương trình thứ hai việctính tổng của i phần tử đã tận dụng được kết quả của việc tính tổng i – 1 phần tử
có sẵn ở bước trước do vậy giảm được số phép tính mà máy cần thực hiện so vớichương trình thứ nhất Cụ thể là vòng lặp For – do tính tổng i phần tử đầu tiên
đã được thay thế bởi một lệnh gán:
B[i]:= B[i-1] + A[i];
Bài tập và thực hành 5:
Củng cố cho học sinh những hiểu biết về xâu
Tổ chức nhũng hoạt động trong phòng máy để học sinh có được các kĩnăng cơ bản làm việc với xâu trong lập trình Cụ thể là:
- Khai báo kiểu xâu
- Nhập dữ liệu cho xâu, đưa ra màn hình giá trị của xâu
- Duyệt qua tất cả các kí tự của xâu để thực hiện xử lý tương ứng với từng kí
tự đó
- Sử dụng được các hàm và thủ tục chuẩn đã trình bày ở sách giáo khoa
Cung cấp cho học sinh một vài thuật toán cơ bản và đơn giản thường gặpkhi xử lý văn bản, rèn luyện một số kỹ năng cài đặt
- Tạo một xâu mới từ xâu ban đầu
- Đếm số lần xuất hiện của một chữ cái trong một văn bản
Trang 29- Tìm kiếm và thay thế sự xuất hiện một từ bằng một từ khác trong toàn bộvăn bản.
Góp phần hình thành và rèn luyện tư duy lập trình, tác phong của ngườilập trình
* Những điểm cần lưu ý trong bài
Về bài 1
Nên cho ví dụ hoặc yêu cầu học sinh cho ví dụ về xâu đối xứng và xâukhông đối xứng trước khi học sinh tìm hiểu chương trình đã cho
Với yêu cầu viết lại chương trình không dùng biến xâu p, cần gợi ý cho
học sinh khai thác khả năng tham chiếu đến từng kí tự trong xâu thông qua vị trícủa kí tự này
Về bài 2
Có thể giới thiệu mảng một chiều với chỉ số là kí tự từ ‘A’ đến ‘Z’ để ghi
nhận số lần xuất hiện của các kí tự trong xâu S
Nên đưa dàn ý chương trình và yêu cầu học sinh chi tiết hóa bằng các câulệnh vào giờ thực hành hoặc đưa cho học sinh chuẩn bị ở nhà trước buổi thựchành
Về bài 3
Để thay thế tất cả các cụm kí tự “anh” trong xâu st thành cụm kí tự “em”,
có thể làm một cách tự nhiên: Tìm vị trí xâu con “anh” trong xâu st đã cho, xóa xâu con này đi rồi chèn xâu “em” vào vị trí đó Lặp lại điều này cho đến khi không tìm thấy xâu “anh” cần thay thế trong xâu st nữa Có thể hỏi học sinh: để
giải quyết bài toán cần dùng hàm và thủ tục xử lí xâu nào?
Đưa dàn ý chương trình cho học sinh và yêu cầu học sinh chi tiết hóabằng các câu lệnh để có một chương trình chạy đúng
2.2 Yêu cầu
Các bài tập và thực hành được xây dựng có hệ thống, các yêu cầu cụ thể
về thực hành khá đa dạng nhưng đều xoay quanh trọng tâm: vận dụng kiến thức
Trang 30cơ bản về thuật toán, các cấu trúc dữ liệu, ngôn ngữ lập trình bậc cao, kỹ nănglập trình cho yêu cầu tổng thể là giải quyết bài toán trên máy tính.
3 Quy trình rèn luyện kỹ năng
Các kỹ năng thực hành Tin học được hình thành qua 4 bước:
3.1 Tìm hiểu nội dung bài toán
Tìm hiểu nội dung bài toán hay nói chính xác hơn là ta đi xác định bàitoán Mỗi bài toán được đặc tả bởi hai thành phần: Input và output Việc xácđịnh bài toán chính là xác định rõ hai thành phần này và mối quan hệ giữachúng
- Output: Tổng các phần tử của mảng chia hết cho k
- Thể hiện các đại lượng đã cho:
N là số phần tử của mảng và n<=100 nên ta khai báo kiểu dữ liệu của n làByte
Mỗi phần tử của mảng là kiểu số nguyên và có giá trị tuyệt đối nhỏ hơn
300 vì vậy ta khai báo kiểu dữ liệu của mảng là Integer
- Các đại lượng phát sinh:
Để tham chiếu đến từng phần tử của mảng ta cần khai báo thêm biến i Đểtính tổng các phần tử của mảng là bội số của một số nguyên k cho trước ta khaibáo biến Tong kiểu Integer và phải gán giá trị ban đầu (gán bằng 0) trước khi sửdụng
3.2 Xây dựng thuật giải
Dựa vào các thông tin đã xác định được về bài toán để lựa chọn hoặc thiết
kế thuật toán Đây là bước quan trọng nhất để giải một bài toán Ở bước này ta
Trang 31có thể hướng dẫn hoặc yêu cầu học sinh viết thuật giải bằng lưu đồ khối hoặcngôn ngữ phỏng trình
- Tìm vị trí bắt đầu của xâu “anh”
- Xóa xâu “anh” vừa tìm thấy
- Chèn xâu “em” vào xâu S tại vị trí trước đây xuất hiện xâu “anh”
KETTHUC;
{In xâu S}
KETTHUC.
3.3 Thực hiện xây dựng chương trình
Xây dựng chương trình hay còn được gọi là lập trình Lập trình là dùngmột ngôn ngữ máy tính cụ thể để diễn tả thuật toán, cấu trúc dữ liệu thành cáccâu lệnh để máy tính có thể thực hiện được và giải quyết đúng bài toán màngười lập trình mong muốn
Ở bước này giáo viên có thể yêu cầu học sinh xây dựng chương trình bằngcách tinh chế từng bước Đây là phương pháp có hệ thống giúp học sinh phântích các thuật toán và cơ sở dữ liệu để từ đó viết thành chương trình
Trang 32Ví dụ: Từ thuật toán xây dựng được ở mục 3.2 giáo viên hướng dẫn và yêu cầuhọc sinh chi tiết hóa bằng các câu lệnh để có được chương trình hoàn chỉnh nhưsau:
3.4 Thực hiện chương trình (chạy chương trình)
Một chương trình viết xong chưa chắc đã chạy được trên máy; kỹ năngtìm lỗi, sửa lỗi, điều chỉnh viết lại chương trình cũng là một kỹ năng quan trọngtrong lập trình
Khi chương trình không chạy được hoặc chạy cho kết quả sai là có lỗi vềthuật toán hoặc lỗi trình tự hoặc lỗi cú pháp Học sinh cần phát hiện được và sửađược các lỗi để có chương trình chạy đúng Trong bước này giáo viên nên yêucầu học sinh nhập bộ dữ liệu vào từ bàn phím nhằm kiểm tra tính đúng đắn củachương trình; theo dõi và đánh giá chương trình của học sinh
4 Các bước của bài thực hành
Bài thực hành được sử dụng trong khâu hoàn thiện kiến thức và rèn luyện
kỹ năng thực hành cho học sinh Để việc rèn luyện có hiệu quả giáo viên cầnnắm chắc các bước tiến hành bài thực hành
Trang 33Quy trình một bài thực hành gồm 5 bước
Bước 1: Xác định nhiệm vụ nhận thức
Bước 2: Kiểm tra sự chuẩn bị của học sinh
Bước 3: Tổ chức thực hành
Bước 4: Học sinh độc lập suy nghĩ để hoàn thiện chương trình
Bước 5: Báo cáo kết quả, rút ra kết luận, đánh giá
5 Yêu cầu đối với bài thực hành
Trong SGK Tin học các bài thực hành được bố trí sau khi đã học hết mộtchương hay một phần lớn nội dung nào đó Do đó bài thực hành thường được sửdụng để vận dụng tri thức, ôn tập, củng cố khắc sâu kiến thức, rèn luyện kỹnăng, kỹ xảo
Thông thường giờ học thực hành được thực hiện ở phòng máy, mỗi lớpđược chia thành nhiều nhóm từ 2- 4 em/máy Giáo viên chỉ hướng dẫn học sinhxác định nội dung của bài toán và xây dựng thuật toán sau đó học sinh tự suynghĩ và viết chương trình hoàn thiện Vì vậy học sinh không chỉ nắm chắc cáckiến thức liên quan mà còn phải vận dụng các kiến thức đó lẫn thao tác hànhđộng vào thực hành
Nói chung yêu cầu của bài thực hành đòi hỏi rất cao tính tự lực sáng tạocủa học sinh và khả năng tổ chức, điều khiển của giáo viên
phong của người lập trình
6 Xây dựng hệ thống bài tập và thực hành hỗ trợ rèn luyện kỹ năng thực hành cho học sinh qua đó phát triển tư duy thuật giải
* Dạng 1: Bài tập lý thuyết về các khái niệm, câu lệnh, cấu trúc, cách khai báo
đã được học Là những bài tập chỉ dựa vào kiến thức lý thuyết, loại bài tập này
có thể phân hóa thành hai mức như sau:
- Mức độ 1: Tái hiện kiến thức lý thuyết.
- Mức độ 2: Trắc nghiệm kiến thức.
Trang 34Ví dụ: Xét kiểu mảng, thiết kế bài tập theo kiểu phân hóa:
+ Mức độ 1: Nêu cách khai báo kiểu mảng
Câu 1: Nêu cách khai báo kiểu mảng một chiều?
+ Mức độ 2: Trắc nghiệm khách quan
* Dạng 2: Xây dựng thuật giải, mã hóa chương trình.
Là những bài tập lập trình yêu cầu học sinh phải nắm vững kiến thứctrong từng phần, kiến thức của cả chương đã học Loại bài tập này cũng có thểphân thành 3 mức:
Mức độ 1: Dự đoán kết quả của các chương trình đã có sẵn.
Điều khẳng định nào sau đây là đúng?
a) Chương trình trên đảo ngược vị trí của các phần tử trong mảng a (theo kíchthước thực tế được nhập)
b) Chương trình trên ghi một nửa số phần tử ở cuối lên các vị trí đầu tiên
Trang 35c) Chương trình trên sắp xếp các phần tử của a theo thứ tự giảm dần.
Write( ‘ Nhap toa do diem A :’); Readln (x1, y1);
Write( ‘ Nhap toa do diem B :’); Readln (x2, y2);
Write( ‘ Nhap toa do diem C :’); Readln (x3, y3);
If (x1 – x3)*(x1 – x3) + (y1 – y3)*(y1 – y3) > (x2 – x3)*(x2 – x3) + (y2 – y3) * (y2 – y3) then
Begin
u : = x2;
v : = y2;
End else
Mức độ 2: Mã hóa bài toán với các thuật giải đã có
Câu 4: Cho thuật giải bài toán kiểm tra tính nguyên tố của một số nguyên dương
N như sau:
Bước 1: Nhập số nguyên dương N;
Bước 2: Nếu N = 1 thì thông báo N không nguyên tố rồi kết thúc;
Bước 3: Nếu N < 4 thì thông báo N là nguyên tố rồi kết thúc;
Bước 4: i 2;
Bước 5: Nếu i > [ N ](*) thì thông báo N là nguyên tố rồi kết thúc;
Bước 6: Nếu N chia hết cho i thì thông báo N không nguyên tố rồi kếtthúc;
Bước 7: i i +1 rồi quay lại bước 5;
Trang 36(*) Biến i nhận giá trị nguyên thay đổi trong phạm vi từ 2 đến [ N ] + 1 và dùng
để kiểm tra N có chia hết cho i hay không
Từ thuật giải đã cho ở trên, hãy viết chương trình Pascal hoàn chỉnh để giải bàitoán
Câu 2: Nêu cách khai báo kiểu mảng một chiều Cho ví dụ minh họa.
Câu 3: Nêu cách tham chiếu đến từng phần tử của mảng một chiều.
Câu 4: Thế nào là kiểu mảng hai chiều? Nêu ví dụ minh họa Nêu quy tắc
cách thức xác định kiểu mảng hai chiều
Câu 5: Nêu cách khai báo kiểu mảng hai chiều.Cho ví dụ minh họa.
Câu 6: Nêu cách khai báo kiểu mảng hai chiều.
Câu 7: So sánh kiểu mảng một chiều và hai chiều.
Mức 2:
Câu 1: Trong các khai báo kiểu mảng một chiều dưới đây, những kiểu mảng
nào là không hợp lệ?
A Type m=array[-100 100] of real;
B Type m=array[1.5 10.5] of real;
Trang 37C Type m=array[0 100] of interger;
D Type m=array[‘a’ ‘z’] of boolean;
Câu 2: Các khai báo kiểu mảng hai chiều nào sau đây không hợp lệ?
A Var a:array[1 10,0 10] of real;
B Var a:array[1 10] of array[0.10] of real;
C Vat a:array[1 m,1 n] of real; với m, n là biến;
D Var a:array[1 m,1 n] of real; với m,n là hằng;
Câu3: Cho đoạn chương trình nhập dữ liệu một bảng hai chiều Nx N sau:
For i:=1 to N do
For j:=1 to N do
Readln(a[j,i]);
Với đoạn chương trình trên, dữ liệu được nhập theo thứ tự nào?
A Nhập theo từng hàng, hết hàng này sang hàng khác từ trái sang phải
B Nhập theo từng cột, hết cột này đến cột khác từ trái sang phải
C Nhập theo từng hàng, hết hàng này sang hàng khác từ phải sang
D Nhập theo từng cột, hết cột này đến cột khác từ phải sang trái
Hãy chọn phương án đúng
Đáp án 1-B,2-C,3-A;
Bài 12: Kiểu xâu
Câu 1: Thế nào là kiểu dữ liệu xâu? Cho ví dụ minh họa.
Câu 2: Khai báo biến kiểu xâu như thế nào? Cho ví dụ.
Câu 3: Nêu một số thao tác xử lý xâu Cho ví dụ minh họa cho từng thao tác
Trang 38Câu 2: Trong các khai báo về xâu sau đây khai báo nào là sai?
A Var a: string; B Var a: string[10];
C Var a: string[-4]; D Var a:string[4*5];
Câu 3: Thủ tục Insert(‘ Viet’, ‘Nam’,4) sẽ cho xâu kết quả nào sau đây?
A Viet Nam B NamViet
B VietNam D Nam Viet
Đáp án 1-B,2-C,3-D;
Bài 13: Kiểu bản ghi
Mức 1:
Câu 1: Nêu khái niệm kiểu bản ghi?
Câu 2: Nêu cách khai báo bản ghi, truy cập trường của bản ghi.
Mức 2:
Câu 1: Dữ liệu kiểu bản ghi dùng để
A Mô tả các tập hợp có cùng tính chất
B Mô tả các đối tượng có cùng một số thuộc tính
C Mô tả các đối tượng khác nhau
D Mô tả các đối tượng có các thuộc tính tương ứng khác nhau
Câu 2: Một đối tượng được mô tả tương ứng với
A một trường của bản ghi
B Một bản ghi
C Tất cả các trường của bản ghi
D Tất cả các bản ghi
Câu 3: Trong các mệnh đề sau mệnh đề nào là sai:
A Hai bản ghi thuộc cùng một kiểu có thể gán giá trị cho nhau
B Không cho phép trực tiếp nhập vào từ bàn phím hoặc hiển thị ra màn hìnhkiểu bản ghi
C Có thể bỏ qua dấu chấm phẩy khi khai báo trường cuối cùng của bản ghi
D Các trường của bản ghi phải có kiểu dữ liệu giống nhau