Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

PHÒNG GIÁO DỤC VÀ ĐÀO TẠO KRÔNG ANA TRƢỜNG THCS BUÔN TRẤP ---0O0---

KINH NGHIỆM BỒI DƯỠNG HỌC SINH GIỎI MÔN TIN HỌC 9

Giáo viên: Nguyễn Thị Thu Thủy

Đơn vị công tác: Trƣờng THCS Buôn Trấp

Trình độ: ĐHSP Chuyên ngành: Tin học

Tổ: Tiếng Anh – Tin Học

NĂM HỌC: 2014-2015

Trang 1

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Trang 2

MỤC LỤC: I. PHẦN MỞ ĐẦU………………………………………...…………..................………..3 I.1. Lý do chọn đề tài.................................................................................................3 I.2. Mục tiêu, nhiệm vụ của đề tài.............................................................................3 I.3. Đối tượng nghiên cứu..........................................................................................3 I.4. Giới hạn phạm vi nghiên cứu..............................................................................3 I.5. Phương pháp nghiên cứu.....................................................................................3 II. PHẦN NỘI DUNG..........................................................................................................4 I.1. Cơ sở lý luận...................................................................................................... 4 II.2. Th c trạng..........................................................................................................4 a. Thuận lợi-khó khăn...................................................................................5 b. Thành công-hạn chế..................................................................................5 c. Mặt mạnh-mặt yếu....................................................................................5 d. Các nghiên nhân, các yếu tố tác động.......................................................5 e. Phân tích đánh giá các vấn đề, th c trạng mà đề tài đặt ra.......................5 II.3. Giải pháp, biện pháp……………………………………………................…..5 a. Mục tiêu của giải pháp, biện pháp…………………...…….............…....6 b. Nội dung và cách thức th c hiện giải pháp……………............………...6 Chuyên đề 1: Làm quen với chương trình Pascal...................................10 Chuyên đề 2: Câu lệnh điều kiện............................................................10 Chuyên đề 3: Câu lệnh lặp......................................................................14 Chuyên đề 4: Mảng.................................................................................20 Chuyên đề 5: Xâu...................................................................................27 c. Điều kiện th c hiện, giải pháp, biện pháp………………............………30 d. Mối quan hệ giữa các giải pháp, biện pháp…………………............…..31 e. Kết quả khảo nghiệm, giá trị khoa học của vấn đề nghiên cứu............…31 II.4. Kết quả thu được qua khảo nghiệm, giá trị khoa học của vấn đề nghiên cứu.31 III. PHẦN KẾT LUẬN, KIẾN NGHỊ...... ……………………………….………........….31 III.1. Kết luận………………………………………………….……...............…..31 III.2. Kiến nghị…………………………………………….............……………...31

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

I. PHẦN MỞ ĐẦU 1) Lí do chọn đề tài: - Đảng và Nhà nước đã vạch ra đường lối rất đúng đắn về “chiến lược con người” là “nâng cao dân trí, đào tạo nhân l c, bồi dưỡng nhân tài”. Ngành giáo dục và đào tạo cũng đang hướng tới phát triển tối đa những năng l c còn tiềm ẩn trong mỗi học sinh. Trong các trường học hiện nay, việc phát triển bồi dưỡng học sinh giỏi góp phần đào tạo nhân tài cho đất nước được xem là nhiệm vụ cần thiết và quan trọng. Nhiều năm qua tôi được s tín nhiệm của trường đã tham gia bồi dưỡng học sinh giỏi môn tin học 9. Qua quá trình bồi dưỡng, tôi luôn cố gắng tìm hiểu nội dung cơ bản và nâng cao, tìm ra phương pháp tối ưu để cho công tác bồi dưỡng có hiệu quả nhất. Công tác bồi dưỡng học sinh giỏi là nhiệm vụ nặng nề nhưng cũng rất vinh d cho giáo viên khi tham gia bồi dưỡng. Những câu hỏi mà bất cứ ai khi tham gia bồi dưỡng học sinh giỏi cũng luôn đặt ra là: Làm thế nào để các em lĩnh hội tốt các kiến thức khi tham gia ôn luyện? Làm thế nào để kết quả đạt được tốt nhất? Làm thế nào để mang lại thành tích cho các em và mang lại vinh d cho nhà trường? Từ những băn khoăn đó, bằng tất cả nỗ l c của bản thân, qua tìm tòi, trao đổi và thảo luận với các đồng nghiệp, tôi xin chia sẻ kinh nghiệm với các đồng nghiệp về để tài mà tôi đã nghiên cứu trong thời gian qua: "Kinh nghiệm bồi dƣỡng học sinh giỏi môn tin học lớp 9". Mong cùng góp một phần nhỏ vào công tác bồi dưỡng học sinh giỏi chung của trường, của huyện, để đội ngũ học sinh giỏi của trường, của huyện ta ngày càng đạt kết quả cao hơn. 2) Mục tiêu, nhiệm vụ của đề tài: - Nhằm nâng cao chất lượng dạy và học nói chung, chất lượng dạy học bộ môn tin học nói riêng. - Là động l c thúc đẩy phong trào thi đua học tập ở học sinh. - Tạo điều kiện thuận lợi cho những học sinh có năng l c, có niềm đam mê, có sáng tạo trong học tập bộ môn. - L a chọn được đội tuyển d thi học sinh giỏi các cấp có kết quả cao. - Làm cơ sở cho các em định hướng và chọn l a ngành nghề thích hợp cho tương lai. - Tạo được niềm tin ở các cấp lãnh đạo, ở phụ huynh và ở học sinh. 3) Đối tƣợng nghiên cứu: - Học sinh học giỏi môn tin học 9. - Giáo viên tham gia bồi dưỡng học sinh giỏi tin học 9 của huyện. 4) Giới hạn phạm vi nghiêm cứu: - Chương trình cơ bản và nâng cao dành cho học sinh giỏi môn tin học trung học cơ sở. - Học sinh giỏi môn tin học trường: THCS Lê Đình Chinh, THCS Buôn Trấp. 5) Phƣơng pháp nghiên cứu:

Trang 3

- Phương pháp quan sát sư phạm - Phương pháp thống kê, tổng hợp, so sánh - Phương pháp trải nghiệm th c tế

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Trang 4

II. PHẦN NỘI DUNG 1) Cơ sở lí luận: - Giáo dục thế hệ trẻ là nhiệm vụ mà tất cả các quốc gia đều coi là chiến lược của dân tộc mình. Mục đích nhằm nâng cao chất lượng dạy và học, đồng thời để đào tạo, bỗi dưỡng nhân tài cho địa phương, cho đất nước. Việc nâng cao chất lượng dạy và học là mục tiêu trọng tâm của ngành giáo dục và đào tạo, trong đó việc bồi dưỡng học sinh giỏi là nhiệm vụ mũi nhọn. Bản thân tôi được s tín nhiệm, tin tưởng của nhà trường đã phân công bồi dưỡng học sinh giỏi, nên tôi đã dành nhiều tâm huyết, thời gian nghiên cứu, tìm tòi để công việc bỗi dưỡng đạt kết quả tốt nhất. 2) Thực trạng: a/ Thuận lợi – khó khăn: * Thuận lợi: - Xã hội ngày càng phát triển, công nghệ thông tin ngày càng được ứng dụng rộng rãi trong nhiều ngành then chốt, đặc biệt là ngành Giáo dục và Đào tạo. Chính nhờ điều đó thầy cô giáo và các em học sinh có rất nhiều thuận lợi trong việc thu thập tài liệu học tập và tham khảo nói chung, môn tin học nói riêng. - Tin học là môn khoa học t nhiên, nó là cơ sở, là nền tảng của nhiều lĩnh v c khoa học. Nhu cầu học tập, nâng cao kiến thức và say mê khám phá khoa học của học sinh ngày càng nâng cao. Vì vậy, môn tin học ngày càng được nhiều em học sinh quan tâm, l a chọn là môn học ưa thích và cần thiết cho mình. - Được s quan tâm của các cấp lãnh đạo huyện, cũng như s quan tâm của từng địa phương nên đời sống của nhân dân trong huyện, thị trấn ngày càng nâng cao. Đa số các gia đình đã có điều kiện để đầu tư cho con em mình học tập tốt hơn. - Phần lớn phụ huynh đã quan tâm đến việc học tập của con em mình. - Lãnh đạo Phòng Giáo dục và Đào tạo, lãnh đạo các trường luôn quan tâm, chú trọng đến chất lượng giáo dục và đặc biệt chú trọng đến đội ngũ học sinh giỏi . - Giáo viên tham gia bồi dưỡng cũng đã có nhiều kinh nghiệm, nhiều năm tham gia bồi dưỡng học sinh giỏi, có nhiều học sinh đạt kết quả cao trong các kỳ thi. * Khó khăn: - Đời sống của người dân trong nhiều thôn, buôn còn nhiều khó khăn, nên việc đầu tư cho con em mình trong học tập còn hạn chế. - Việc hỗ trợ kinh phí để bồ dưỡng cho giáo viên dạy học sinh giỏi ở một số trường chưa được thỏa đáng.. - Phương tiện dạy và học, đặc biệt là phòng máy ở một số trường còn thiếu, bị hư hỏng nhiều. - Nhiều trường chưa có phòng bộ môn tin học. - Đa số giáo viên tin học đều là giáo viên trẻ nên kinh nghiệm bồi dưỡng học sinh giỏi còn hạn chế. - Môn Tin học là môn học t chọn nên vẫn còn có học sinh chưa thật s đam mê môn học, một số em còn thụ động trong quá trình tiếp thu kiến thức.

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Trang 5

- Một số giáo viên chưa thật s đầu tư về công tác bồi dưỡng học sinh giỏi. b/ Thành công – Hạn chế: - Khơi dậy niềm say mê khám phá – phát huy tính độc lập – sáng tạo ở học sinh. - Học sinh tham gia vào đội tuyển học sinh giỏi bộ môn ngày càng nhiều . - Kết quả đạt được trong các kì thi học sinh giỏi cấp trường, cấp huyện, cấp tỉnh ngày một thành công hơn. + Năm học 2012-2013 trường THCS Buôn Trấp có 05 em đạt giải kì thi cấp huyện môn tin học 9 và 01 em tham gia d thi cấp tỉnh đạt 01 giải khuyến khích. + Năm học 2013-2014 trường THCS Buôn Trấp có 04 em đạt cấp huyện và 01 em đạt giải 3 cấp tỉnh. Trường Lê Đình Chinh có 1 em đạt giải cấp huyện và 01 em đạt giải khuyến khích cấp tỉnh. - Mặc dù đã có kế hoạch cụ thể, có s chuẩn bị chu đáo, có s quan tâm chỉ đạo của các cấp lãnh đạo, song trong quá trình tổ th c hiện và căn cứ vào kết quả đạt được, chúng ta cần rút những kinh nghiệm: + Việc bồi dưỡng học sinh giỏi bộ môn tin học cần được các trường quan tâm th c hiện ngay từ lớp 8. + Một số trường cần chú trọng hơn nữa công tác bồi dưỡng học sinh giỏi bộ môn. Cần quan tâm, động viên kịp thời kết quả mà học sinh và giáo viên đạt được. c/ Mặt mạnh - mặt yếu. - Học sinh t giác cao trong việc nghiên cứu tài liệu học tập, t tìm kiếm những kiến thức để các em có thể bồi dưỡng thêm cho bản thân mình. - Học sinh tham gia trong các kỳ thi học sinh giỏi với số lượng lớn, qua đó giáo viên có điều kiện tuyển chọn số lượng học sinh tham gia đội tuyển d thi cấp cao hơn đạt chất lượng tốt hơn. - Do học sinh và một số giáo viên chưa được qua tâm kịp thời, khích lệ tinh thần cũng như vật chất nên đôi khi chưa thật s hết sức hết lòng với công viêc. d/ Các nguyên nhân và các yếu tố tác động. - Một số các em học sinh chưa thật s đam mê với môn Tin Học. Nên các em học sinh khá, giỏi cũng không thật s thích thú với môn học này. - Các em học sinh có năng l c với bộ môn Tin Học thì thường kèm theo là giỏi bộ môn Toán hoặc Hóa học do đó các em có thể chọn những môn học này để học chuyên sâu. e/ Phân tích, đánh giá các vấn đề về thực trạng mà đề tài đã đặt ra. - Ngày nay cùng với s phát triển của công nghệ thông tin, việc ứng dụng khai thác các nguồn học liệu mở trên mạng có vai trò rất lớn trong công tác bồi dưỡng học sinh giỏi. Vì vậy chúng tôi đã tận dụng tối đa để thu thập tài liệu liên quan, cần thiết theo nhu cầu cần tìm hiểu của học sinh. - Trong thời kỳ hội nhập hiện nay, vốn kiến thức của mỗi con người phải phù hợp với điều kiện sống, phù hợp với s phát triển nhanh chóng của khoa học. Muốn thích nghi và tiếp tục phát triển và khẳng định mình thì chính bản thân các em học sinh phải là người phát triển toàn diện. Các kiến thức mà các em học được giúp các em t tìm hiểu được một

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

số chương trình trên mạng nhằm phục vụ cho bản thân mình cũng như những người xung quanh. Với lý do đó mà chính các em đã khám phá một cách say mê từ đó các em thật s ưa thích bộ môn học mà các em đã l a chọn. - Cuốn theo s đam mê của các em học sinh, trên con đường l a chọn bộ môn học thích nhất của riêng mình bắt buộc giáo viên thuộc bộ môn ấy phải đáp ứng được nhu cầu chính đáng cho các em từ đó người giáo viên phải làm được những nhiệm vụ cụ thể như: + Tham mưu tr c tiếp với nhà trường, tham mưu với các cấp lãnh đạo quan tâm đặc biệt về tinh thần cũng như vật chất đến đội ngũ học sinh giỏi mà mình l a chọn. + Giáo viên tr c tiếp làm công tác bồi dưỡng không ngừng nâng cao về chuyên môn để đáp ứng kịp thời về nhu cầu cần học tập ho các em học sinh. Có như vậy thì đội ngũ học sinh giỏi mới phát triển mạnh và bền chắc. 3) Giải pháp – Biện pháp: a/ Mục tiêu của giải pháp, biện pháp: - Nhằm nâng cao chất lượng dạy và học nói chung, chất lượng dạy học bộ môn Tin Học nói riêng. - Là động l c thúc đẩy phong trào thi đua học tập ở học sinh. - Tạo điều kiện thuận lợi cho những học sinh có năng l c, có niềm đam mê, có sáng tạo trong học tập bộ môn. - L a chọn được đội tuyển d thi học sinh giỏi các cấp có kết quả cao. - Làm cơ sở cho các em định hướng và chọn l a ngành nghề thích hợp cho tương lai. - Tạo được niềm tin ở các cấp lãnh đạo, ở phụ huynh và ở học sinh.

b/ Nội dung và cách thực hiện các giải pháp, biện pháp:

Trang 6

- Như chúng ta đã biết việc phát hiện ra học sinh yêu thích bộ môn và bồi dưỡng học sinh ấy trở thành học sinh giỏi bộ môn là một quá trình lâu dài, cần nhiều thời gian. Vì vậy khi được phân công giảng dạy tại lớp nào đó, ngoài việc truyền thụ kiến thức cơ bản cho toàn lớp, mỗi giáo viên chúng ta nên chú trọng vào việc tìm kiếm “ hạt nhân” cho bộ môn mình. Chúng ta có thể lồng ghép những kiến thức mở rộng, nâng cao hoặc những bài toán trí tuệ nhanh vào tiết dạy hoặc bài kiểm tra. Dần dần, chúng ta sẽ chọn được “nguồn” cho bộ môn của mình phụ trách. - Muốn “hạt giống” cho quả lành, trái ngọt thì “người làm vườn” phải biết chăm sóc từng cây non từ khi bắt đầu nảy mầm đến khi phát triển, trưởng thành và cho hoa kết quả. Đó là điều mà ai cũng biết. Nhưng chăm sóc như thế nào thì đó lại là “cái riêng” của mỗi người. Cũng như bộ môn Tin Học của chúng ta, muốn đạt được kết quả mỹ mãn, trước hết mỗi giáo viên phải th c s đam mê với công việc, phải luôn trau dồi và nâng cao kiến thức cho bản thân. Mỗi giáo viên phải: + Cần chọn lọc những phương pháp giải dễ hiểu nhất để hướng dẫn cho học sinh không nên máy móc theo hướng dẫn. + Đưa ra cách phát hiện vấn đề cũng như phương pháp giải các dạng bài tập để học sinh t lãnh hội tri thức. Phát huy tính tích c c t giác của học sinh; tôn trọng và kích lệ những sáng tạo của học sinh.

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Trang 7

+ Đúc kết được những kiến thức trọng tâm, nổi bật ở mỗi phần, mỗi chương để đưa vào sổ tay kiến thức của học sinh. Từ đó, các em hình thành một hệ thống kiến thức cơ bản, trọng tâm. + Giúp học sinh dần hoàn thiện về mặt tri thức và tích luỹ thành “vốn riêng” của bản thân qua việc t giải các bài tập cụ thể. + Giúp học sinh định hướng và nhận ra các dạng bài tập cơ bản. + Hướng dẫn học sinh vận dụng được các thao tác tư duy, so sánh, phân tích, tổng hợp, khái quát hoá. Điều này giúp các em nhận biết các dạng bài tập và chọn hướng giải cho phù hợp. + Chuẩn bị cho học sinh các dạng bài tập theo từng phần kiến thức trong khoảng thời gian nhất định. Sau đó, ta chuẩn bị các bài đa dạng có lồng ghép kiến thức của nhiều phần vào với nhau cho học sinh t học hỏi. + Định hướng cho học sinh t giải các bài tập. Nếu thấy học sinh đã định hướng được cách giải, thì ta chuyển sang dạng khác. Còn nếu học sinh chưa định hướng được cách giải, thì giáo viên chỉ hướng dẫn, gợi ý, để từ đó các em t tìm cách giải cho bài tập theo yêu cầu. + Hướng dẫn học sinh cách trình bày, cũng như cách lập luận bài làm, để khi các em d thi các cấp có được kết quả tốt nhất. - Trong quá trình giảng dạy, mỗi giáo viên phải tổng hợp được những kiến thức cơ bản, trọng tâm, dễ nhớ để đưa vào kiến thức của các em. Chẳng hạn như khi cho các em làm bài tập về các vòng lặp giáo viên cần lưu ý học sinh các trường hợp sau: 1. FOR..TO..DO: - Cấu trúc FOR cho phép lặp lại nhiều lần một dãy lệnh. Số lần lặp lại dãy lệnh đã biết trước. Phát biểu FOR có 2 dạng: FOR .. TO .. DO đếm lên FOR .. DOWNTO ..DO đếm xuống * Cú pháp tổng quát là: FOR := TO/DOWNTO DO ; 2. WHILE..DO : - Trong khi mà điều kiện còn đúng thì cứ th c hiện Công việc, rồi quay trở về kiểm tra điều kiện lại. Vòng lặp được tiếp tục, đến khi điều kiện đặt ra không còn đúng nữa thì đi tới th c hiện lệnh tiếp theo * Cú pháp : WHILE <điều kiện> DO + Ðiều kiện trong cấu trúc lặp WHILE .. DO là một biểu thức logic kiểu Boolean chỉ có 2 giá trị là Ðúng (True) hoặc Sai (False). Nếu điều kiện Ðúng thì chương trình sẽ chạy trong cấu trúc WHILE .. DO. + Sau mỗi lần lặp, chương trình trở lại kiểm tra điều kiện. Tùy theo biểu thức logic của điều kiện là Ðúng hay Sai thì chương trình sẽ th c hiện Công việc tương ứng. + Nếu Sai thì chuyển xuống dưới cấu trúc WHILE .. DO 3. REAPET..UNTILL - Câu lệnh REPEAT .. UNTIL dùng trong các trường hợp khi biến điều khiển không có kiểu rời rạc và đặc biệt trong các trường hợp số lần lặp không biết trước.

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

- Nếu điều kiện logic là Sai (False) thì lặp lại lệnh cho đến khi điều kiện Ðúng thì mới thoát ra khỏi cấu trúc REPEAT .. UNTIL. - Nếu có nhiều câu lệnh thì mỗi lệnh ngăn cách nhau bằng dấu chấm phẩy (;) Công việc của REPEAT và UNTIL không nhất thiết phải dùng lệnh ghép để nhóm từ 2 lệnh đơn trở lên thành công việc. - Có rất nhiều dạng câu lệnh lặp vì vậy giáo viên cần lưu ý học sinh sử dụng các câu lệnh lặp sao cho đúng để chương trình cho ra kết quả tốt ngoài ra còn tiết kiệm được dung lượng cấp phát bộ nhớ cho mỗi bài tập. Cũng như điều kiện phù hợp để thoát khỏi vòng lặp một cách hợp lý trách đưa bài tập vào vòng lặp không xác định. - Đối với giáo viên tham gia bồi dưỡng học sinh giỏi môn Tin Học, ngoài việc nắm vững các kiến thức Tin Học, chúng ta còn phải nắm được các kiến thức Toán học. Toán học giúp chúng ta thể hiện được các bài toán và là công cụ quan trọng giúp ta giải được các bài Tin Học. - Ngoài việc hướng dẫn các em ôn tập tập trung, giáo viên có thể yêu cầu các em tìm mua thêm tài liệu tham khảo có liên quan. Giáo viên cho thêm bài về nhà để các em t giải, sau đó ta xem cách giải của các em. Từ đó hỗ trợ cho các em những kiến thức cần và chỉ ra những chỗ không cần thiết trong bài làm của học sinh nhằm giúp các em đạt được kết quả tốt nhất. - Trong quá trình bồi dưỡng học sinh giỏi, kiến thức mà mỗi giáo viên bồi dưỡng cho các em học sinh là rất rộng và sâu. Kiến thức ấy phải được liên kết với nhau tạo thành chuỗi thuộc chương trình Tin Học. Giáo viên phải hướng dẫn cho học sinh nắm được kiến thức rất cơ bản và nâng cao theo từng chuyên đề:

+ Chuyên đề 1: Làm quen với chương trình pascal + Chuyên đề 2: Câu lệnh điều kiện + Chuyên đề 3: Câu lệnh lặp + Chuyên đề 4: Mảng + Chuyên đề 5: Xâu kí t + Chuyên đề 6: File.

- Ngoài các dạng bài tập rất cơ bản mà quý thầy cô đã truyền đạt cho học sinh. Trong đề tài này tôi đã đưa ra thêm một số dạng bài tập đặc trưng khác, cụ thể như sau:

CHUYÊN ĐỀ I: LÀM QUEN VỚI CHƢƠNG TRÌNH PASCAL

Viết chương trình tính chu vi và diện tích của hình chữ nhật có chiều dài hai cạnh

Bài tập 1: là a, b (được nhập từ bàn phím). - Xác định bài toán: + Input: a, b + Output: S,p - Cách giải:

- Nhập hai cạnh vào hai biến a, b. - Chu vi hình chữ nhật bằng 2*(a+b); Diện tích hình chữ nhật bằng a*b.

Trang 8

- Chƣơng trình minh họa:

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Program Chu_nhat; uses crt; Var a, b, S, CV: real; Begin Write('Nhap chieu dai:'); readln(a); Write('Nhap chieu rong:'); readln(b); S := a*b; CV := (a+b)*2; Writeln('Dien tich hinh chu nhat la:',S); Writeln('Chu vi hinh chu nhat la:',CV:10:2); readln end.

Bài tập 2: Viết chương trình tính chu vi, diện tích hình vuông có cạnh a (được nhập từ bàn

phím). - Xác định bài toán: + Input: a + Output: p,s - Cách giải:

- Nhập cạnh vào biến canh. - Chu vi hình vuông bằng 4*canh; Diện tích hình vuông bằng canh*canh.

- Chương trình minh họa::

Program HINH_VUONG; uses crt; Var canh: real; Begin clrscr; Write('Nhap do dai canh:');readln(canh); Writeln('Chu vi hinh vuong la:',4*canh:10:2); Writeln('Dien tich hinh vuong la:',canh*canh:10:2); readln end.

Viết chương trình tính chu vi và diện tích hình tròn có bán kính r (được nhập từ

Bài tập 3: bàn phím). - Cách giải:

- Nhập bán kính vào biến r. - Chu vi đường tròn bằng 2**r. - Diện tích hình tròn bằng *r*r.

- Chƣơng trình minh họa:

Trang 9

Program HINH_TRON; uses crt; Var r: real;

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Begin clrscr; Write('Nhap ban kinh:'); readln(r); Writeln('Chu vi duong tron la:',2*pi*r:10:2); Writeln('Dien tich hinh tron la:',pi*r*r:10:2); readln end.

Viết chương trình tính diện tích của tam giác có ba cạnh là a,b,c (được nhập từ bàn

Bài tập 4: phím) - Cách giải :

- Nhập ba cạnh của tam giác vào ba biến a,b,c. - Nửa chu vi của tam giác p = (a+b+c)/2. - Diện tích của tam giác: s = .

- Chƣơng trình minh họa:

Program TAM_GIAC; uses crt; Var a,b,c,p,S: real; Begin clrscr; Write('Nhap canh a:');readln(a); Write('Nhap canh b:');readln(b); Write('Nhap canh c:');readln(c); p:=(a+b+c)/2; S:= sqrt(p*(p-a)*(p-b)*(p-c)); Write('Dien tich tam giac la:',s:10:2); readln end.

Viết chương trình cho phép tính trung bình cộng của bốn số.

Bài tập 5: - Cách giải:

- Nhập bốn số vào bốn biến a, b, c, d - Trung bình cộng của a, b, c, d bằng (a + b + c + d)/4.

- Chƣơng trình minh họa:

Trang 10

Program TB_Cong_4_So; uses crt; Var a, b, c, d: real; Begin Clrscr; Write('Nhap so thu nhat:');readln(a); Write('Nhap so thu hai:');readln(b); Write('Nhap so thu ba:');readln(c); Write('Nhap so thu tu:');readln(d);

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Writeln('Trung binh cong: ',(a+b+c+d)/4):10:2; Readln end.

Viết chương trình cho phép tính trung bình cộng của bốn số với điều kiện chỉ được Bài tập 6: sử dụng hai biến. (Học sinh t giải)

* CHUYÊN ĐỀ 2: CÂU LỆNH ĐIỀU KIỆN:

+ Dạng thiếu: If <điều kiện> then ; vd: if (x mod 2)=0 then writeln(x,' la so chan'); + Dạng đầy đủ: If <điều kiện> then else ; vd: if (x mod 2) =0 then writeln(x,' la so chan') else writeln(x,' la so le'); Bài 1: Nhập vào ba số a, b, c bất kì. Kiểm tra xem nó có thể là độ dài ba cạnh hay không, nếu không thì in ra màn hình 'Khong la ba canh cua mot tam giac'. Ngược lại, thì in diện tích, chu vi của tam giác ra màn hình. - Xác định bài toán: + Input:a, b, c + Kiểm tra xem có phải 3 cạnh tam giác không? Nếu đúng tính chu vi diện tích - Cách giải: Để thỏa mãn điều kiện 3 canh của tam giác thì: Tổng 2 cạnh lớn hơn một cạnh và a, b, c>0; p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); - Chƣơng trình minh họa: Program TAMGIAC; Uses crt; Var a,b,c,s,p : real; Begin

Clrscr; Writeln(„BAI TOAN TAM GIAC:‟); Writeln('---------------------------------'); Write('nhap a =');readln(a); Write ('nhap b =');readln(b); Write('nhap c =');readln(c); If ((a+b)>c)and((b+c)>a)and((a+c)>b) then

Begin

p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln('Chu vi tam giac:',2*p:4:2) ; Writeln('Dien tich tam giac:',s:4:2); End Else

Trang 11

Writeln(a,‟, „, b,‟, „, c, „ khong phai la ba canh cua tam giac') ; Readln;

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

End. Bài 2: Tìm giá trị lớn nhất trong 4 số a, b, c, d (a, b, c, được nhập từ bàn phím). - Xác định bài toán: + Input: a, b, c, d + Output: Max - Cách giải: Gán giá trị lớn nhất cho a. Lấy lớn nhất lần lượt đi so sánh với các số còn lại. Nếu lớn nhất nhỏ hơn số nào thì lấy số đó gán cho lớn nhất. Đưa lớn nhất ra màn hình. - Chƣơng trình minh họa: Program TIM_SO_LON_NHAT; Uses crt; Var a,b,c,d,max:real; Begin Clrscr; Writeln('TIM SO LON NHAT TRONG BON SO A, B, C, D'); Writeln('---------------------------------------------------------------'); Write('Nhap a='); Readln(a); Write('Nhap b='); Readln(b); Write('Nhap c='); Readln(c); Write('Nhap d='); Readln(d); max:=a; If b>max then max:=b; If d>max then max:=d; Writeln('So lon nhat la:',max:4:2); Readln; End. Bài 3: Giải hệ phương trình tuyến tính: Ax+by=m Cx+dy=n - Xác định bài toán: + Input: a, c, b, d, m, n + Output: x, y - Chƣơng trình minh họa: Program GIAI_HE_HAI_AN; Uses crt; Var a,b,c,d,m,n:real; dx,dy,dd:real;

Trang 12

Begin Clrscr; Writeln(' GIAI HE HAI AN:'); Writeln('----------------------------------'); Write('Nhap a='); readln(a); Write('Nhap b='); readln(b); Write('Nhap c=');readln(c); Write('Nhap m=');readln(m);

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Write('Nhap n='); readln(n); dd:=a*d-b*c; dx:=m*d-b*n; dy:=a*n-c*m; If dd=0 then

If (dx=0) and (dy=0) then

Writeln('He vo so nghiem hoac vo nghiem') Else

writeln('He vo nghiem') Else Begin

Write('He co nghiem :'); Writeln('x=',dx/dd:4:2,' va y=',dy/dd:4:2);

End;

Readln; End. Bài 4: Nhập vào thời gian 1 công việc nào đó là x giây. Hãy chuyển đổi và viết ra màn hình số thời gian trên dưới dạng bằng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây. - Xác định bài toán: + Input: x + Output: Giờ, phút, giây - Chương trình minh họa: Program DOI_GIO_PHUT_GIAY; Uses crt; Var gio, phut,giay, x: longint; Begin

Clrscr; Writeln('DOI SANG GIO PHUT GIAY');

Writeln('--------------------------------------'); Write('Nhap vao so giay: ');readln(x); gio:= x div 3600; x:=x mod 3600; phut:=x div 60; x:=x mod 60; Writeln('Ket qua = ', gio,'gio : ', phut, 'phut : ', x, 'giay'); Readln; End. Bài 5 :

Trang 13

Viết chương trình nhập hai số th c . Sau đó hỏi phép tính cần th c hiện và in kết quả của phép tính đó . Nếu là “+” , in kết quả của tổng lên màn hình . Nếu là “-” , in kết quả của hiệu lên màn hình . Nếu là “/” , in kết quả của thương lên màn hình . Nếu là “*” , in kết quả của tích lên màn hình . Nếu là “+” , in kết quả của tổng lên màn hình .

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Nếu là “+” , in kết quả của tổng lên màn hình .

- Xác định bài toán: + Input: a, b, phép tính + Output: Kết quả phép tính - Chương trình minh họa: Program pheptinh; Uses Crt ; Var a , b , T : Real ; Pt : Char ; BEGIN Clrscr ; Write (' a = ') ; Readln( a ) ; Write (' b = ') ; Readln( b ) ; Write (' Phep tinh thuc hien la (+ - * /) : ') ; Readln( Pt ) ; If Pt = '+‟ Then T := a + b ; If Pt = '-‟ Then T := a - b ; If Pt = '*‟ Then T := a * b ; If Pt = '/‟ Then T := a / b ; Write ( a , pt , b , ' = ', T ) ; Readln ; END .

* CHUYÊN ĐỀ 3: CÁC VÒNG LẶP

1. FOR..TO..DO: Cấu trúc FOR cho phép lặp lại nhiều lần một dãy lệnh. Số lần lặp lại dãy lệnh đã biết trước. Phát biểu FOR có 2 dạng: FOR .. TO .. DO đếm lên FOR .. DOWNTO ..DO đếm xuống * Cú pháp tổng quát là: FOR := TO/DOWNTO DO ; 2. WHILE..DO : Trong khi mà điều kiện còn đúng thì cứ th c hiện Công việc, rồi quay trở về kiểm tra điều kiện lại. Vòng lặp được tiếp tục, đến khi điều kiện đặt ra không còn đúng nữa thì đi tới th c hiện lệnh tiếp theo * Cú pháp : WHILE <điều kiện> DO · Ðiều kiện trong cấu trúc lặp WHILE .. DO là một biểu thức logic kiểu Boolean chỉ có 2 giá trị là Ðúng (True) hoặc Sai (False)

· Nếu điều kiện Ðúng thì chương trình sẽ chạy trong cấu trúc WHILE .. DO. · Sau mỗi lần lặp, chương trình trở lại kiểm tra điều kiện. Tùy theo biểu thức logic của điều kiện là Ðúng hay Sai thì chương trình sẽ th c hiện Công việc tương ứng.

Trang 14

· Nếu Sai thì chuyển xuống dưới cấu trúc WHILE .. DO 3. REAPET..UNTILL Câu lệnh REPEAT .. UNTIL dùng trong các trường hợp khi biến điều khiển không có kiểu rời rạc và đặc biệt trong các trường hợp số lần lặp không biết trước.

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

- Nếu điều kiện logic là Sai (False) thì lặp lại lệnh cho đến khi điều kiện Ðúng thì mới thoát ra khỏi cấu trúc REPEAT .. UNTIL. - Nếu có nhiều câu lệnh thì mỗi lệnh ngăn cách nhau bằng dấu chấm phẩy (;) Công việc của REPEAT và UNTIL không nhất thiết phải dùng lệnh ghép để nhóm từ 2 lệnh đơn trở lên thành công việc. Bài 1: Viết chương trình in ra các số lẻ nhỏ hơn hoặc bằng n ( Với n được nhập). Sao cho 15 số lẻ được in trên một dòng. - Xác định bài toán: + Input: n + Output: Các số lẻ nhỏ hơn n - Cách giải:

- Cho j =0. - Cho biến I chạy từ 1 đến n. - Nếu I chẵn ( I chia 2 dư 0) thì in ra số n và tăng j lên 1 - Nếu j chia hết cho 15 thì th c hiện xuống dòng (Dùng Writeln).

- Chương trình minh họa:

Program In_So_Le; Uses crt; var Dem,i,n: integer; Begin Clrscr; Write('Nhap so n ='); readln(n); Dem:= 0; For i:=1 to n do if i mod 2 =1 then Begin Write(i:3,','); Dem:= Dem + 1; if Dem mod 15 = 0 then Writeln; end; readln end.

Bài 2: Viết chương trình in ra tất cả các ước của một số n (Với n được nhập từ bàn phím) - Xác định bài toán: + Input: n + Output: Các ước của n - Cách giải: - Cho biến i chạy từ 1 đến n.Nếu n chia hết cho i thì in ra i. - Chương trình minh họa:

Trang 15

Program Tim_uoc; uses crt; Var n, i: integer; Begin clrscr; Write('Nhap so n ='); readln(n); For i:=1 to n do if n mod i = 0 then write(i:3,','); readln

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

end.

Bài 3: Một số có tổng các ước nhỏ hơn nó bằng chính nó được gọi là số hoàn chỉnh. Ví dụ: 6 có các ước nhỏ hơn nó là 1, 2, 3. Tổng là 1 + 2 + 3 = 6. Viết chương trình xét xem một số n được nhập từ bàn phím có phải là số hoàn chỉnh không. - Xác định bài toán: + Input: n + Output: Các ước của n sao cho tổng các ước bằng chính nó. - Cách giải:

- Dùng biến n lưu số cần xét. - Biến S có giá trị ban đầu bằng 0. - Cho i chạy từ 1 đến n-1. nếu i là ước của n thì cộng thêm i vào S. - Nếu S = n thì S là số hoàn chỉnh. - Chương trình minh họa:

Program So_Hoan_Chinh; uses crt; var n, i, s: integer; begin write('nhap so n: ');readln(n); s:=0; for i:= 1 to n -1 do if n mod i = 0 then s:=s+i; if s = n then write(n, ' la so hoan chinh') else writeln(n, ' khong phai la so hoan chinh'); readln end.

Bài 4: Viết chương trình xét xem một số n có phải là số nguyên tố không? - Xác định bài toán: + Input: n + Output: Kiểm tra xem n có phải là số nguyên tố không? - Cách giải: + Cho biến i chạy từ 2 đến n – 1 nếu n không chia hết mọi số i thì thì n là số nguyên tố. + Sử dụng biến ok có kiểu boolean và có giá trị ban đầu là true. Cứ mỗi lần xét phép chia n cho i - Chương trình minh họa:

Trang 16

Program Nguyen_to_1; uses crt; var n, i: integer; ok: boolean; begin ok:=true; write('Nhap n: ');readln(n); for i:= 2 to n - 1 do if n mod i = 0 then ok :=ok and false; if ok then write(n,' la so nguyen to') else write(n, ' khong la so nguyen to'); readln end.

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Bài 5: Viết chương trình in ra tất cả các số nguyên tố bé hơn hoặc bằng n? - Xác định bài toán: + Input: n + Output: Các số nguyên tố nhỏ hơn n - Cách giải: + Kiểm tra các số nhỏ hơn n có phải là số nguyên tố:

- Cho biến i chạy từ 2 đến n – 1 nếu n không chia hết mọi số i thì thì n là số nguyên tố. - Sử dụng biến ok có kiểu boolean và có giá trị ban đầu là true. Cứ mỗi lần xét

phép chia n cho i - Chương trình minh họa:

Program Nguyen_to_1; uses crt; var n, i, j: integer; ok: boolean; begin clrscr; write('Nhap n: '); readln(n); for i := 2 to n do begin ok:=true; for j:= 2 to i - 1 do if i mod j = 0 then ok :=ok and false; if ok then write(i,';') end; readln end.

Bài 6: Viết chương trình cho phép nhập nhập một dãy gồm n số nguyên. Nhập thêm một số và chèn thêm vào dãy sau phần tử k. - Xác định bài toán: + Input: n, k + Output: in day mới chèn - Cách giải: + Dời các phần tử từ vị trí k về sau một bước. + Nhập giá trị cần chèn vào vị trí k. - Chương trình minh họa:

Trang 17

Program Mang_chen; uses crt; var M: array[1..100] of integer; i,n,k:integer; begin clrscr; write('Nhap : ');readln(n); for i:=1 to n do begin write('M[',i,']='); readln(M[i]);

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

end; write('Vi tri chen: ');readln(k); for i:=n+1 downto k+1 do M[i]:=M[i-1]; write('Nhap so can chen: '); readln(M[k]); for i:=1 to n+1 do write(M[i],', '); readln end.

Bài 7: Lập trình tính tích các số t nhiên từ 1 tới 10 . - Xác định bài toán: + Input: 1, 2, 3, 4.., 10 + Output: 1*2*3*4* ..*10 - Chương trình minh họa: Var i : Byte ; p : word ; BEGIN p := 1; For i := 1 to 10 Do p := p * i ; Write (' 1 * 2 * ... * 10 = ', p ) ; Readln ; END . Bài 8: Cho số t nhiên n, hãy lập trình để tính các tổng sau :

a. 1 + 1/22 + 1/32 + … + 1/n2 b. 1 + 1/2! + 1/3! + … + 1/n!

Trang 18

a. Var n , i : Word ; S : Real ; BEGIN Write (' Nhap n : ') ; Readln (n) ; S := 0 ; For i := 1 To n Do S := S + 1 / sqr(i) ; Writeln (' S = ', S:0:2) ; Readln ; END . b. Var n , i , j , p : Word ; S : Real ; BEGIN Write (' Nhap n : ') ; Readln(n) ; p := 1 ; s := 0 ; For i :=1 To n Do Begin p := p * i ; (* tính i *) S := S + 1 / p ; End ;

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Trang 19

Writeln (' S = ', S:0:2) ; Readln ; END . Bài 9: Viết chương trình nhập một dãy số tối đa 100 số , sau đó in ra màn hình các số khác nhau . Uses Crt; Var A : Array [1..100] Of Integer; i , j , n : Integer ; BEGIN Clrscr ; Write(' Do dai cua day so N = ') ; Readln (N) ; For I := 1 To N Do Begin Write ('A[', i , ']= ') ; Readln ( A[i] ) ; End ; Writeln (' Cac so khac nhau la : ') ; Writeln ( A[1] ) ; i := 2 ; While i <= N Do Begin j := 1 ; While ( j < i ) and ( A[j] <> A[i] ) Do inc(j) ; If j = i Then Writeln( A[i] ) ; i :=i + 1 ; End ; Readln ; END . Bài 10 : Viết chương trình nhập một dãy số tối đa 100 số , sau đó sắp xếp lại theo thứ t tăng dần . Program sapxep; Uses Crt; Var A : Array [1..100] Of Integer ; i , j , n , T : Integer ; BEGIN Clrscr ; Write(' Do dai cua day so N = ') ; Readln (N) ; Writeln (' Nhap day so : ') ; For i := 1 To N Do Begin Write('A[', i ,'] = ') ; Readln ( A[i] ) ; End ; i := 1 ; While (i <= n-1) Do Begin j := i+1; While j<=n do

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Begin If A[j] < A[i] then Begin T := A[j]; A[j ] := A[i]; A[i] := T ; End ; j := j + 1; End ; i := i + 1; End ; Writeln(' Day sau khi sap xep : ') ; For i := 1 To N Do Write(A[i] : 4) ; Readln Bài 11: Viết chương trình tìm ƯSCLN của N số được nhập từ bàn phím . Program UCLN; Uses crt ; Var a : Array [1..100] Of Integer ; n , i : Byte ; d : integer ; BEGIN Clrscr ; Writeln (' Tim USCLN cua N so :') ; Write (' Nhap so N : ') ; Readln(n) ; Writeln ('Nhap ', N ,' so : ') ; For i := 1 To n Do Begin Write(' So thu ', i ,' = ') ; Readln( a[i] ) ; End ; For i := 1 To n-1 Do Repeat d := a[i] ; a[i] := a[ i+1 ] mod a[i] ; a[i+1] := d ; Until a[i] = 0 ; Writeln (' USCLN cua ', N ,' so la : ', a[n] ) ; Readln ; END .

CHUYÊN ĐỀ 4: DỮ LIỆU KIỂU MẢNG:

Trang 20

Đối với mảng, do chương trình lớp 8 của chúng ta chỉ nghiên cứu mảng một chiều nên trong bài này tôi cũng chỉ giới thiệu một số bài tập tiêu biểu về mảng một chiều mà vẫn chưa đề cập đến mảng 2 chiều. Mảng (Array) là một tập hợp các phần tử cố định có cùng kiểu gọi là kiểu phần tử. Kiểu phần tử có thể là kiểu vô hướng, kiểu String, kiểu tập hợp, kiểu Record.

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

vì số nó chỉ với gần khái toán niệm trong giống

a. Khai báo Cách 1: TYPE =ARRAY[chỉ số] OF ; VAR :; Cách 2: VAR :ARRAY[chỉ số] OF ; Trong đó chỉ số phải là một kiểu miền con, kiểu vô hướng liệt kê, kiểu char hoặc kiểu boolean. {Tuy nhiên. người ta thường dùng kiểu miền con các số nguyên là dễ hình dung học.} nhất Ví dụ: TYPE Mangnguyen = Array[1..5] of Integer; MangKytu = Array[Byte] of Char; VAR A: Mangnguyen; C: MangKytu; Hoặc VAR A: Array[1..5] of Integer; C: Array[Byte] of Char; b. Cách truy xuất {việc truy xuất đến từng phần tử của mảng đế xử lý dữ liệu cũng như việc ta gọi đến tên các lớp học của ta} Mỗi phần tử của mảng được truy xuất thông qua tên biến mảng cùng với chỉ số của mảng trong cặp dấu []. Ví dụ: A[1], A[2],… Chú ý: Hai mảng A và B có cùng số phần tử và cùng kiểu phần tử, ta có thể thay toàn bộ phần tử A bởi các phần tử tương ứng của B bằng một phép gán A := B. Bài 1 :

Lập phương trình tạo ra một mảng chứa bảng cửu chương .

Trang 21

- Xác định bài toán: - Cách giải: Cho 2 vòng for chạy lồng nhau. Lấy các giá trị nhân với nhau. - Chương trình minh họa: Program BCC; Uses Crt ; Var a : Array[1..10, 2..9] Of Byte ; i, j : Byte ; BEGIN Clrscr ; For i := 1 To 10 Do For j := 2 To 9 Do a[i, j] := i*j ; Writeln(' Bang cuu chuong : ') ; Writeln ; For i := 1 To 10 Do For j := 2 to 9 do Write ( j:4 , 'x' , i:2 , '=' , a[i , j]:2) ; Readln ; END.

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Bài 2: Nhập vào mảng 1 chiều gồm 1 dãy số nguyên N phần tử. Hãy xóa các phần tử trùng nhau trong mảng và in kết quả ra màn hình. Ý tưởng: Duyệt mảng 1 chiều bằng 2 biến, nếu phát phát hiện phần tử nào trùng thì xóa phần tử ấy ra khỏi mảng.

Trang 22

Program xoamang; Const Max=100; Var a:Array[1..Max] Of Integer; i,j,k,n:Integer; Begin Writeln('XOA BO CAC SO TRUNG NHAU'); Writeln('------------------------'); Writeln; Write('-Nhap so phan tu mang: '); Readln(n); For i:=1 To N Do Begin Write('-Phan tu A[',i,']= '); Readln(a[i]); End; i:=2; While i <= N Do Begin j:=1; While a[j] <> a[i] Do j:=j+1; If j < i Then Begin For k:=i to n-1 Do a[k]:= a[k+1]; n:=n-1; End Else i:=i+1; End; Writeln; Write('-Mang con lai: '); For i:=1 to n Do Write(a[i]:8); Writeln; Writeln(' Bam phim de ket thuc '); Readln End.

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Trang 23

Bài 3: Viết CT nhập từ bàn phím mảng 1 chiều và xóa 1 phần tử của mảng có n phần tử. var n,i,q,k,p:integer; a,b:array [1..1000] of integer; begin write('n= ');readln(n); for i:=1 to n do begin write('a[',i,']= '); readln(a[i]); end; write('Xoa pt co vi tri la: ');readln(p); q:=0; for i:=1 to n do if q<>p then begin inc(q); b[q]:=a[i]; end; writeln('Mang sau khi xoa la: '); for i:=1 to q do write(b[i],' '); readln end. Bài 4: Viết chương trình nhập vào một mảng A gồm N số nguyên và nhập thêm vào một số nguyên X. var n,i,q,k,p,:integer; a,b:array [1..1000] of integer; begin write('n= ');readln(n); for i:=1 to n do begin write('a[',i,']= '); readln(a[i]); end; write('-Chen pt va vi tri cua pt do: ');readln(k,p); q:=0; for i:=1 to n do begin inc(q); if q=p then begin b[q]:=k; inc(q); end;

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

b[q]:=a[i]; end; writeln('-Mang sau khi chen la: '); for i:=1 to q do write(b[i],' '); readln end. Bài 5: Chương trình nhập mảng một chiều gồm n phần tử n<=100 kiểu nguyên rồi th c hiện a. Đếm số lượng phần tử dương cho kết quả ra màn hình

b. Tính tổng các phần tử dương trong mảng.

c. Tính trung bình các phần tử trong mảng.

d. Tính trung bình các phần tử dương trong mảng

e. Tìm vị trí đầu tiên của phần tử =k với k nhập từ bàn phím.

f. Tìm vị trí phần tử =k với k nhập từ bàn phím, nếu có nhiều phần tử =k thì hiển thị ra màn hình tất cả vị trí phần tử=k đó.

g. Đếm số lượng phần tử là nguyên tố trong mảng.

h. Kiểm tra mảng vừa nhập có phải là cấp số cộng hay không?

i. Sắp xếp mảng theo thứ t tăng dần các phần tử và hiển thị ra màn hình mảng tăng đó

: integer;

Prgram BAI_5; Uses crt; Var A : array[1..100] of integr; i, k,demd, s, demnt, tg,n, d, dd,j tb, tbm : real; Begin

Writeln(„nhap so hang thu‟, I, „A[„,I,‟]= „); Readln(A[i]);

Begin End;

Trang 24

Clrscr; Writeln(„nhap so luong phan tu cua mang‟); readln(n); Writeln(„-------nhap mang-----------„); For i :=1 to n do demd :=0; For i :=1 to n do if A[i]>0 then demd :=demd+1; Writeln(„ so luong phan tu duong cua mang la‟, demd); s :=0; For i :=1 to n do if A[i]>0 then s :=s+ A[i];

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

if A[i]>0 then s :=s+ A[i]; demd :=d+1;

If A[j]=k then write(j : 5); j :=j+1;

Writeln(„ tong cac phan tu duong cua mang la‟, s); s :=0; For i :=1 to n do s :=s+A[i]; tbm :=s/n; Writeln(„ trung binh cac phan tu cua mang la ‟, tbm : 6 : 2); s :=0; demd :=0; For i :=1 to n do Begin End; tb :=s/demd; Writeln(„ trung binh cac phan tu duong cua mang la ‟, tb : 6 : 2); Writeln(„ nhap gia tri can tim vi tri ‟); readln(k); J :=1; While (j<=n) And (A[j]<>k) do j :=j+1; If j> n then Writeln(„khong co gia tri ‟, k, ‟ trong mang‟) Else Writeln(k, „ nam o vi tri thu ‟, j,‟ trong mang‟); Writeln(„ nhap gia tri can tim vi tri ‟); readln(k); J :=1; writeln(„cac vi tri xuat hien cua ‟,k,‟ trong mang la‟); While (j<=n) do Begin end; Demnt :=0; For i:=1 to n do

Begin j:=2; While( j<=A[i] - 1 ) And (A[i] mod j<>0) do Begin

J:=j+1; If j> A[i] - 1 then demnt :=demnt+1;

End;

j:=3; Writeln(„ so luong phan tu la nguyen to la‟, demnt); d :=A[2]-A[1]; While (j<=n) And (A[j]-A[j-1]=d) do j:=j+1;

if j>n then Writeln(„ mang vua nhap la cap so cong‟) else Writeln(„ mang vua nhap khong phai la cap so cong‟);

For i :=1 to n do For j :=i+1 to n-1 do

If A[j]>A[j+1] then Begin {doi vi tri hai phan tu A[j] va A[j+1]}

Trang 25

tg :=A[j]; A[j] :=A[j+1];

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

A[j+1] :=tg; End; Writeln(„mang sau khi duoc sap xep la‟); For i :=1 to n do write(A[i] : 5); Readln

END. Bài 6: Viết chương trình nhập vào một mảng 1 chiều A có N phần tử các số nguyên (N<=100). Nhập 1 số nguyên X, kiểm tra X có trong mảng hay không? Nếu có cho biết vị trí của phần tử đó. Bài 7: Viết chương trình nhập vào một mảng 1 chiều A có N phần tử các số nguyên (N<=100). In ra màn hình Dòng 1 : Các số nguyên tố Dòng 2 : Các số không nguyên tố. Bài 8: Viết chương trình nhập vào một mảng một chiều A có N phần tử các số nguyên(N<=100). Kiểm tra các phần tử khác nhau trong mảng. Ví dụ : Nhập vào : 5 3 7 9 5 7 11 5 7 -2 5 8 -2 In ra : 5 3 7 9 11 -2 4 8

Trang 26

CHUYÊN ĐỀ 5: XÂU KÍ TỰ - Xâu kí t là một chuyên đề nâng cao trong bài viết này nhưng do quá trình bồi dưỡng củng như quá trình nghiên cứu tôi t nhận thấy chương trình này không quá khó hiểu với đối tượng học sinh của mình vì vậy tôi đã mạnh dạn đưa nội dung này vào bồi dưỡng và một số bài ra cũng đã có nội dung này. - Xâu ký t là dữ liệu bao gồm một dãy các ký t trong bảng mã ASSCII. a. Cách khai báo: Var: STRING[độ dài của xâu]; - Xâu ký t trong bộ nhớ nó chiếm số byte bằng số ký t c c đại được khai báo cộng với byte đầu tiên chứa số ký t hiện có của xâu. Độ dài tối đa của xâu ký t là 255. - Cách nhập/xuất: Cách đọc hay viết kiểu STRING cũng tương t như các kiểu dữ liệu khác, ta sử dụng các thủ tục READ, hoặc WRITE. Ví dụ: Readln(st); Writeln(st); - Truy cập từng phần tử của xâu ký t : tương t mảng 1 chiều: thông qua tên biến kiểu STRING và chỉ số của nó Ví dụ: St := 'Le Thanh Lam'; write(st[4]); -> Kết quả: cho ra chữ T. b. Các thao tác trên xâu ký t : 1/ Phép cộng xâu: Ví dụ: st1:=‟Le‟; st2:=‟Thanh‟; St=st1 + st2; -> KQ: „Le Thanh‟ 2/ Phép so sánh: - Hai xâu ký t có thể so sánh với nhau bằng các phép so sánh =, >, <…

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Trang 27

Nguyên tắc so sánh th c hiện như sau, chúng sẽ đem từng ký t tương ứng với nhau để so sánh, xâu nào có ký t có số thứ t trong bảng mã ASCII lớn hơn thì xâu đó lớn hơn. Hai xâu ký t được gọi là bằng nhau khi chúng hoàn toàn giống nhau (có độ dài như nhau). Ví dụ: „FILENAME‟ = ‟FILENAME „ 3/ Các thủ tục và hàm chuẩn xử lý xâu ký t * Hàm length(st): cho độ dài th c của xâu ký t ví dụ: st:=‟le thanh‟ thì LENGTH(st) cho bằng 8. * Thủ tục DELETE(st, pos, num): xóa num ký t trong xâu st kể từ vị trí pos Ví dụ: st= „FILENAME‟ Delete(st,5,4) lúc đó st cho ra là „FILE‟ * Thủ tục INSERT(obj, st, pos): Thủ tục cho kết quả bằng cách chèn xâu ký t có tên là Obj vàoxâu st tại vị trí pos, những ký t đứng sau pos sẽ được dời vềphía sau của xâu ký t obj. Ví dụ: obj:= „Thanh „ st:=‟Le Lam‟; INSERT(obj,st,4) lúc đó st=‟Le Thanh Lam‟; * Thủ tục STR(value, st): Thủ tục này th c hiện việc chuyển đối giá trị kiểu số(value) sang dạng xâu ký t và gán cho biến st. Ví dụ: n là một só nguyên có giá trị: n:=150; STR(n:5,st) sẽ cho kết quả xâu st là: st=‟ 150‟; * Thủ tục VAL(st, value,code) đối một xâu ký t st sang dạng số và gán cho biến value, nếu biến đối thành công thì code sẽ nhận giá trị bằng 0. ngược lại thì cho giá trị khác không Ví dụ: VAL(„123‟,value,code) lúc này code sẽ nhận giá trị bằng 0 và value=123 * Hàm COPY(st, pos, num): sao chép trong xâu st, num ký t tại vị trí pos, Ví dụ: st=‟Le Thanh Lam‟ COPY(st,4,5) = „Thanh‟; * Hàm CONCAT(s1,s2,…,sn): hàm cho ra 1 xâu mới bằng cách nối đuôi các xâu s1,s2,…,sn lại với nhau. Ví dụ: CONCAT(„Le ‟,‟Thanh „, „Lam‟) = „Le Thanh Lam‟; * Hàm POS(st1,st2): hàm cho tavị trí tìm thấy đầu tiên của xâu s1 trong xâu s2. Ví dụ: POS(„Lam‟,„Le Thanh Lam‟) = 10; Bài 1: Viết chương trình nhập vào từ bàn phím một xâu kí t S và thông báo ra màn hình số lần xuất hiện của mổi chứ cái tiếng Anh trong S ( không phân biệt chữ hoa và chữ thường). Uses Crt; Var St:String; dem: Array[„A‟..‟Z‟] Of Byte; i:Byte; ch:Char; Begin Write(„Nhap xau St: „); Readln(St); For ch:=‟A‟ To „Z‟ Do dem[ch]:=0; For i:=1 To Length(St) Do

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Trang 28

If Upcase(St[i]) IN [„A‟..‟Z‟] Then Inc(dem[Upcase(St[i])]); For ch:=‟A‟ To „Z‟ Do If dem[ch]>0 Then Writeln(ch,‟ : ‟,dem[ch]); Readln; End. Bài 2: Viết chương trình nhập vào xâu, đưa ra xâu đảo theo từ. Ví dụ: đi xe đạp -> đạp xe đi. uses crt; var s:string; x,y,z,t:byte; begin write('Nhap vao mot xau: '); readln(s); z:=length(s); for y:=length(s) downto 1 do begin if ((s[y]=' ')or(y=1)) then begin for t:=y to z do write(s[t]);z:=y end; write(' '); end; readln; end. Bài 3: Viết ct nhập vào xâu có cả chữ và số, rồi cho xuất ra có bao nhiêu kí t chữ và bao nhiêu kí t số. var s: string;cs,cc,i: integer; begin write('Nhap mot xau ky tu: '); readln(s); cs:=0; cc:=0; for i:=1 to length(s) do begin if (s[i] in ['0'..'9']) then cs:=cs+1; if s[i] in ['A'..'Z'] + ['a'..'z'] then cc:=cc+1; end; write('So cac ki tu la chu so:',cs:2,' So cac ki tu la chu cai:',cc:4); readln end. Bài 4: Viết chương trình nhập một xâu ký t St từ bàn phím và một ký t ch. In ra màn hình xâu St sau khi xóa hết các ký t ch trong xâu đó. var St:string; n:char; i:byte; begin writel(' Nhap chuoi : '); readln(st); write(' Nhap ki tu : '); readln(n); for i:=1 to length(st) do if st[i] = n then delete(st,i,1);

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

Trang 29

writeln('Chuoi sau khi xoa: ',st); readln end. c) Điều kiện để thực hiện giải pháp – biện pháp: * Đối với giáo viên đƣợc phân công bồi dƣỡng học sinh giỏi: - Phải có tinh thần trách nhiệm cao, nhiệt tình với công việc. Tạo được niềm tin cho học sinh và cần phải gần gũi với học sinh. - Chọn đúng đối tượng học sinh giỏi cho bộ môn Tin học - Lập được kế hoạch bồi dưỡng. - Ngoài nghiên cứu những bộ đề, những sách nâng cao, mỗi giáo viên chúng ta cần lên mạng để tìm hiểu thêm thông tin liên quan đến bộ môn tin học, để có kế hoạch bồi dưỡng đạt kết quả tốt nhất. - Giáo viên chỉ định hướng cho học sinh giải và kiểm tra lại cách giải của học sinh. Giúp học sinh thấy được những sai sót của bản thân và t tìm cách khắc phục. - Mỗi giáo viên phải t xây d ng bộ đề bồi dưỡng học sinh giỏi bộ môn tin học. * Đối với học sinh: - Yêu thích bộ môn mình l a chọn. - Say mê tìm tòi, sáng tạo, có tư duy lôgíc. - Biết xây d ng cho bản thân kế hoạch ôn tập. - Không thụ động trong quá trình tiếp thu kiến thức. - T mình tìm ra cách giải trên s gợi ý của giáo viên d/ Kết quả khảo nghiệm, giá trị khoa học của vấn đề nghiêm cứu: - Với việc ứng dụng đề tài này vào việc bồi dưỡng học sinh giỏi, tôi cùng các trường đã khảo nghiệm ở học sinh, tôi thấy các em ngày càng yêu thích bộ môn tin học hơn tham gia vào đội tuyển học sinh giỏi ngày càng nhiều hơn và kết quả đội tuyển d thi đạt kết quả ngày càng cao hơn. Kết quả đội tuyển bộ môn Tin học của huyện d thi cấp tỉnh đạt như sau: + Năm học 2012 – 2013 trường THCS Buôn Trấp có 05 em đạt giải cấp huyện, 03 em d thi cấp tỉnh và đạt 1 giải khuyến khích cấp tỉnh. + Năm học 2013 – 2014 trường THCS Buôn Trấp có 05 em đạt giải cấp huyện, 02 em đạt giải khuyến khích cấp tỉnh. + Năm học 2014-2015 trường THCS Buôn Trấp có 04 em đạt giải cấp huyện. 4) Kết quả: - Qua so sánh kết quả học sinh giỏi của trường cũng như của Phòng giáo dục huyện trong những năm gần đây và những năm trước, tôi thấy đội tuyển học sinh giỏi đã tăng cả số lượng và chất lượng. III. KẾT LUẬN, KIẾN NGHỊ: 1) Kết luận:

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

- Nhằm nâng cao hiệu quả và chất lượng trong công tác bồi dưỡng học sinh giỏi bộ môn tin học, giáo viên phải th c hiện chiến lược lâu dài, phải tìm kiếm được đối tượng học sinh có năng khiếu đặc biệt đối với bộ môn thông qua bài giảng với những câu hỏi và tình huống nhanh để phát hiện đối tượng có năng khiếu đặc biệt đó. - Người giáo viên phải có phương pháp giảng dạy sao cho lôi cuốn học sinh và tạo được s đam mê để chính các em yêu thích và khám phá môn học do các em l a chọn. - Qua nhiều năm áp dụng nội dung nghiên cứu này, chúng tôi nhận thấy số lượng học sinh tham gia trong các kỳ thi học sinh giỏi bộ môn tin học ngày càng nhiều, chất lượng của các em học sinh cũng được nâng lên rõ rệt. 2) Những kiến nghị đề xuất: * Đối với Phòng Giáo dục và Đào tạo: - Lãnh đạo phòng, lãnh đạo các trường nên tiếp tục duy trì công tác tổ chức thi học sinh giỏi môn tin học từ lớp 8, để giáo viên có cơ sở bồi dưỡng, học sinh xác định được hướng l a chọn cho bản thân. - Các đề thi học sinh giỏi huyện không nên tập trung vào một phần mà cần mở rộng kiến thức hơn. * Đối với các trƣờng: - Nên tổ chức chuyên đề bồi dưỡng học sinh giỏi ở các cụm trường với nhau, để trao đổi, học hỏi kinh nghiệm lẫn nhau. - Cần chú trọng hơn nữa công tác bồi dưỡng học sinh giỏi nói chung môn Tin học nói riêng. - Có chế độ động viên kịp thời những giáo viên có học sinh đạt kết quả cao trong các kì thi. * Đối với giáo viên: - Giáo viên cần đầu tư hơn về công tác chuyên môn, cũng như công tác bồi dưỡng học sinh giỏi bộ môn. - Mỗi giáo viên được phân công bồi dưỡng, nên có bộ đề cũng như kế hoạch bồi dưỡng cụ thể, để tránh thụ động trong quá trình bồi dưỡng. - Chỉ tạo ra khung để học sinh t hoàn thiện bài giải. * Tài liệu tham khảo: + SGK tin học quyển 3, SGK tin học lớp 11 + Các bài tập Pascal nâng cao + Sách hướng dẫn học tốt môn Pascal + ...

Krông Ana, ngày 12 tháng 03 năm 2015 Ngƣời viết đề tài:

Trang 30

Nguyễn Thị Thu Thủy

Kinh nghiệm bồi dưỡng học sinh giỏi môn tin học lớp 9.

NHẬN XÉT CỦA HỘI ĐỒNG SÁNG KIẾN: ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… CHỦ TỊCH HỘI ĐỒNG SÁNG KIẾN ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ………………………………………………………………………………………………

Trang 31

( Ký tên, đóng dấu)